微型計算機控制技術(shù)課程設(shè)計 步進電機



《微型計算機控制技術(shù)課程設(shè)計 步進電機》由會員分享,可在線閱讀,更多相關(guān)《微型計算機控制技術(shù)課程設(shè)計 步進電機(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 課 程 設(shè) 計 課程名稱 微型計算機控制技術(shù) 題目名稱__步進電機角度控制(2) 學(xué)生學(xué)院____ _ 自動化________ 專業(yè)班級____ 學(xué) 號 學(xué)生姓名___ _ 指導(dǎo)教師______ 李傳芳 _____ 2013 年 06月 28日 一、軟件設(shè)計流程圖如下圖所示: 開始 判斷鍵值 設(shè)定8255A工作方式,A、B口輸出,C口PC4~PC7輸入,PC0~PC3輸出,故控制字為88H 延時 驅(qū)動電機動作 LED顯示 返回
2、調(diào)用 延時 掃描鍵盤 否 是否有鍵按下 是 判斷鍵值 二、心得與體會 這次的課程設(shè)計主要針對鍵盤及可編程接口芯片8255A的編程,在上機調(diào)試過程中由于自己的疏忽及算法的不完善導(dǎo)致了程序不能實現(xiàn)預(yù)期的功能,經(jīng)過一遍又一遍的檢查和思考,終于完成了這次課程設(shè)計的任務(wù)。 雖然上機調(diào)試的經(jīng)歷是痛苦的,但是期間的細(xì)節(jié)錯誤給了我們應(yīng)有的教訓(xùn),使我們在以后的學(xué)習(xí)及工作中盡量避免,對于匯編語言的編程也有了進一步的了解加深了對步進電機的理解和使用技巧,設(shè)計中,需要對步進電機進行角度控制,即需要對步進電機的角度進行計算分析,以得到所
3、需的步數(shù)。 總之,這次課程設(shè)計鍛煉了我解決問題的能力,激發(fā)了我的思考,相信通過這次課程設(shè)計對我以后對微機的繼續(xù)學(xué)習(xí)及以后的工作會有很大的幫助。 任務(wù)1 連接數(shù)碼管顯示電路和鍵盤電路,實現(xiàn)如下表所示的按鍵控制,并能夠左移顯示: 3 6 0 A B 7 2 F 1.2源程序: STACK SEGMENT STACK DB 64 DUP(?) STACK ENDS DATA SEGMENT ORG 0030H VAR1 DB 0FCH,0FCH,0FCH,0FCH VAR5 DB OF7H,0FBH,0FDH,0FEH VA
4、R2 DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH VAR3 DB 00H,00H,00H,00H,00H,00H,00H,00H VAR4 DB 00H,00H,00H,00H,00H,00H,00H,00H TABLE1 DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV
5、DS,AX MOV AL,88H ;8255初始化 MOV DX,0606H OUT DX,AL STT: MOV AL,60H MOV DX,0604H OUT DX,AL NEXT: MOV DX,0604H IN AL, DX AND AL,60H CMP AL,60H JNZ KEYABC CALL DISP JMP STT ;.............鍵盤掃描..........
6、....................................... KEYABC:CALL TIME MOV DX,0604H IN AL,DX AND AL,60H CMP AL,60H ;PC6 PC5 =0110 0000 JNZ KEY JMP STT KEY: MOV AL,0FEH ;掃描PC0口 PC0=0 MOV DX,0604H OUT DX,AL MOV D
7、X,0604H IN AL,DX TEST AL,20H ;檢測PC5 JNZ KEY_F CALL KEYA JMP STTK KEY_F: TEST AL,040H ;檢測PC6口 JNZ KEY_0 CALL KEYF JMP STTK KEY_0:MOV AL,0FDH ;掃描PC1口, PC1=0 MOV DX,0604H OUT DX,AL MOV DX,060
8、4H IN AL,DX TEST AL,20H ;檢測PC5 JNZ KEY_2 CALL KEY0 JMP STTK KEY_2:TEST AL,040H ;檢測PC6口 JNZ KEY_6 CALL KEYF ;否則是按鍵2 JMP STTK KEY_6:MOV AL,0FBH ;PC2=0 MOV DX,0604H OUT DX,AL MOV DX,0604H
9、IN AL,DX TEST AL,20H ;檢測PC5 JNZ KEY_7 CALL KEY6 JMP STTK KEY_7:TEST AL,040H ;檢測PC6口 JNZ KEY_3 CALL KEY7 JMP STTK KEY_3:MOV AL,0F7H PC3=0 MOV DX,0604H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,20H ;檢
10、測PC5 JNZ KEY_B CALL KEY3 JMP STTK KEY_B:TEST AL,040H ;檢測PC6口 JNZ KEY_111 CALL KEYB KEY_111:JMP STTK ;..................數(shù)字XIANSHI............ KEYA: CMP BH,00H JZ KEYA_1 KEYA_1: CALL LP1 MOV AL,0EEH MOV [SI],AL
11、 MOV AL,0AH MOV [DI],AL CALL DISP RET KEYF: CMP BH,00H JZ KEYE_1 KEYF_1:CALL LP1 MOV AL,8EH MOV [SI],AL MOV AL,0FH MOV [DI],AL CALL DISP RET KEY0:CMP BH,00H JZ KEY1_1 KEY0_1:CALL LP1
12、 MOV AL,0FCH MOV [SI],AL MOV AL,00H MOV [DI],AL CALL DISP RET KEY2:CMP BH,00H JZ KEYF_1 KEY2_1:CALL LP1 MOV AL,0DH MOV [SI],AL MOV AL,02H MOV [DI],AL CALL DISP RET
13、 KEY6:CMP BH,00H JZ KEY7_1 KEY6_1:CALL LP1 MOV AL,0BEH MOV [SI],AL MOV AL,06H MOV [DI],AL CALL DISP RET KEY7:CMP BH,00H JZ KEYA_1 KEY7_1:CALL LP1 MOV AL,0E0H MOV [SI],AL MOV AL,07H MOV [
14、DI],AL CALL DISP RET KEY3:CMP BH,00H JZ KEY8_1 KEY3_1:CALL LP1 MOV AL,0F2H MOV [SI],AL MOV AL,03H MOV [DI],AL CALL DISP RET KEYB:CMP BH,00H JZ KEYB_1 KEYB_1:CALL LP1 MOV AL,3EH
15、 MOV [SI],AL MOV AL,0BH MOV [DI],AL CALL DISP RET LP1: MOV SI,OFFSET VAR1 PUSH AX MOV AL,[SI+2] MOV [SI+3],AL MOV AL,[SI+1] MOV [SI+2],AL MOV AL,[SI]
16、 MOV [SI+1],AL POP AX MOV [SI],AL RET ;..................顯示........... DISP:PUSH DX PUSH CX MOV SI,OFFSET VAR1 MOV DX,0604H MOV AL,11111110B OUT DX,AL MOV DX,0602H MOV AL,[SI+3] OU
17、T DX,AL DEC SI CALL TIME MOV DX,0604H MOV AL,11111101B OUT DX,AL MOV DX,0602H MOV AL,[SI+3] OUT DX,AL DEC SI CALL TIME MOV DX,0604H MOV AL,11111011B OUT DX,AL MOV DX,0602H MOV AL,[S
18、I+3] OUT DX,AL DEC SI CALL TIME MOV DX,0604H MOV AL,11110111B OUT DX,AL MOV DX,0602H MOV AL,[SI+3] OUT DX,AL DEC SI CALL TIME POP AX POP DX RET ;.......................延時............
19、.................... TIME: PUSH AX PUSH CX MOV CX,0006H TIME1: MOV AX,0100H TIME2: DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RET ;................放鍵測試........................ STTK: CALL DISP
20、 MOV AL,00H MOV DX,0604H OUT DX,AL MOV DX,0604H IN AL,DX AND AL,60H CMP AL,60H JNZ STTK JMP STT CODE ENDS END START 任務(wù)2 實現(xiàn): 定義鍵盤按鍵:5個為數(shù)字鍵:0、1、3、5、9 ;3個
21、功能鍵:設(shè)置SET、清零 CLR、開始START;按鍵分布如下表所示: 0 3 6 5 SET 4 START CLR 2.2源程序: STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS DATA SEGMENT VAR1 DB OF7H,0FBH,0FDH,0FEH VAR2 DB 0FCH,0FCH,0FCH,0FCH VAR5 DB 00H,00H,00H,00H,00H,00H TABL DB 0FCH,60H,0DH,0F2H,66H,0B6H,0BEH,0E0H,0FEH
22、,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH TAB_C DW 00H ORG 0100H VAR3 DB 64 DUP(?) ORG 0200H VAR4 DW 64 DUP(?) COUNT DB 00H TABLE DB 08H,18H,10H,30H,20H,60H,40H,48H D_COUNT DB 00H D_TIMES DB 00H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX P
23、USH DX MOV AL,88H ;8255初始化 MOV DX,0606H OUT DX,AL MOV BX,0000H MOV COUNT,00H MOV D_COUNT,00H MOV D_TIMES,00H STT: MOV AL,00H MOV DX,0604H OUT DX,AL NEXT: MOV DX,0604H IN AL, DX AND AL,60H CMP AL,60
24、H JNZ KEYABC CALL DISP JMP STT POP DX ;.............鍵盤掃描................................................. KEYABC:PUSH DX CALL TIME MOV DX,0604H IN AL,DX AND AL,60H CMP AL,60H ;PC6 PC5 =0110 0000 JNZ K
25、EY_5 JMP STT POP DX KEY_5: MOV AL,0FEH ;掃描PC0口 MOV DX,0604H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,20H ;檢測PC5 JNZ KEY_CLR CALL KEY5 ;否則 是按鍵5 JMP STTK KEY_CLR: TEST AL,40H ;檢測PC6口 JNZ KEY_6 CA
26、LL KEYCLR JMP STTK KEY_6:MOV AL,0FDH MOV DX,0604H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,20H ;檢測PC5 JNZ KEY_START CALL KEY6 JMP STTK KEY_START:TEST AL,40H ;檢測PC6口 JNZ KEY_3 CALL KEYSTART JMP STTK KEY
27、_3:MOV AL,0FBH MOV DX,0604H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,20H ;檢測PC5 JNZ KEY_4 CALL KEY3 JMP STTK KEY_4:TEST AL,40H ;檢測PC6口 JNZ KEY_0 CALL KEY4 JMP STTK KEY_0:MOV AL,0F7H MOV DX,0604H OU
28、T DX,AL MOV DX,0604H IN AL,DX TEST AL,20H ;檢測PC5 JNZ KEY_SET CALL KEY0 JMP STTK KEY_SET:TEST AL,40H ;檢測PC6口 JNZ KEY_111 CALL KEYSET KEY_111:JMP STTK ;...............………........................ KEY0:CALL LP1 MO
29、V AL,00H MOV [DI],AL MOV AL,0FCH MOV [SI],AL CALL DISP RET KEY3: CALL LP1 MOV AL,03H MOV [DI],AL MOV AL,0F2H MOV [SI],AL CALL DISP RET KEY4: CALL LP1 MOV AL,04H MOV [DI],AL MOV AL,66H MOV
30、[SI],AL CALL DISP RET KEY5: CALL LP1 MOV AL,05H MOV [DI],AL MOV AL,0B6H MOV [SI],AL CALL DISP RET KEY6: CALL LP1 MOV AL,06H MOV [DI],AL MOV AL,0BEH MOV [SI],AL CALL DISP RET ;............... KEYST
31、ART: CMP COUNT,00H JZ STA1 MOV AL,COUNT CBW PUSH AX MOV SI,OFFSET VAR4 MOV DI,OFFSET TABLE MOV DL,00H STA4: MOV BX,[SI] MOV AX,[SI+2] MOV DH,0FH DIV DH MOV DH,04H MUL DH
32、 INC SI INC SI INC SI INC SI PUSH AX STA5: POP AX MOV CX,AX PUSH AX STA2: PUSH DX MOV AL,[DI] MOV DX,0600H OUT DX,AL POP DX INC DI INC DL CALL DISP1 CALL DALLY1 CMP DL,08H JN
33、Z STA3 MOV DL,00H MOV DI,OFFSET TABLE STA3: LOOP STA2 CALL DISP1 DEC BX JNZ STA5 INC D_COUNT MOV AL,COUNT POP AX CALL DISP1 DEC COUNT JNZ STA4 POP AX CALL DISP1 DEC COUNT JNZ STA4 POP AX
34、 MOV COUNT,AL MOV D_COUNT,00H MOV TAB_C,DI MOV CL,DL STA1: RET ;……………………………………….. KEYSET: LEA SI,VAR2 LEA DI,VAR3 MOV AL,COUNT CBW ADD DI,AX ADD DI,AX ADD DI,AX ADD DI,AX MOV CX,0004H SET1: MOV A
35、L,[SI] MOV [DI],AL INC DI INC SI LOOP SET1 LEA SI,VAR5 MOV DX,0000H MOV DI,OFFSET VAR4 MOV AL,COUNT CBW ADD DI,AX ADD DI,AX ADD DI,AX ADD DI,AX MOV AL,[SI] MOV [DI],
36、AL MOV AL,[SI+1] MOV BL,64H MUL BL ADD DX,AX MOV AL,[SI+2] MOV CL,0AH MUL BL ADD DX,AX MOV BL,[SI+3] CBW ADD AX,DX MOV [DI+2],AX MOV CX,0004H LEA SI,VAR2 LEA DI,VAR5 SET2: MOV [S
37、I],0FCH MOV [DI],00H INC SI INC DI LOOP SET2 CALL DISP INC COUNT RET ;……………………………………. KEYCLR: CMP COUNT,00H JZ CLR1 MOV DI,TAB_C MOV SI,OFFSET VAR4 MOV DL,CL TEST DL,DL JNZ CLR6
38、MOV DL,08H MOV DI,OFFSET TABLE MOV AL,07H CBW ADD DI,AX CLR6: DEC DI DEC DL CLR4: MOV BX,[SI] MOV AX,[SI+2] MOV DH,0FH DIV DH MOV DH,04H MUL DH INC SI INC SI INC SI INC SI PUSH AX CLR5: P
39、OP AX MOV CX,AX PUSH AX CLR2: PUSH DX MOV AL,[DI] MOV DX,0600H OUT DX,AL POP DX DEC DI DEC DL CALL DALLY TEST DL,DL JNZ CLR3 MOV DL,08H MOV DI,OFFSET TABLE MOV AL,07H CBW ADD DI,AX CLR3:
40、 LOOP CLR2 DEC BX JNZ CLR5 MOV AL,COUNT POP AX DEC COUNT JNZ CLR4 MOV COUNT,00H CLR1: MOV CX,0004H LEA SI,VAR3 LEA DI,VAR4 CLR7: MOV [SI],0FCH MOV [DI],00H INC SI INC DI LOOP CLR7 CALL CLRR CAL
41、L DISP RET ;………………………………….. DISP1: PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI MOV D_TIMES,BL MOV AL,D_COUNT CBW MOV BX,OFFSET TABL MOV SI,OFFSET VAR1 MOV DI,OFFSET VAR3 ADD DI,AX ADD
42、 DI,AX ADD DI,AX ADD DI,AX MOV AL,[SI] MOV DX,0604H OUT DX,AL MOV AL,D_TIMES XLAT MOV DX,0602H OUT DX,AL CALL TIME INC SI INC DI MOV CX,0003H DIR1: MOV AL,[SI] MOV DX,0604H OUT DX,AL MO
43、V AL,[DI] MOV DX,0602H OUT DX,AL CALL TIME INC SI INC DI LOOP DIR1 POP DI POP SI POP DX POP CX POP BX POP AX RET ;……………………………………… LP1: MOV CX,0003H LEA SI,VAR2 LEA DI,VAR5 LP2: MOV AL,[SI+1]
44、 MOV [SI],AL MOV AL,[DI+1] MOV [DI],AL INC DI INC SI LOOP LP2 RET ;………………………………… DISP: LEA SI,VAR1 LEA DI,VAR2 MOV CX,0004H DIR: MOV AL,[SI] MOV DX,0604H OUT DX,AL MOV AL,[DI] MOV DX,0602H OUT DX,AL CALL TIME
45、 INC SI INC DI LOOP DIR RET ;…………………………….. CLRR: MOV CX,0004H LEA SI,VAR2 LEA DI,VAR5 CLR8:MOV [SI],0FCH INC SI LOOP CLR8 RET ;…………………………………. TIME: PUSH AX PUSH CX MOV CX,0010H TIME1:MOV AX,00300H TIME2:DEC AX JNZ TIME2 LOOP T
46、IME1 POP CX POP AX RET DALLY:PUSH CX PUSH AX MOV CX,1000H A6: MOV AX,0010H A7: DEC AX JNZ A7 LOOP A6 POP AX POP CX RET DALLY1:PUSH CX PUSH AX MOV CX,0010H AA6: MOV AX,0500H AA7: DEC AX JNZ AA7 LOOP AA6 POP AX POP CX RE
47、T ;..............放鍵測試............. STTK: CALL DISP MOV AL,00H MOV DX,0604H OUT DX,AL MOV DX,0604H IN AL,DX AND AL,60H CMP AL,60H JNZ STTK JMP STT CODE ENDS END START
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。