用一個C語言來測試4X4按鍵功能是否正常工作
上傳時間: 2017-07-25
上傳用戶:宋桃子
德州儀器新款DSP TMS320C2834X 晶片 SCI 自動 BAUD 偵測程式設計.
上傳時間: 2013-12-01
上傳用戶:ayfeixiao
現代交流調速系統中,永磁同步電機(PMSM)由于其良好的性能,正得到越來越廣泛地應用。永磁同步電機的控制策略有很多,不同的控制策略各有千秋。有的滿足了高性能要求,但成本卻很高;有的滿足了硬件低成本要求,但軟件算法非常復雜、或者性能不理想,等等。因此,針對實際的應用場合,開發出性能價格比優越的控制器系統是非常有價值的。 本課題就是基于此思想,兼顧硬件成本和軟件可行性,運用低成本策略、較優的軟件算法設計出雙閉環控制器系統,在低成本傳感器條件下實現了永磁同步電機正弦波驅動控制。 本文根據永磁同步電機磁場定向下的空間矢量數學模型,對其控制所需的位置、速度和電流參數展開分析。提出了基于離散位置信號進行位置預估的原理,并分析了復雜工況下位置信號的矯正問題。利用BLDC方式與SVPWM方式的轉換,解決了肩動過程中永磁同步電機脈動和失步問題。分析了基于英飛凌XC164CM單片機系統直流側電阻采樣計算相電流原理。設計了基于英飛凌XC164CM單片機的控制系統,外圍功率驅動電路以及過電流保護等電路。編制了基于離散位置信號的永磁同步電機電壓空間矢量(SVPWM)控制策略的C語言程序,完成了軟件和系統的調試。 最后,進行了一系列的實驗論證,并取得了理想的效果。
上傳時間: 2013-04-24
上傳用戶:gaorxchina
隨著國內交流伺服電機等硬件技術逐步成熟,高運算能力的控制芯片與電機控制技術相結合,具有高效、節能和可移植性好等特點,這樣使得交流伺服系統成為現代電機伺服驅動系統的一個發展趨勢。 本文主要是基于MCU研究和設計了交流永磁電機位置伺服控制系統。針對三相永磁同步電機的物理方程,通過坐標轉換,在d-q旋轉坐標系下建立轉矩方程,采用Id=0的矢量控制策略,建立一套完整的全數字交流位置伺服控制系統。 硬件方面,采用的是瑞薩公司專用電機控制Tiny系列芯片M30262F8作為控制芯片,并由三菱公司的第三代IPM模塊PS21564實現功率驅動,簡化了系統電路,縮小了系統的體積,提高了系統的可靠性。由交流電流傳感器檢測三相定子繞組電流;由增量式磁性編碼器檢測永磁轉子位置,并設計一種比較快速的轉子初始檢測方法。 軟件方面,采用結構化語言C和單片機M16C匯編語言混編,實現了單片機初始化、三環控制、電流跟隨型PWM控制,提高編寫代碼的效率,同時保證系統的實時控制性能;由軟件方式實現經典PID控制和簡單模糊控制相結合構成“串聯校正”閉環控制系統,提高了系統的快速性和抗干擾能力。此外,本文對控制策略進行了研究,闡述了模糊PID控制策略;還介紹了SPWM、SVPWM和跟隨型PWM調制。 實驗結果表明,本文所設計的伺服控制系統能實現電機的啟動,調速和定位等,并能達到系統的性能指標。
上傳時間: 2013-05-19
上傳用戶:327000306
本文以倒立擺控制系統控制為例,介紹Borland C++ Builder 在數據采集、處理中的應用,并根據系統控制算法控制電機左右運動,從而保證倒立擺能穩定地站立在豎直位置。關鍵詞: C++
上傳時間: 2013-04-24
上傳用戶:Shoen
STM32,5110液晶顯示聲納探魚器200KHz,帶電路圖,精確到厘米 MC34063升壓,大聲壓發射,實際板子上濾波電路沒要(電路圖上的濾波電阻電容電感沒焊,開路或者短路)。一般200KHz的換能器在水里面的耦合比較好,在空氣中發射出來的(或者接收的)強度很低。 用的MOSFET Relay,contact和release時間都可以做到很小,不過選的是比較低端器件,所以最近測量距離為70cm。 開源啦開源啦 架構為狀態機+任務流,Task都是放在函數指針數組里面的 Task分兩種,routine的和錯誤處理的 5110液晶的SPI用的DMA 基本上STM32和C語言高階的特征都用上了,稍微修改直接可以商用 Open Issue 偶爾會hardware fault或者memory fault,然后watchdog重啟, 應該比較好解決,仔細檢查下就好 有什么問題代碼的file comment里面有我聯系地址 有能搞到好的器件也請知會我,多謝了 接下來準備把它裝到船模上,用以前四軸的那套東西,就看什么時候有時間了
上傳時間: 2013-10-28
上傳用戶:songyue1991
C函數速查手冊 出版社:人民郵電出版社 《C函數速查手冊》中所講的C語言函數按照功能順序和字母順序進行排序,讀者既可以按照功能順序查找,也可以按照字母順序學習。《C函數速查手冊》不僅適合于C語言初學者學習使用,而且也可以作為中、高級C語言開發人員的參考手冊。 目錄 第1章 數學函數 1.1 _clear87函數:清除浮點狀態字 1.2 _status87函數:取浮點狀態字 1.3 abs函數:求整數的絕對值 1.4 acos、acosl函數:反余弦函數 1.5 asin、asinl函數:反正弦函數 1.6 atan函數:反正切函數 1.7 atan2、atan2l函數:計算Y/X的反正切值 1.8 cabs函數:計算復數的模 1.9 ceil函數:向上取整 1.10 cos函數:余弦函數 1.11 cosh函數:雙曲余弦函數 1.12 div函數:求兩個整數相除的商和余數 1.13 exp函數:指數函數 1.14 fabs函數:求浮點數的絕對值 1.15 floor函數:向下取整 1.16 fmod函數:計算x對y的模 1.17 frexp函數:將浮點數分為底數與指數 1.18 hypot函數:計算直角三角形的斜邊 1.19 labs函數:取長整數的絕對值 1.20 ldexp、ldexpl函數:冪計算 1.21 ldiv函數:兩個長整型數相除 1.22 log、logl函數:計算自然對數 1.23 log10、log10l函數:計算常用對數 1.24 max函數:求兩個數中的最大者 1.25 min函數:求兩個數中的最小者 1.26 modf、modfl函數:分割數為整數部分和小數部分 1.27 poly函數:計算多項式 1.28 pow函數:指數函數 1.29 pow10函數:指數函數 1.30 rand函數:隨機數發生器 1.31 random函數:隨機數發生器 1.32 randomize函數:初始化隨機數發生器 1.33 sin函數:正弦函數 1.34 sinh函數:雙曲正弦函數 1.35 sqrt函數:計算平方根 1.36 srand函數:初始化隨機數發生器 1.37 tan、tanl函數:正切函數 1.38 tanh、tanhl函數:雙曲正切函數 第2章 字符串函數 2.1 atof函數:把字符串轉換成浮點數 2.2 atoi函數:將字符串轉換成整型數 2.3 atol函數:將字符串轉換成長整型數 2.4 ecvt函數:將浮點數轉換為字符串 2.5 fcvt函數:將浮點數轉換為字符串 2.6 gcvt函數:將浮點數轉換成字符串 2.7 itoa函數:將整數值轉換為字符串 2.8 isalnum函數:字母、數字判斷函數 2.9 isalpha函數:字母判斷函數 2.10 isascii函數:整數值的字符分類 2.11 iscntrl函數:控制字符判斷函數 2.12 isdigit函數:數字判斷函數 2.13 isgraph函數:打印字符判斷 2.14 islower函數:小寫字母判斷函數 2.15 isprint函數:可打印字符判斷函數 2.16 isptmct函數:標點符號判斷函數 2.17 isspace函數:空格等判斷函數 2.18 isupper函數:大寫字母判斷函數 2.19 isxdigit函數:十六進制數字判斷函數 2.20 ltoa函數:將長整值轉換為字符串 2.21 mbstowcs函數:將多字節字符序列轉換成相應的寬字符序列 2.22 mbtowc函數:將多字節字符轉換成相應的寬字符 2.23 stpcpy函數:復制字符串 2.24 strcat函數:拼接字符串 2.25 strchr函數:查找給定字符 2.26 strcmp函數:比較字符串 2.27 strcmpi函數:比較字符串 2.28 strcpy函數:復制字符串 2.29 strcspn函數:查找不包含指定字符集子串的段 2.30 strdup函數:將字符串復制到新建的位置 2.31 stricmp函數:比較字符串 2.32 strlen函數:獲取字符長度
上傳時間: 2014-12-25
上傳用戶:水口鴻勝電器
c語言編程軟件vc6.0使用教程,附件包含二個教程文件,VC++6.0培訓教程完整版及VC6.0介紹。 Visual C++ 6.0,簡稱VC或者VC6.0,是微軟的一款C++編譯器,將“高級語言”翻譯為“機器語言(低級語言)”的程序。Visual C++是一個功能強大的可視化軟件開發工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已成為專業程序員進行軟件開發的首選工具。雖然微軟公司推出了 Visual C++.NET(Visual C++7.0),但它的應用有很大的局限性,只適用于Windows 2000、Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C++6.0為平臺。 vc6.0使用你首先要打開VC6.0界面,一般用得較多的是Win32控制臺應用程序(源程序,擴展名.cpp), 步驟是:(先工程—后文件—編譯—連接---運行) 1,建立一個工程,“文件”——“新建”,出現下面界面:選擇“Win32 Console Application”(控制臺應用程序,左邊倒數第三個),命名工程名稱,選擇保存位置。 點擊“確定”,進入下一步,看到如下提示界面: 建立一個空工程,對應其他需要的你一可以建立別的工程;點擊“完成”,之后 顯示你創建的工程的信息。 2,再在有一個的工程的條件下,我們再建立一個源文件; “文件”——“新建”(快捷鍵Ctri+N),出現: 建立源文件,選擇“C++ Source ”,一般都是建立這種文件的(適用在當文件中適用)如果要建立頭文件的話,選擇“C/C++ Header File”,(適用在多文件工程中使用)命名,文件名稱,點擊“確定”,之后: 進入編輯區,在主界面編寫代碼:如下編寫完之后呢: 可以按編譯按鈕 調試程序,看看有沒有錯誤,有的話改正,沒有的話就可以再按連接按鈕 檢查連接(多文件工程時常用,檢查文件間是否正常連接),最后,點運行按鈕 ,就可以運行了。 如果是您有代碼如:cpp文件,或 .h 文件,想添加都VC6.0里來測試的話,可以這樣做: 首先,要理解一下 文件擴展名為:cpp和.h 文件擴張名是.h,代表的是頭文件,一般是書寫一些函數原型,以及一些在整個程序中常用到的結構體,頻繁使用的函數說明,定義等等; 文件擴張名為,cpp的,是C++中的源文件,也是最常用到的文件,每建立一個工程都要至少一個源文件(至少要有一個函數入口——主函數main() ),包含了核心代碼; 建立與運行說明:(以VC 6.0編譯器為例,其他編譯器類似) 首先,打開VC 6.0編譯環境; 在菜單欄——文件(的下拉菜單中選擇“新建”),在彈出的選擇窗口中,選擇 Win32 Console Application(控制臺應用程序) ,在填寫工程名稱,選擇一個程序保存路徑, 點擊“完成”,查看工程信息。 在點擊“確定”,就建立一個簡單的工程了。 再點擊左邊的工程信息右下角的“FileView”選項; 可以看到你新建的工程,再雙擊你新建的工程名 可以查看工程的信息。 在雙擊工程文件,在這里是 777.files,可以看到該工程的包含的文件。 其中,Source Files 為包含所有工程的源文件 Header Files 為包含所有工程的頭文件 在源文件選項“Source Files ”,右鍵單擊中的“添加目錄到工程”,添加你要打開的擴展名為 .cpp的源文件。在頭文件選項“ Header Files”,右鍵單擊中的“添加目錄到工程”,添加你要打開的擴展名為 . h的頭文件。添加完你所有的頭文件和源文件之后,檢查一下是否添加完畢,之后就可以編譯了。 其中第一個按鈕 為編譯按鈕,可以找出工程的錯誤信息,有錯誤修改,沒錯誤就可以跳到連接 ,編譯右邊的按鈕 ,即第三個按鈕(多文件工程一定要連接,查看文件是否準確相連接) 當編譯,連接都沒有錯誤時,可以按運行按鈕 ,即可以運行了。 相關資料:vc6.0中文綠色版下載
上傳時間: 2013-10-30
上傳用戶:tianjinfan
《現代微機原理與接口技術》實驗指導書 TPC-H實驗臺C語言版 1.實驗臺結構1)I / O 地址譯碼電路如上圖1所示地址空間280H~2BFH共分8條譯碼輸出線:Y0~Y7 其地址分別是280H~287H、288H~28FH、290H~297H、298H~29FH、2A0H~2A7H、2A8H~2AFH、2B0H~2B7H、2B8H~2BFH,8根譯碼輸出線在實驗臺I/O地址處分別由自鎖緊插孔引出供實驗選用(見圖2)。 2) 總線插孔采用“自鎖緊”插座在標有“總線”區引出數據總線D7~D0;地址總線A9~A0,讀、寫信號IOR、IOW;中斷請求信號IRQ ;DMA請求信號DRQ1;DMA響應信號DACK1 及AEN信號,供學生搭試各種接口實驗電路使用。3) 時鐘電路如圖-3所示可以輸出1MHZ 2MHZ兩種信號供A/D轉換器定時器/計數器串行接口實驗使用。圖34) 邏輯電平開關電路如圖-4所示實驗臺右下方設有8個開關K7~K0,開關撥到“1”位置時開關斷開,輸出高電平。向下打到“0”位置時開關接通,輸出低電平。電路中串接了保護電阻使接口電路不直接同+5V 、GND相連,可有效地防止因誤操作誤編程損壞集成電路現象。圖 4 圖 55) L E D 顯示電路如圖-5所示實驗臺上設有8個發光二極管及相關驅動電路(輸入端L7~L0),當輸入信號為“1” 時發光,為“0”時滅6) 七段數碼管顯示電路如圖-6所示實驗臺上設有兩個共陰極七段數碼管及驅動電路,段碼為同相驅動器,位碼為反相驅動器。從段碼與位碼的驅動器輸入端(段碼輸入端a、b、c、d、e、f、g、dp,位碼輸入端s1、 s2)輸入不同的代碼即可顯示不同數字或符號。
上傳時間: 2013-11-22
上傳用戶:sssnaxie
光盤內容1.1例 程 “例程”文件夾中為各章節的程序代碼,均在作者的目標板上(自行開發)調試通過,以確保程序正確。n Keil C對中文文件、目錄以及空格等可能無法編譯連接,所以若要正確調試,須確保所有文件、目錄為連續英文名或數字。n 這些程序應用到其他C8051Fxxx系列單片機時,要確保各個操作寄存器的名稱、地址與各個控制位相一致,否則需要修改。很多寄存器位的位置并不相同,所以移植程序時,使用者要參考F040寄存器和移植對象單片機的寄存器,以確保正確操作。1.2 原理圖及pcb封裝“原理圖及pcb封裝”文件夾里包含作者制作的C8051F040PCB封裝和原理圖引腳定義文件c8051f040.ddb。其中PCB封裝與Silicon Laboratories公司(原Cygnal公司)提供的TQ100封裝稍有不同(在cygnalpcb文件中): 作者所做引腳長為2.5 mm,而cygnalpcb文件中的引腳長為1.3 mm。加長引腳焊盤是為了方便手工焊芯片。用戶可根據需要和習慣選擇封裝。
上傳時間: 2013-11-19
上傳用戶: