




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、微機原理及接口技術課程設計報告微機原理及接口技術課程設計報告小型直流電機閉環(huán)調(diào)速系統(tǒng)PID控制器設計目錄一、課程設計的目的及意義1二、課程設計的題目與要求1三、基本原理1 1.PID算法1 2.霍爾元件測速原理4 3.轉(zhuǎn)速調(diào)節(jié)原理5四、基于80x86芯片微機接口控制電路的設計6 1.實現(xiàn)功能6 2.設計思想7 3.模塊介紹(附流程圖)7 (1)電機控制模塊7 1)測速模塊9 2)PWN波產(chǎn)生模塊10 3)PID計算模塊11 (2)鍵盤掃描與顯示單元14 1)鍵盤掃描模塊14五、基于80c51單片機控制電路的仿真設計18 1.實現(xiàn)功能18 2.設計思想18 3.模塊介紹19 (1)測速反饋模塊1
2、9 (2)PID模塊19 (3)鍵盤掃描模塊20 4.相關流程圖216、 結束語23附件:程序代碼一、課程設計的目的及意義通過本次課程設計要掌握80x86、8255、8251等芯片及基本輸入輸出電路的使用方法,靈活運用課本知識,加深對所學的知識理解,對所學的相關芯片的原理、內(nèi)部結構、使用方法等有更加深刻的了解,學會利用課本知識聯(lián)系實際應用及編程。同時并了解綜合問題的程序設計掌握實時處理程序的編制和調(diào)試方法,掌握一般的設計步驟和流程,使我們以后設計時邏輯更加清晰。二、課程設計的題目與要求1.題目小型直流電機閉環(huán)調(diào)速系統(tǒng)PID控制器設計2.設計要求(1)設計基于80x86微機接口控制電路;(2)分
3、別用C語言或匯編語言或VC+編程完成硬件接口功能設計;(3)程序功能要求:電機速度由按鍵分段給定或電位器連續(xù)給定,計算機屏幕和數(shù)碼管同步跟蹤顯示當前給定速度和電機實際運行速度,實現(xiàn)PID參數(shù)在線顯示和修改。(4)具備本地及遠程(串行方式)監(jiān)控功能。三、基本原理1.PID算法及相關內(nèi)容在DDC系統(tǒng)中,用計算機取代了模擬器件,控制規(guī)律的實現(xiàn)是由計算機軟件來完成的。因此,系統(tǒng)中數(shù)字控制的設計,實際上是計算機算法的設計。由于計算機只能識別數(shù)字量,不能對連續(xù)的控制算式直接進行運算,故在計算機控制系統(tǒng)中,首先必須對控制規(guī)律進行離散化的算法設計。為將模擬PID控制規(guī)律按式(1.2)離散化,我們把圖1.1中、
4、在第n次采樣的數(shù)據(jù)分別用、表示,于是式(1.1)變?yōu)?:= (1.4)當采樣周期T很小時可以用T近似代替,可用近似代替,“積分”用“求和”近似代替,即可作如下近似 (1.5) (1.6)這樣,式(1.2)便可離散化以下差分方程 (1.7)上式中是偏差為零時的初值,上式中的第一項起比例控制作用,稱為比例(P)項,即 (1.8)第二項起積分控制作用,稱為積分(I)項即 (1.9)第三項起微分控制作用,稱為微分(D)項即 (1.10)這三種作用可單獨使用(微分作用一般不單獨使用)或合并使用,常用的組合有:P控制: (1.11)PI控制: (1.12)PD控制: (1.13)PID控制: (1.14)
5、式(1.7)的輸出量為全量輸出,它對于被控對象的執(zhí)行機構每次采樣時刻應達到的位置。因此,式(1.7)又稱為位置型PID算式。由(1.7)可看出,位置型控制算式不夠方便,這是因為要累加偏差,不僅要占用較多的存儲單元,而且不便于編寫程序,為此對式(1.7)進行改進。根據(jù)式(1.7)不難看出u(n-1)的表達式,即 (1.15)將式(1.7)和式(1.15)相減,即得數(shù)字PID增量型控制算式為 (1.16) 從上式可得數(shù)字PID位置型控制算式為 (1.17)式中: 稱為比例增益; 稱為積分系數(shù); 稱為微分系數(shù)1。數(shù)字PID位置型示意圖和數(shù)字PID增量型示意圖分別如圖所示:數(shù)字PID位置型控制示意圖
6、數(shù)字PID增量型控制示意圖2.霍爾元件測速原理霍爾傳感器是對磁敏感的傳感元件,由磁鋼、霍耳元件等組成。測量系統(tǒng)的轉(zhuǎn)速傳感器選用SiKO 的 NJK-8002D 的霍爾傳感器,其響應頻率為100KHz,額定電壓為5-30(V)、檢測距離為10(mm)。其在大電流磁場或磁鋼磁場的作用下,能測量高頻、工頻、直流等各種波形電流。該傳感器具有測量精度高、電壓范圍寬、功耗小、輸出功率大等優(yōu)點,廣泛應用在高速計數(shù)、測頻率、測轉(zhuǎn)速等領域。輸出電壓425V,直流電源要有足夠的濾波電容,測量極性為N極。安裝時將一非磁性圓盤固定在電動機的轉(zhuǎn)軸上,將磁鋼粘貼在圓盤邊緣,磁鋼采用永久磁鐵,其磁力較強,霍爾元件固定在距圓
7、盤1-10mm處。當磁鋼與霍爾元件相對位置發(fā)生變化時,通過霍爾元件感磁面的磁場強度就會發(fā)生變化。圓盤轉(zhuǎn)動,磁鋼靠近霍爾元件,穿過霍爾元件的磁場較強,霍爾元件輸出低電平;當磁場減弱時,輸出高電平,從而使得在圓盤轉(zhuǎn)動過程中,霍爾元件輸出連續(xù)脈沖信號。這種傳感器不怕灰塵、油污,在工業(yè)現(xiàn)場應用廣泛?;魻柶骷怯砂雽w材料制成的一種薄片,器件的長、寬、高分別為 l、。若在垂直于薄片平面(沿厚度 )方向施加外磁場,在沿方向的兩個端面加一外電場,則有一定的電流流過。由于電子在磁場中運動,所以將受到一個洛侖磁力,其大小為:式中:f洛侖磁力, 載流子電荷, 載流子運動速度, 磁感應強度。這樣使電子的運動軌跡發(fā)生
8、偏移,在霍爾元器件薄片的兩個側(cè)面分別產(chǎn)生電子積聚或電荷過剩,形成霍爾電場,霍爾元器件兩個側(cè)面間的電位差稱為霍爾電壓?;魻栯妷捍笮椋?(mV) 式中:霍爾常數(shù), 元件厚度, 磁感應強度, 控制電流設 , 則=(mV)為霍爾器件的靈敏系數(shù)(mV/mA/T),它表示該霍爾元件在單位磁感應強度和單位控制電流下輸出霍爾電動勢的大小。應注意,當電磁感應強度反向時,霍爾電動勢也反向。圖2.3為霍耳元件的原理結構圖。若控制電流保持不變,則霍爾感應電壓將隨外界磁場強度而變化,根據(jù)這一原理,可以將兩塊永久磁鋼固定在電動機轉(zhuǎn)軸上轉(zhuǎn)盤的邊沿,轉(zhuǎn)盤隨被測軸旋轉(zhuǎn),磁鋼也將跟著同步旋轉(zhuǎn),在轉(zhuǎn)盤附近安裝一個霍爾元件,轉(zhuǎn)盤隨
9、軸旋轉(zhuǎn)時,霍爾元件受到磁鋼所產(chǎn)生的磁場影響,輸出脈沖信號。傳感器內(nèi)置電路對該信號進行放大、整形,輸出良好的矩形脈沖信號,測量頻率范圍更寬,輸出信號更精確穩(wěn)定,已在工業(yè),汽車,航空等測速領域中得到廣泛的應用。其頻率和轉(zhuǎn)速成正比,測出脈沖的周期或頻率即可計算出轉(zhuǎn)速。 圖2.3 霍耳元件的原理結構圖3.轉(zhuǎn)速調(diào)節(jié)原理PWM的占空比決定輸出到直流電機的平均電壓.PWM不是調(diào)節(jié)電流的.PWM的意思是脈寬調(diào)節(jié),也就是調(diào)節(jié)方波高電平和低電平的時間比,一個20%占空比波形,會有20%的高電平時間和80%的低電平時間,而一個60%占空比的波形則具有60%的高電平時間和40%的低電平時間,占空比越大,高電平時間越長
10、,則輸出的脈沖幅度越高,即電壓越高.如果占空比為0%,那么高電平時間為0,則沒有電壓輸出.如果占空比為100%,那么輸出全部電壓. 所以通過調(diào)節(jié)占空比,可以實現(xiàn)調(diào)節(jié)輸出電壓的目的,而且輸出電壓可以無級連續(xù)調(diào)節(jié).在使用PWM控制的直流無刷電動機中,PWM控制有兩種方式: (1) 使用PWM信號,控制三極管的導通時間,導通的時間越長,那么做功的時間越長,電機的轉(zhuǎn)速就越高。 (2)使用PWM控制信號控制三極管導通時間,改變控制電壓高低來實現(xiàn)直流電機單元由DC12V、1.1W的直流電機,小磁鋼,霍爾元件及輸出電路構成。PWM示意圖如圖1-1-3所示。通過調(diào)節(jié)T1的脈沖寬度,改變T1的占空比,從而改變輸
11、出,達到改變直流電機轉(zhuǎn)速的目的。圖1-1-3 PWM示意圖 利用8255的PB0產(chǎn)生脈沖信號作為控制量,經(jīng)驅(qū)動電路驅(qū)動電機運轉(zhuǎn)?;魻枩y速元件輸出的脈沖信號記錄電機轉(zhuǎn)速構成反饋量。在參數(shù)給定的情況下,經(jīng)PID運算,電機可在控制量的作用下,按PC機累加器給定的轉(zhuǎn)速運轉(zhuǎn)。通過PC的0號通道,設置為輸出1ms方波,作為采樣時鐘,PB0產(chǎn)生PWM脈沖計時及轉(zhuǎn)速累加,系統(tǒng)總線上INTR中斷用于測量電機轉(zhuǎn)速。四、基于80x86芯片微機接口控制電路的設計1.實現(xiàn)功能 1)實現(xiàn)小型直流電機閉環(huán)PID控制調(diào)速; 2)使用匯編語言完成硬件接口功能的設計; 3)使用小鍵盤實現(xiàn)現(xiàn)場設置設定速度v、比例參數(shù)p、積分參數(shù)i
12、、微分數(shù)d; 4)使用4位數(shù)碼管實現(xiàn)現(xiàn)場顯示實時速度s、設定速度v、比例參數(shù)p、積分參數(shù)i、微分參數(shù)d; 5)實現(xiàn)控制臺屏幕顯示設置速度v與實時速度s2.設計思想 整個系統(tǒng)可以的劃分為兩部分,一部分是直流電機閉環(huán)PID調(diào)速單元,一部分是鍵盤掃描和數(shù)碼管顯示單元。直流電機閉環(huán)PID調(diào)速單元運用PID算法通過對P、I、D、S、V參數(shù)的運算得出PID控制量,并將PID控制量轉(zhuǎn)化為PWM通過8255單元輸出給直流電機從而實現(xiàn)對直流電機的控制。鍵盤掃描單元通過對鍵盤的重復掃描讀取用戶的輸入數(shù)據(jù)P、I、D、V并進行相應的存儲,數(shù)碼管顯示單元分析當前選擇狀態(tài)、讀取P、I、D、S、V參數(shù)并通過基本輸入輸出單元
13、進行相應的顯示。具體實施過程:將電機閉環(huán)調(diào)速的PWM波產(chǎn)生模塊、PID控制量產(chǎn)生模塊、測速生成模塊、初始化模塊和鍵盤掃描和數(shù)碼管顯示實驗中的鍵盤掃描模塊、數(shù)碼管顯示模塊分別編寫為子過程;將以上模塊進行適當?shù)慕M合即可完成指定功能,具體可見代碼。3.模塊介紹 (1)電機控制模塊這是一個主要的模塊,完成PID反饋控制調(diào)速小型直流電機。用8255單元來產(chǎn)生正弦波控制直流電機。通過控制高電平的時間就可以控制電機轉(zhuǎn)速了。其中驅(qū)動電路由達林頓管組成。測速元件是霍爾傳感器,具體的測度原理見先行知識,模塊原理圖如下:電機控制模塊原理圖利用實驗平臺上8255的PB0產(chǎn)生脈沖信號作為控制量,經(jīng)驅(qū)動電路驅(qū)動電機運轉(zhuǎn)。
14、霍爾測速元件輸出的脈沖信號記錄電機轉(zhuǎn)速構成反饋量。在參數(shù)給定情況下,經(jīng)PID運算,電機可在控制量作用下,按給定轉(zhuǎn)速運轉(zhuǎn)。實驗利用PC機定時器0號通道,設置為輸出1ms方波,作為采樣時鐘,PB0產(chǎn)生PWM脈沖計時及轉(zhuǎn)速累加。系統(tǒng)總線上INTR中斷用于測量電機轉(zhuǎn)速。程序流程如圖所示: 測速中斷流程圖 定時采樣中斷流程圖直流電機閉環(huán)調(diào)速流程圖1)測速模塊 基本原理 霍爾傳感器產(chǎn)生一系列反應電機轉(zhuǎn)速的矩形波,矩形波是中斷定時器的中斷控制信號。通過中斷頻率就可以知道電機的速度了。 程序代碼MYISR PROC NEAR PUSH AX PUSH CX PUSH DX MOV AX,DATA MOV DS
15、,AX MOV AL,MARK CMP AL,01H JZ IN1 MOV MARK,01H JMP IN2 IN1: MOV MARK,00H ;計算轉(zhuǎn)速 VV: MOV DX,0000H MOV AX,03E8H MOV CX,VADD CMP CX,0000H JZ MM1 DIV CX MM: MOV ZV,AL MOV VADD,0000H MM1: MOV AL,ZV MOV ZVV,AL IN2: MOV DX,PCI_INTCSR ;清PCI卡控制寄存器標志位 SUB DX,19H IN AL,DX MOV DX,PCI_INTCSR ADD DX,2 MOV AX,003FH
16、 OUT DX,AX MOV DX,INTR_OCW2 ;向PC機內(nèi)部8259發(fā)送中斷結束命令 MOV AL,20H OUT DX,AL MOV AL,20H OUT 20H,AL POP DX POP CX POP AX IRET MYISR ENDP2)PWM波產(chǎn)生模塊 基本原理 PWM波的輸出高電平的時間點一個周期的比例越大,則輸出的平均電壓就越大,通過速度反饋及PID計算,然后輸出相應占空比的PWM波,占空比越大,則電機兩端獲得的電壓也越大,這里PWM波的信號是通過8255芯的PB0端輸出到驅(qū)動電路的A端口的 程序代碼 KJ PROC NEAR PUSH AX CMP FPWM,01H
17、 ;PWM為1,產(chǎn)生PWM的高電平 JNZ TEST2 CMP VAA,00H JNZ ANOT0 MOV FPWM,02H MOV AL,BBB CLC RCR AL,01H MOV VBB,AL JMP TEST2 ANOT0: DEC VAA MOV AL, 01H ;PB0=1 電機轉(zhuǎn)動 MOV DX, MY8255_B OUT DX,AL TEST2: CMP FPWM,02H ;PWM為2,產(chǎn)生PWM的低電平 JNZ OUTT CMP VBB,00H JNZ BNOT0 MOV FPWM,01H MOV AL,AAAA CLC RCR AL,01H MOV VAA,AL JMP O
18、UTT BNOT0: DEC VBB MOV AL,00H ;PB0=0 電機停止 MOV DX,MY8255_B OUT DX,AL OUTT: POP AX RET KJ ENDP3)PID計算模塊 基本原理 計算模塊就是通過測速反饋得來的實時速度反應量來計算相關的比例項、積分項、微分項。最后得到控制量,送給模塊,用于產(chǎn)生控制波。PID PROC NEAR MOV AX,SPEC SUB AX,YK ;求偏差EK MOV R0,AX MOV R1,AX SUB AX,EK_1 MOV R2,AX SUB AX,AEK_1 ;求BEK MOV BEK,AX MOV R8,AX MOV AX,
19、R1 ;求偏差變化量AEK MOV EK_1,AX MOV AX,R2 MOV AEK_1,AX TEST R1,8000H JZ EK1 ;若偏差EK為正數(shù),則不需要求補碼 NEG R1 ;若偏差EK為負數(shù),則求偏差EK的補碼 EK1: MOV AX,R1 ;判斷偏差EK是否在積分分離值的范圍內(nèi) SUB AX,IBAND JC II ;在積分分離值范圍內(nèi),則跳轉(zhuǎn)到II,計算積分項 MOV R3,00H ;若不在積分分離值范圍內(nèi),則將積分項清0 JMP DDD ;計算微分項 II: MOV AL,TS ;計算積分項,結果放在R3變量中(R3=EK*TS/KII) MOV AH,00H ;其中T
20、S和KII均為正數(shù),所以R3的正負由EK決定 MOV CX,R1 MUL CX MOV CX,KII DIV CX MOV R3,AX TEST R0,8000H ;判斷積分項的正負 JZ DDD ;為正數(shù),則跳轉(zhuǎn)去計算微分項 NEG R3 ;為負數(shù),則將積分項的結果求補碼 DDD: TEST BEK,8000H ;判斷BEK的正負 JZ DDD1 ;為正數(shù),則BEK不變 NEG BEK ;為負數(shù),則求BEK的補碼 DDD1: MOV AX,BEK ;計算微分項(R4=KDD*BEK/8TS) MOV CX,KDD MUL CX PUSH AX PUSH DX MOV AL,TS MOV AH
21、,00H ;將微分項縮小8倍,防止溢出 MOV CX,0008H MUL CX MOV CX,AX POP DX POP AX DIV CX MOV R4,AX TEST R8,8000H ;判斷微分項的正負 JZ DD1 ;為正數(shù),則結果不需要求補碼 NEG R4 ;為負數(shù),則微分項結果R4求補碼 DD1: MOV AX,R3 ;積分項和微分項相加,結果放在R5變量中 ADD AX,R4 MOV R5,AX JO L9 ;判斷溢出 L2: MOV AX,R5 ADD AX,R2 MOV R6,AX ;R6=R5+R2=積分項+微分項+AEK JO L3 L5: MOV AX,R6 ;計算KP
22、P*R6 MOV CX,KPP IMUL CX MOV CX,1000H IDIV CX MOV CX,AX RCL AH,01H ;判斷溢出,溢出賦極值 PUSHF RCR AL,01H POPF JC LLL1 CMP CH,00H JZ LLL2 MOV AL,7FH JMP LLL2 LLL1: CMP CH,0FFH JZ LLL2 MOV AL,80H LLL2: MOV R7,AL ;CK=CK_1+CK ADD AL,CK_1 JO L8 L18: MOV CK_1,AL ADD AL,80H MOV CK,AL RET L8: TEST R7,80H ;CK溢出處理程序 JN
23、Z L17 MOV AL,7FH ;若為正溢出,則賦給正極值7FH JMP L18 L17: MOV AL,80H ;若為負溢出,則賦給賦極值80H JMP L18 L9: TEST R3,8000H JNZ L1 MOV R5,7FFFH ;若為正溢出,則賦給正極值7FFFH JMP L2 L1: MOV R5,8000H ;若為負溢出,則賦給負極值8000H JMP L2 L3: TEST R2,8000H JNZ L4 MOV R6,7FFFH JMP L5 L4: MOV R6,8000H JMP L5 RET PID ENDP2.鍵盤掃描與顯示單元鍵盤及數(shù)碼管顯示單元通過基本輸入輸出
24、單元與80x86CPU總線連接,選通信號CS_A、CS_B分別與IOY1、IOY2連接,地址分別為3040H、3080H。通過OA0-OA3與X1-X3相連選通指定行,IA0-IA3與Y1-Y3連接讀取當前閉合列,從而確定當前閉合按鍵。A-G、DP與0B0-OB7連接,根據(jù)按鍵使數(shù)碼管選通顯示相應的數(shù)據(jù)。 鍵盤掃描與顯示原理圖如下圖所示: 鍵盤掃描與顯示原理圖 鍵盤掃描模塊 基本原理鍵盤掃描模塊,實現(xiàn)了判斷是否有按鍵,并且如果有按鍵獲取按鍵碼的功能,4×4鍵盤的編碼,從左到右,從上到下,依次編碼為0F, 如果有按鍵, 則轉(zhuǎn)入到按鍵處理子程序模塊執(zhí)行, 如果沒有,則返回主程序循環(huán)。 程
25、序代碼 KEYSCAN PROC NEAR PUSH AX PUSH DX MOV AX,DATA MOV DS,AX BEGIN: CALL DIS ;顯示刷新 CALL CLEAR ;清屏 CALL CCSCAN ;掃描按鍵 JNZ GETKEY1 ;有鍵按下則跳置GETKEY1 GETKEY1: CALL DIS ;顯示刷新 CALL DALLY1 CALL DALLY1 CALL CLEAR ;清屏 CALL CCSCAN ;再次掃描按鍵 JNZ GETKEY2 ;有鍵按下則跳置GETKEY2 JMP ENDKEYSCAN ;否則跳回開始繼續(xù)循環(huán) GETKEY2: MOV CH,0FE
26、H MOV CL,00H ;設置當前檢測的是第幾列 COLUM: MOV AL,CH ;選取一列,將X1X4中一個置0 MOV DX,MYIO_A OUT DX,AL IN AL,DX LP1: TEST AL,01H ;是否為第1行 JNZ LP2 ;不是則繼續(xù)判斷 MOV AL,00H ;設置第1行第1列的對應的鍵值 JMP KCODE LP2: TEST AL,02H ;是否為第2行 JNZ LP3 ;不是則繼續(xù)判斷 MOV AL,04H ;設置第2行第1列的對應的鍵值 JMP KCODE LP3: TEST AL,04H ;是否為第3行 JNZ LP4 ;不是則繼續(xù)判斷 MOV AL,
27、08H ;設置第3行第1列的對應的鍵值 JMP KCODE LP4: TEST AL,08H ;是否為第4行 JNZ NEXT ;不是則繼續(xù)判斷 MOV AL,0CH ;設置第4行第1列的對應的鍵值 KCODE: ADD AL,CL ;將第1列的值加上當前列數(shù),確定按鍵值;CALL CALL INPUTDEAL ;保存按鍵值,進入相應的按鍵處理程序 PUSH AX KON: CALL DIS ;顯示刷新 CALL CLEAR ;清屏 CALL CCSCAN ;掃描按鍵,判斷按鍵是否彈起 JNZ KON ;未彈起則繼續(xù)循環(huán)等待彈起 POP AX NEXT: INC CL ;當前檢測的列數(shù)遞增 M
28、OV AL,CH TEST AL,08H ;檢測是否掃描到第4列 JZ KERR ;是則跳回到開始處 ROL AL,1 ;沒檢測到第4列則準備檢測下一列 MOV CH,AL JMP COLUM KERR: ;JMP BEGIN ENDKEYSCAN: POP DX POP AX RET KEYSCAN ENDP 鍵盤掃描程序流程圖五、基于80c51單片機控制電路的仿真設計 1.實現(xiàn)功能 基本功能 1)用仿真基于80c51實現(xiàn)小型直流電機閉環(huán)PID控制調(diào)速; 2)使用C語言完成硬件接口功能的設計; 3)使用小鍵盤實現(xiàn)現(xiàn)場設置設定速度v、比例參數(shù)p、積分參數(shù)i、微分數(shù)d; 4)使用4位數(shù)碼管實現(xiàn)現(xiàn)
29、場顯示實時速度s、設定速度v、比例參數(shù)p、積分參數(shù)i、微分參數(shù)d; 5)實現(xiàn)控制臺屏幕顯示設置速度v與實時速度s。 附加功能 1)通過按鍵實現(xiàn)直流電機的正反轉(zhuǎn)控制; 2)通過按鍵實現(xiàn)直流電機的快速停車。 2.設計思想 與80x86芯片微機接口控制電路系統(tǒng)類似,整個系統(tǒng)可以的劃分為兩部分,一部分是直流電機閉環(huán)PID調(diào)速單元,一部分是鍵盤掃描和數(shù)碼管顯示單元。直流電機閉環(huán)PID調(diào)速單元運用PID算法通過對P、I、D、S、V參數(shù)的運算得出PID控制量,并將PID控制量轉(zhuǎn)化為PWM通過8255單元輸出給直流電機從而實現(xiàn)對直流電機的控制。鍵盤掃描單元通過對鍵盤的重復掃描讀取用戶的輸入數(shù)據(jù)P、I、D、V并
30、進行相應的存儲,數(shù)碼管顯示單元分析當前選擇狀態(tài)、讀取P、I、D、S、V參數(shù)并通過基本輸入輸出單元進行相應的顯示。與80x86芯片微機接口控制電路系統(tǒng)不同之處在于,通過設置15號按鍵,通過對驅(qū)動芯片L298輸入端IN1、IN2的控制實現(xiàn)直流電機的快速停車與正反轉(zhuǎn)控制。具體實施過程:將電機閉環(huán)調(diào)速的PWM波產(chǎn)生模塊、PID控制量產(chǎn)生模塊、測速生成模塊、初始化模塊和鍵盤掃描和數(shù)碼管顯示實驗中的鍵盤掃描模塊、數(shù)碼管顯示模塊分別編寫為子過程;將以上模塊進行適當?shù)慕M合即可完成指定功能,具體可見代碼。3.模塊介紹(1)測速反饋模塊 基本原理測速反饋是通過一個定時器和一個計數(shù)器來完成的給定時中斷一定的時間(計
31、算得來),當定時器還未溢出時,計數(shù)器通過接受的正弦波來產(chǎn)生與速度相關的計數(shù)量,當定時中斷到達時,將其賦給實時速度變量就行。 程序代碼oid t0(void) interrupt 1 using 0 /定時T0中斷服務函數(shù)tcnt+; /每過250ust tcnt 加一if(tcnt=40) /計滿40 次(1/100 秒)時tcnt=0; /重新再計sec+;if(sec=10) /定時0.1 秒,在從零開始計時sec=0; TH0=0x06; /對TH0 TL0 賦值 TL0=0x06;miaoshu=count;/測速給相關變量 count=0;void sdf(void) interru
32、pt 2 using 0 /計數(shù)T1中斷服務函數(shù) count=count+1;(2)PID模塊 基本原理 該模塊與80x86系統(tǒng)中匯編程序思路類似,但溢出處理要簡單很多。程序代碼void pid(void) /PID 計算輸出量 ek=sv1-miaoshu; uk=uk_1+q0*ek+q1*ek_1+q2*ek_2; ek_2=ek_1; ek_1=ek; uk_1=uk; if(uk>400) uk=400; /限定輸出上限 if(uk<5) uk=5; /限定輸出下限(3)鍵盤掃描程序 基本原理 選通相應的行,逐次讀取各列判斷是否閉合,若沒有按鍵閉合則確定按鍵,若沒有按鍵閉
33、合則選通下一行重復上述操作,知道找到閉合按鍵為止。 程序代碼void key()uchar i,temp,lie,hang,shu;for(i=0;i<4;i+)P1=choosei;/掃描行,給定列temp=P1;temp=temp&0xf0;if(temp!=0xf0)/通過檢測低電平來確定列hang=i;if(temp=0xe0)lie=1;else if(temp=0xd0)lie=2;else if(temp=0xb0)lie=3;else if(temp=0x70)lie=4;break; shu=hang*4+lie;/數(shù)為對應的按鍵void keyscan()uc
34、har temp;P1=0xf0;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);/消除抖動P1=0xf0;temp=P1;temp=temp&0xf0;if(temp!=0xf0)key();4. 相關流程圖 定時中斷流程圖 計時中斷流程圖鍵盤掃描模塊流程圖6、 結束語 這次微機原理課程設計學到很多很多的的東西。不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。深入細致的了解了80x86CPU的使用,以及以80x86CPU和80c51單片機為基礎的小型系統(tǒng)的設計。特別的,在上課的時候,老師經(jīng)常強調(diào)在寫一個程序
35、的時候,一定要事先把程序原理方框圖化出來,但是我開始總覺得這樣做沒必要,很浪費時間。 但是,這次課程設計完全改變了我以前的那種錯誤的認識,以前我接觸的那些程序都是很短、很基礎的,但是在課程設計中碰到的那些需要很多代碼才能完成的任務,畫程序方框圖是很有必要的。因為通過程序方框圖,在做設計的過程中,我們每一步要做什么,每一步要完成什么任務都有一個很清楚的思路,而且在程序測試的過程中也有利于查錯。 這次課程設計并不是很難,主要的困難來自對程序的理解。功夫不負有心人,經(jīng)過努力,我們最后對課程設計的原理有了清晰的認識。雖然剛開始覺得不知如何下手,不過,最后我覺得我做的還是不錯的。 這次課設卻讓我們對微機原理有了足夠的了解,讓我們知道了程序上各個模塊的用法;而且它還讓我們對自己動手寫程序來控制系統(tǒng)的運作有了一定的基礎。我們對有關微機原理與接口技術的知識將會有一個更廣泛的認識,而且它對我們以后的學習也會有幫助的。 總之,這次課程設計對于我們有很大的幫助,通過課程設計,我更加深入地理解了,微機原理課程上講到的各種部分的功能,同時熟悉了匯編程序的編寫過程和運行過程,最后還提高了自己的動手能力。感謝老師的悉心指導。附件1:;*根據(jù)CHECK配置信息修改下列符號值* INTR_IVADD EQU 003CH ;INTR對應的中斷矢量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB 3725-2024 固定污染源廢氣非甲烷總經(jīng)連續(xù)監(jiān)測系統(tǒng)
- T-ZJBS 002-2024 城市公共標識系統(tǒng)施工規(guī)范
- 二零二五年度戶口分家及遺產(chǎn)評估協(xié)議范本
- 二零二五年度股東退股及公司未來發(fā)展方向與投資布局協(xié)議
- 二零二五年度教育培訓機構春季招生促銷合同范本
- 二零二五年度高速公路施工安全責任豁免合同樣本
- 二零二五年度員工績效評估與職業(yè)發(fā)展輔導協(xié)議書
- 商業(yè)智能軟硬件開發(fā)合作協(xié)議
- 五年級數(shù)學探索圖形變化教學教案
- 優(yōu)化辦公室工作環(huán)境的策略
- 《化工生產(chǎn)技術》配套教學課件
- 液壓與氣壓傳動技術全套課件
- GB∕T 17587.1-2017 滾珠絲杠副 第1部分:術語和符號
- 中國傳媒大學《紀錄片創(chuàng)作教程》課件
- 蛋白電泳在腎臟疾病中的實際臨床應用
- T∕CCCMHPIE 1.3-2016 植物提取物 橙皮苷
- 毫火針療法PPT課件
- 三年級部編版語文下冊第二單元日積月累
- 前輪轂止口不合格8D報告
- 蝴蝶蘭溫室工廠化栽培管理技術
- 銀行對賬單(共9頁)
評論
0/150
提交評論