基于DSP的直流電機(jī)控制系統(tǒng)_第1頁
基于DSP的直流電機(jī)控制系統(tǒng)_第2頁
基于DSP的直流電機(jī)控制系統(tǒng)_第3頁
基于DSP的直流電機(jī)控制系統(tǒng)_第4頁
基于DSP的直流電機(jī)控制系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、太原科技大學(xué)課程設(shè)計(jì)報(bào)告直流電機(jī)的控制設(shè) 計(jì) 人:成鳳強(qiáng)專業(yè):電子信息工程班級:電子131502學(xué)號:201315020204指導(dǎo)教師:張雄二零一六年十二月第一章設(shè)計(jì)目的及要求2一、設(shè)計(jì)目的 2二、設(shè)計(jì)要求 2第一章 設(shè)計(jì)原理與方案2一、設(shè)計(jì)原理 2二、控制原理 5第三章硬件設(shè)計(jì)6一、ICETEK DSP教學(xué)實(shí)驗(yàn)箱簡介 6第四章軟件設(shè)計(jì)14一、程序編制 14二、實(shí)驗(yàn)程序流程圖14第五章系統(tǒng)調(diào)試15一、實(shí)驗(yàn)準(zhǔn)備 16二、實(shí)驗(yàn)程序 17第六章結(jié)論分析171第一章設(shè)計(jì)目的及要求一、設(shè)計(jì)目的1. 學(xué)習(xí)用 C語言編制中斷程序,控制VC5416 DSP的通用I/O 管腳產(chǎn)生不同占空比的PWM信號。2. 學(xué)

2、習(xí)VC5416DSP的通用I/O 管腳的控制方法。3. 學(xué)習(xí)直流電機(jī)的控制原理和控制方法。二、設(shè)計(jì)要求開始運(yùn)行程序后,電機(jī)以中等速度轉(zhuǎn)動( 占空比=60, 轉(zhuǎn)速 =2)。在小鍵盤上按數(shù)字1一5鍵將分別控制電機(jī)從低速到高速轉(zhuǎn)動 ( 轉(zhuǎn)速 =1 -5) 。在小鍵盤上按數(shù)字0鍵將控制電機(jī)停止轉(zhuǎn)動。在小鍵盤上按+或一鍵切換電機(jī)的轉(zhuǎn)動方向。第一章 設(shè)計(jì)原理與方案一、設(shè)計(jì)原理第一步TMS 初始化。第二步PWM調(diào)速。第三步鍵盤控制1.TMS320VC516 DSP的 McBSP引腳: 通過設(shè)置McBSP的工作方式和狀態(tài),可以實(shí)現(xiàn)將它們當(dāng)成通用I/O 引腳使用。2 . 直流電機(jī)控制: 直流電動機(jī)是最早出現(xiàn)的電

3、動機(jī),也是最早能實(shí)現(xiàn)調(diào)速的電動機(jī)。近年來,直流電動機(jī)的結(jié)構(gòu)和控制方式都發(fā)生了很大的變化。隨著計(jì)算機(jī)進(jìn)入控制領(lǐng)域,以及新型的電力電了功率元器件的不斷出現(xiàn),使采用全控型的開關(guān)功率元件進(jìn)行脈寬調(diào)制(Pulse Width Modulation ,簡稱PWM控制方式已成為 )絕對主流。3 .PWM調(diào)壓調(diào)速原理直流電動機(jī)轉(zhuǎn)速n 的表達(dá)式為:n=U-IRK?其中,U為電樞端電壓 ;I 為電樞電流;R 為電樞電路總電阻; 中為每極磁通量;K 為電3動機(jī)結(jié)構(gòu)參數(shù)。所以直流電動機(jī)的轉(zhuǎn)速控制方法可分為兩類: 對勵磁磁通進(jìn)行控制的勵磁控制法和對電樞電壓進(jìn)行控制的電樞控制法。其中勵磁控制法在低速時(shí)受磁極飽和的限制,在

4、高速時(shí)受換向火花和換向器結(jié)構(gòu)強(qiáng)度的限制,并且勵磁線圈電感較大,動態(tài)響應(yīng)較差,所以這種控制方法用得很少。現(xiàn)在,大多數(shù)應(yīng)用場合都使用電樞控制法。絕大多數(shù)直流電機(jī)采用開關(guān)驅(qū)動方式。開關(guān)驅(qū)動方式是使半導(dǎo)體功率器件工作在開關(guān)狀態(tài),通過脈寬調(diào)制 PWM來控制電動機(jī)電樞電壓,實(shí)現(xiàn)調(diào)速。上圖是利用開關(guān)管對直流電動機(jī)進(jìn)行PWM調(diào)速控制的原理圖和輸入輸出電壓波形。圖中, 當(dāng)開關(guān)管MOSFE的柵極輸入高T電平時(shí),開關(guān)管導(dǎo)通,直流電動機(jī)電樞繞組兩端有電壓Us。 t1秒后,柵極輸入變?yōu)榈碗娖?,開關(guān)管截止,電動機(jī)電樞兩端電壓0。 t2 秒后,柵極輸入重新變?yōu)楦唠娖?,開關(guān)管的動作重復(fù)前面的過程。這樣,對應(yīng)著輸入的電平高低,

5、直流電動機(jī)電樞繞組兩端的電壓波形如圖中所示。電動機(jī)的電樞繞組兩端的電壓平均值Uo為 :占空比 表示了在一個周期T 里,開關(guān)管導(dǎo)通的時(shí)問與周期的比值。 的變化范圍為0 a <1 。由此式可知,當(dāng)電源電壓Us不變的情況下,電樞的端電壓的平均值Uo取決于占空比。的大小, 改變。 值就可以改變端電壓的平均值,從而達(dá)到調(diào)速的目的,這就是PWM調(diào)速原理。PWM調(diào)速方法在 PWM調(diào)速時(shí),占空比。是一個重要參數(shù)。以下3 種方法都可以改變占空比的值:(1) 定寬調(diào)頻法: 這種方法是保持t1 不變,只改變t2 ,這樣使周期T(或頻率)也隨之改變。(2) 調(diào)寬調(diào)頻法: 這種方法是保持t2 不變,只改變t1 ,

6、這樣使周期T(或頻率)也隨之改變。(3) 定頻調(diào)寬法: 這種方法是使周期T(或頻率)保持不變,而改變 t1 和 t2 0前兩種方法由于在調(diào)速時(shí)改變了控制脈沖的周期( 或頻率 ) ,當(dāng)控制脈沖的頻率與系統(tǒng)的固有頻率接近時(shí),將會引起震蕩,因此這兩種方法用得很少。目前,在直流電動機(jī)的控制中,主要使用定頻調(diào)寬法。ICETEK-CTR直流電機(jī)模塊:ICETEK-CTR即顯示/控制模塊上直流電機(jī)部分的原理圖見下圖。圖中PWM輸入對應(yīng)ICETEK-VC5416-A板上P4外擴(kuò)插座第26引腳的BFSR1信號,DSP將在此引腳上給出PWM信號用來控制直流電機(jī)的轉(zhuǎn)速; 圖中的DIR輸入對應(yīng)ICETEK-VC541

7、6-A板上P4外擴(kuò)插座第29 引腳的BCLKXRO信號,DSP將在此引腳上給出高電平或低電平來控制直流電機(jī)的方向。從 DSP輸出的PWM信號和轉(zhuǎn)向信號先經(jīng)過2 個與門和1 個非門再與各個開關(guān)管的柵極相連。二、控制原理當(dāng)電動機(jī)要求正轉(zhuǎn)時(shí),BCLKXR給出高電平信號,該信號分O成 3 路 : 第 1 路接與門Y1 的輸入端,使與門Y1的輸出由PWM決定,所以開關(guān)管V1 柵極受PWM控制; 第 2 路直接與開關(guān)管V4的柵極相連,使 V4導(dǎo)通; 第 3 路經(jīng)非門F1 連接到與門Y2的輸入端,使與門Y2輸出為0,這樣使開關(guān)管V3截止; 從非門 F1 輸出的另一路與開關(guān)管V2的柵極相連,其低電平信號也使V

8、2截止。同樣,當(dāng)電動機(jī)要求反轉(zhuǎn)時(shí),BCLKXR給出低電平信號,經(jīng)O過 2 個與門和1 個非門組成的邏輯電路后,使開關(guān)管V3 受 PWM信號控制,V2導(dǎo)通,V1, V4 全部截止。三、設(shè)計(jì)方案采用由達(dá)林頓管組成的H 型 PWM電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài),精確調(diào)整電動機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H 型電路保證了可以簡單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制; 電子開關(guān)的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調(diào)速技術(shù)。兼于方案三調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大。第三章 硬件設(shè)計(jì)ICETEK DSP教學(xué)實(shí)驗(yàn)箱簡介本套DSP系統(tǒng),為 D

9、SP教學(xué)和科研提供了一套整體解決方案。本套系統(tǒng)最大的特點(diǎn)就是模塊化設(shè)計(jì),既滿足了目前教學(xué)的需要,又為將來產(chǎn)品的升級換代,做了技術(shù)上的考慮。同時(shí)這種模塊化的設(shè)計(jì)可以應(yīng)用到多個方面,比如:1. 本科的DSP的實(shí)驗(yàn)教學(xué);2. 基于DSP應(yīng)用的課程設(shè)計(jì);3. 基于DSP用于圖像,語音,網(wǎng)絡(luò)的畢業(yè)設(shè)計(jì);4. 基于DSP的研究生嵌入式系統(tǒng)的開發(fā);1、 ICETEK DSP教學(xué)實(shí)驗(yàn)箱的特點(diǎn)和指標(biāo):由于該套實(shí)驗(yàn)系統(tǒng)主要由4 部分組成,因此,這里分4 部分來介紹該套系統(tǒng)。實(shí)驗(yàn)箱部分: 兩個獨(dú)立的信號發(fā)生器,可同時(shí)提供兩種波形、四路輸出; 信號的波形、頻率、幅度可調(diào)。頻率微調(diào) : 在每個頻率段范圍內(nèi)進(jìn)行頻率調(diào)整。

10、波形切換 : 提供 3 種波形 ( 方波,三角波,正弦波) ,可通過撥動開關(guān)進(jìn)行選擇。幅值微調(diào) :0-3.3 V 平滑調(diào)整。信號接插孔:4 路 A/D 輸入 (ADCINO-3), 4 路 D/A 輸出(DACOUTI-4),每路均提供信號和地。多種直流電源輸出:+SV(SA), +12V(lA) , -12V(O.SA), 地。底板提供插座,可使用插座完成DSP評估板上的A/D信號輸入和D/A輸出。測試模塊 : 提供 14 個測試點(diǎn),可以測量PWM輸出、AD輸入和DA輸出波形。雙信號發(fā)生器設(shè)計(jì),更加貼近DSP的實(shí)際應(yīng)用,許多實(shí)際的情況都是需要對兩個信號進(jìn)行相關(guān)分析。通 用 DSP 開發(fā) 系

11、統(tǒng)部 分 : USB2.0 接 口 開發(fā)系 統(tǒng),支持C2000/VC33/C5000/C6000的開發(fā)應(yīng)用。支持CCS。通用開發(fā)系統(tǒng)和 DSP控制板分離,有利于將來DSP的升級。同時(shí),也可以脫離實(shí)驗(yàn)箱單獨(dú)從事科研開發(fā)使用。通用控制模塊部分:顯示輸出 : 液晶顯示 (LCD) : 128 X 64 點(diǎn)陣圖形顯示屏,可 調(diào)整顯示對比度。發(fā)光二極管顯示陣列:8X8 點(diǎn)陣。發(fā)光二極管。音頻輸出 : 可由DSPI /O 腳控制的蜂鳴器; D/A輸出提供音頻插座,可直接接插耳機(jī)。鍵盤 :17 鍵數(shù)字鍵盤(標(biāo)準(zhǔn)PS2接口)。步進(jìn)電機(jī): 四相步進(jìn)電機(jī),步距角 5.625, 起動頻率300PPS,運(yùn)行頻率900

12、PPS,可可以接收DSP輸出的由DSPI /O 端口控制旋轉(zhuǎn)和方向、速度。直流電機(jī) : 空載轉(zhuǎn)速3050 轉(zhuǎn) /分,輸出功率1.35W, 啟動力矩21.3N,出的PWM控制信號,實(shí)現(xiàn)電機(jī)的轉(zhuǎn)速和方向控制。撥動開關(guān)(DIP): 4 路, 可實(shí)現(xiàn)復(fù)位和設(shè)置DSP應(yīng)用板參數(shù)。DSP 主 處 理 板 部 分 : 支 持 :ICETEK-VC5416-A 板 、ICETEK-VC33-A板、ICETEK-VC5509-A板、ICETEK-VC33-AR板、ICETEK-C6713-A板、ICETEK-LF2407-A板、 ICETEK-F2812-A板等。2、 ICETEK DSP教學(xué)實(shí)驗(yàn)箱的組成ICE

13、TEK DSP教學(xué)實(shí)驗(yàn)箱主要由以下兒個部分組成:1. 箱蓋 : 保護(hù)實(shí)驗(yàn)箱設(shè)備; 保存教材、使用手冊、實(shí)驗(yàn)指導(dǎo)書、各種實(shí)驗(yàn)用的連線; 可拆卸在實(shí)驗(yàn)中可從箱體上拆下。2. 箱體 : 裝載實(shí)驗(yàn)箱設(shè)備; 左側(cè)外壁上有一個標(biāo)準(zhǔn)外接電源線插孔 ; 通過固定螺絲與實(shí)驗(yàn)箱底板連為一體。3. 底板 : 固定各模塊; 提供電源開關(guān)、實(shí)驗(yàn)用直流電源插座、A/D D/A 輸入輸出插座、各模塊直流供電插座、信號插座、信號源輸出插座、測試點(diǎn); 實(shí)現(xiàn)顯示控制模塊和DSP評估板模塊的信號互連。 4. 信號源 : 兩組、 四路輸出,可使用專門開關(guān)啟動; 提供切換選擇輸出方波、三角波和正弦波,另可選擇輸出頻率范圍(lOHz-1

14、00Hz, 100Hz-1KHz, 1KHz-lOKHz, lOKHz-20KHz) , 還可進(jìn)行頻率和幅度(0-3.3 V) 的微調(diào)。5. 仿真器模塊: 固定ICETEK仿真器,支持PP型和USB型 ; 提供 PP型仿真器供電+SV電源插座 ; 仿真器可從底板上拆下單獨(dú)使用或更換。6. 顯示控制模塊: 通過信號線連接到底板; 從底板提供的+SV和 +12V 直流電源插座輸入電源; 提供液晶圖形顯示(128x64 像素 ) , 發(fā)光二極管陣列顯示(8x8 點(diǎn) ) , 指示燈 (12 只, 分為紅、 黃、綠三種顏色) , 四相步進(jìn)電機(jī),直流電機(jī),鍵盤 ( 外接PS2接口),蜂鳴器。顯示控制模塊可

15、從底板上拆下更換。7. 測試模塊: 提供對常用信號的測試點(diǎn),其中有PWM信號(4路,僅針對DSP系統(tǒng)為ICETEK-F2812-A-USB-EDU的實(shí)驗(yàn)箱)、模數(shù)轉(zhuǎn)換信號(4 路 )、和數(shù)模轉(zhuǎn)換信號(4 路 ),另外還包括兩個地線 (DGND, AGND)o8. DSP評估板模塊: 固定各種DSP評估板; 提供+SV直流電源插座 (兩個位置 );34Pin 信號線插座(4 個 ),用于連接DSP評估板和實(shí)驗(yàn)箱底板。DSP評估板模塊可從底板上拆下更換。3、 ICETEK-VC5416-A評估板技術(shù)指標(biāo)主處理芯片:TMS320VC541,運(yùn)行速度為6160M;低功耗設(shè)計(jì);工作速度可達(dá)160MIPS

16、片內(nèi)RAM存貯空問128K X 16Bit;擴(kuò)展的 6 路 12bit A/D 接口ADS 7864,最大采樣速率5OOK;4路的DAC7625轉(zhuǎn)換,100K/S ,12Bit;UART串行接口,符合RS232標(biāo)準(zhǔn);8M bit 擴(kuò)展FLASH,存儲大量固化程序和數(shù)據(jù);設(shè)計(jì)有用戶可以白定義的開關(guān)和測試指示燈;4 組標(biāo)準(zhǔn)擴(kuò)展連接器,為用戶進(jìn)行二次開發(fā)提供條件;具有 IEEE 1149.1 相兼容的邏輯掃描電路,該電路僅用于測試和仿真;+5 V 電源輸入,內(nèi)部+3.3V, +1.6V 電源管理;5 層板設(shè)計(jì)工藝,工作穩(wěn)定可靠;具有白啟動功能設(shè)計(jì),可以實(shí)現(xiàn)脫機(jī)工作;可以選配多種應(yīng)用接口板,包括圖像板

17、,網(wǎng)絡(luò)板等4、 ICETEK-VC5416-A原理圖和實(shí)物圖ICETEK-VC5416-A評估板接口說明實(shí)物圖ICETEK-VC5416-A器件布局圖ICETEK-VC5416-A評估板原理圖5、 ICETEK DSP教學(xué)實(shí)驗(yàn)箱結(jié)構(gòu)圖406、 ICETEK DSP教學(xué)實(shí)驗(yàn)箱使用注意事項(xiàng)1. 拆卸各模塊時(shí)請務(wù)必將實(shí)驗(yàn)箱總電源關(guān)閉;2. 不使用顯示/控制模塊時(shí)將相關(guān)電源開關(guān)關(guān)閉;3.220V 交流電源線連接須牢靠,勿使發(fā)生虛接或接觸不良,并保證良好地連接地線;4. 實(shí)驗(yàn)箱底板上標(biāo)稱值不同的直流電源不能直接跨接;5. 實(shí)驗(yàn)箱底板上直流電源不能直接跨接地線;6. 不要直接連接電源和信號插座;7. 顯示

18、 / 控制模塊上的兩個電源插座不要連接錯誤,上邊插座為+12V,下面的為+5V;8. 連接不同類型的插座時(shí),請?jiān)偃_認(rèn)無誤后進(jìn)行;9. 不要帶電拔插各模塊;10. 不要帶電拔插仿真器和DSP評估板上JTAG插頭的連接電纜;11. 如無特殊情況,請勿打開實(shí)驗(yàn)箱底板;12. 不要帶電拔插鍵盤插頭;13. 如遇實(shí)驗(yàn)箱冒煙等異?,F(xiàn)象請立即關(guān)閉總電源,并查找原因。7、 ICETEK DSP教學(xué)實(shí)驗(yàn)箱的硬件連接1. 連接電源: 打開實(shí)驗(yàn)箱,取出三相電源連接線, 將電源線的一端插入實(shí)驗(yàn)箱外部左側(cè)箱壁上的電源插孔中。確認(rèn)實(shí)驗(yàn)箱面板上電源總開關(guān)( 位于實(shí)驗(yàn)箱底板左上角) 處于“關(guān)”的位置,連接電源線的另一端至2

19、20V交流供電插座上,保證穩(wěn)固連接。2. 使用電源連接線連接各模塊電源: 確認(rèn)實(shí)驗(yàn)箱總電源斷開。連 接ICETEK-CTR板上邊 插座 到實(shí) 驗(yàn) 箱底板 上 +12V 電 源 插座 ;ICETEK-CTR板下邊插座到實(shí)驗(yàn)箱底板上+5 V 電源插座 ; 如使用 PP(并口)型仿真器,則連接仿真器上插座到實(shí)驗(yàn)箱底板上+5 V電源插座; 連接 DSP評估板模塊電源插座到實(shí)驗(yàn)箱底板上+SV電源插座。注意各插頭要插到底,防止虛接或接觸不良。3. 連接DSP評估板信號線: 當(dāng)需要連接信號源輸出到A/D 輸入插座時(shí),使用信號連接線( 如右圖 ) 分別連接相應(yīng)插座。4. 接通電源: 檢查實(shí)驗(yàn)箱上220V電源插

20、座( 箱體左側(cè)) 中保險(xiǎn)管是否完好,在連接電源線以后,檢查各模塊供電連線是否正確連接,打開實(shí)驗(yàn)箱上的電源總開關(guān)( 位于實(shí)驗(yàn)箱底板左上角) ,使開關(guān)位于“開”的位置,電源開關(guān)右側(cè)的指示燈亮。第四章 軟件設(shè)計(jì)一、程序編制程序中采用定時(shí)器中斷產(chǎn)生固定頻率的PWM波,100 次中斷為一個周期,在每個中斷中根據(jù)當(dāng)前占空比判斷應(yīng)輸出波形的高低電平。主程序用輪詢方式讀入鍵盤輸入,得到轉(zhuǎn)速和方向控制命令。 在改變電機(jī)方向時(shí)為減少電壓和電流的波動采用先減速再反轉(zhuǎn)的控制順序。二、實(shí)驗(yàn)程序流程圖1. 初始化:DSP時(shí)鐘、中斷寄存器、定時(shí)器ICETEK-CTR、 MCBSP初始化2. 鍵盤檢測:進(jìn)行鍵盤檢測,斷定方向

21、,轉(zhuǎn)速。3. 中斷計(jì)數(shù)模塊:計(jì)數(shù)器1-99. 用于斷定鍵盤輸入。第五章 系統(tǒng)調(diào)試一、實(shí)驗(yàn)準(zhǔn)備(1) 連接實(shí)驗(yàn)設(shè)備。(2) 連接實(shí)驗(yàn)箱附帶的鍵盤的PS2插頭到ICETEK-CTR的 “鍵盤接口”P8。(3) 將 ICETEK-CTR板的供電電源開關(guān)撥動到“開”的位置。2. 設(shè)置 Code Composer Studio 2.21 在硬件仿真(Emulator)方式下運(yùn)行:3. 啟動Code Composer Studio 2.21 。4. 打開工程文件:工程目錄:C: ICETEK-VC5416-EDULabLab0406-DCMotorDCMotor.pjt 。瀏覽 DCMotor.c 文件的

22、內(nèi)容,理解各語句作用。5. 編譯并下載程序。6. 運(yùn)行并觀察程序運(yùn)行結(jié)果。開始運(yùn)行程序后,電機(jī)以中等速度轉(zhuǎn)動( 占空比=60, 轉(zhuǎn)速=2)。在小鍵盤上按數(shù)字1一5鍵將分別控制電機(jī)從低速到高速轉(zhuǎn)動( 轉(zhuǎn)速 =1 -5) o在小鍵盤上按數(shù)字0鍵將控制電機(jī)停止轉(zhuǎn)動。在小鍵盤上按+ 或一鍵切換電機(jī)的轉(zhuǎn)動方向。如果程序退出或中斷時(shí)電機(jī)不停轉(zhuǎn)動,可以將控制ICETEK-CTR模塊的電源開關(guān)關(guān)閉再開啟一次。有時(shí)鍵盤控制可能不是非常靈敏,這是因?yàn)槌绦虿捎昧溯喸兎绞阶x鍵盤輸入的結(jié)果,可以多按兒次按鍵。7. 結(jié)束程序運(yùn)行: 在小鍵盤上按 Enter 鍵停止電機(jī)轉(zhuǎn)動并 退出程序。8. 退出CCS。二、實(shí)驗(yàn)程序第六章

23、 結(jié)論分析開始運(yùn)行程序后,電機(jī)以中等速度轉(zhuǎn)動( 占空比=60, 轉(zhuǎn)速 =2)在小鍵盤上按數(shù)字1一5鍵將分別控制電機(jī)從低速到高速轉(zhuǎn)動( 轉(zhuǎn)速=1 -5) 。在小鍵盤上按數(shù)字0鍵將控制電機(jī)停止轉(zhuǎn)動。在小鍵盤上按+ 或一鍵切換電機(jī)的轉(zhuǎn)動方向。通過實(shí)驗(yàn)可以發(fā)現(xiàn),直流電機(jī)受控改變轉(zhuǎn)速和方向。附錄:/ Example For ICETEK-VC5416-EDU/ CTR Version : V4/ Filename: DCMotor.c/ Project : DCMotor.pjt/ Version : 2.00/ Write by: Daniel Hawk/ Company : Realtimedsp

24、Co.Ltd./ All Rights opened & no Onus 2005.06/#include "scancode.h"#define TIM*(int *)0x24#define PRD *(int *)0x25#define TCR*(int *)0x26#define IMR *(int *)0x0#define IFR *(int *)0x1#define PMST *(int *)0x1d#define SPSA0 *(unsigned int *)0x38#define SPSD0 *(unsigned int *)0x39#define S

25、PSA1 *(unsigned int *)0x48#define SPSD1 *(unsigned int *)0x49#define REGISTERCLKMD (*(unsigned int*)0x58)#define T46uS 0x0200/ CTR 擴(kuò)展寄存器定義ioport unsigned int port8000;ioport unsigned int port8001;ioport unsigned int port8002;ioport unsigned int port8003;ioport unsigned int port8004;ioport unsigned i

26、nt port8005;ioport unsigned int port8007;#define CTRGR port8000#define CTRLCDCMDR port8001#define CTRKEY port8001#define CTRCLKEY port8002#define CTRLCDCR port8002#define CTRLCDLCR port8003#define CTRLCDRCR port8004#define CTRLAport8005#define CTRLRport8007void Delay(unsigned int nTime);void interru

27、pt time(void);char ConvertScanToChar(unsigned charcScanCode);unsigned intuWork,nCount,uN,nCount1,nDir,nTest;main()unsigned intnSpeed,nScanCode,uWork1,uN1;unsigned char cKey,cOldKey;nTest=0;REGISTERCLKMD=0;CTRGR=0;CTRGR=0x80;CTRGR=1;CTRLR=0;/ 關(guān)閉東西方向的交通燈CTRLR=0x40;/關(guān)閉南北方向的交通燈uWork1=CTRCLKEY; / 清除鍵盤緩沖區(qū)

28、REGISTERCLKMD=0x1007; / DSP 主頻改為兩倍 PLL時(shí)鐘 =32MHzuN=30; nCount=nCount1=0; nDir=0;cKey=cOldKey=0;SPSA1=1; / set McBSP1's SPCR2 uWork=SPSD1;uWork&=0xfffe; / set XRST=0SPSD1=uWork;SPSA1=0x0e; / set McBSP1's PCR1uWork=SPSD1;uWork|=0x2400;/ set XIOEN=1 FSXM=1,Enable IO,FSR for outputSPSD1=uWork

29、;SPSA0=0; / set McBSP0's SPCR1 uWork=SPSD0;uWork&=0xfffe; / set RRST=0SPSD0=uWork;SPSA0=0x0e; / set McBSP0's PCR1uWork=SPSD0;uWork|=0x1101;/ set RIOEN=1 FSXM=1,Enable IO,CLKR for output,set Motor'sdirection to 1SPSD0=uWork;asm(" ssbx INTM"); / 關(guān)中斷,進(jìn)行關(guān)鍵設(shè)置時(shí)不許打擾uWork1= PMST;PM

30、ST = uWork1&0xff;IMR = 0x8;TCR = 0x411;TIM = 0;PRD = T46uS;nSpeed=T46uS;TCR = 0x422;IFR = 0x8;asm(" rsbx INTM");while ( 1 )if ( nCount>16 )CTRGR=1;nCount=0;nScanCode=CTRKEY; / 讀掃描碼nScanCode&=0x0ff; / 低 8 位/uWork1=CTRCLKEY; / 清除鍵盤緩沖區(qū)if ( nScanCode!=0 )if ( nScanCode=SCANCODE_Ente

31、)r break;elsecKey=ConvertScanToChar(nScanCode);if ( cKey!=0 && cOldKey!=cKey )cOldKey=cKey;switch ( cKey )case '0': uN=100; break;case '1': uN=70; break;case '2': uN=50; break;case '3': uN=30; break;case '4': uN=10; break;case '5': uN=1; break;

32、case '+':uN1=uN;uN=60;/ 降速Delay(1024);SPSA0=0;uWork1=SPSD0;uWork1&=0xfffe;SPSD0=uWork1;SPSA0=0x0e;uWork1=SPSD0;uWork1|=0x1101;/set Motor's direction to 1SPSD0=uWork1;PRD=nSpeed;nDir=0;Delay(1024);uN=uN1;break;case '-':uN1=uN;uN=60;/ 降速Delay(1024);SPSA0=0;uWork1=SPSD0;uWork1&a

33、mp;=0xfffe;SPSD0=uWork1;SPSA0=0x0e;uWork1=SPSD0;uWork1|=0x1100;/set Motor's direction to 0uWork1&=0xfffe;SPSD0=uWork1;PRD=nSpeed;nDir=1;Delay(1024);uN=uN1;break;TCR = 0x412;REGISTERCLKMD=0;CTRGR=0;CTRGR=0x80;CTRGR=0;exit(0);void Delay(unsigned int nDelay)int i,j,k=0;for ( i=0;i<nDelay;i+ )for ( j=0;j&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論