步進(jìn)電機(jī)控制模塊概況_第1頁
步進(jìn)電機(jī)控制模塊概況_第2頁
步進(jìn)電機(jī)控制模塊概況_第3頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微機(jī)接口課程設(shè)計(jì)步進(jìn)電機(jī)控制模塊姓名:學(xué)號(hào):班級(jí):計(jì)算機(jī)指導(dǎo)老師:一、要求: 實(shí)現(xiàn)步進(jìn)電機(jī)的正反轉(zhuǎn)和暫停功能,同時(shí)通過小鍵盤控制電機(jī) 并在數(shù)碼管上顯示相應(yīng)的標(biāo)志二、硬件連線:鍵盤的行信號(hào) Q_0Q3分別與開放的輸入信號(hào) Q0Q3 相連,鍵 盤的列信號(hào) P_0P_3分別與輸出信號(hào) P0P3 相連;試驗(yàn)儀中部的地 址輸出端 CS-1CS-4分別連接到 8255 模塊下方的 CS-1CS-4;8253 的片選 CS連接地址輸出端 CS1(300H),8253的 A0、A1 分別連地 址總線 A2、A3,8253的 GATE0連+5V,8253的 CLK0 連 74LS393分 頻輸出的 47K 輸出

2、端, 8253的 OUT0 連接到 8259的 IRQ0;8259的 片選 CS-1連地址輸出 CS(6 3A0),8259的 INT1 連接總線輸入 INTR , 8259的模塊的 INT-A 連總線的 INTA ,8259的 SP/1連+5V ;74LS393 的片選 CS2 連接地址輸出 CS4(360),片選 CS1連接地址輸出 CS3 (340)按以上連線,則 8255的 A 口、B 口, C口和控制口的地址依次 為 200H、204H、208H和 20CH;8253的 T0、T1、T2 及控制口的地 址分別為 300H、304H、308H 和 30CH;8259 的奇地址和偶地址分

3、別 是 3A8H,3A0H 。三、程序流程圖:主程序流程圖:主主程序中斷程序流程圖:中斷程序向 8259 寫命令字返回四、代碼:.486pPORT1 EQU 340H;(cs1)數(shù)碼管段碼端口PORT2 EQU 360H;(cs2)數(shù)碼管位選端口,鍵盤矩陣的行列端口DATA SEGMENT AT 0 USE16ORG 1000HFLAGDB ?BAIWEIDB ?SHIWEIDB ?GEWEIDB ?NUMDATASTOPNENDSDB ?CODESEGMENT USE16ASSUME DS:DA TA,CS:CODEORG 1500HBEG:JMP STARTSEVENCOD DB0C0H,

4、0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH0EEH,0DEH,0BEH,0EDH,0DDH,0BDH ;前兩行按鍵的鍵碼0EBH,0DBH,0BBH,0E7H,0D7H,0B7H ;在此處添加后兩行鍵的鍵碼;12 個(gè)按鍵的鍵值KEYCODKEYV ALTENRNUMSTEPDBDBDBDBDBDB0AH,0BH,0CH,1,2,3,4,5,6,7,8,91010001000BSTART:CLIMOV EAX,60000000HMOV CR0,EAX ;裝載 DSMOV AX,DATA MOV DS,AX ;

5、初始化 8255 MOV AL,80H MOV DX,20CH OUT DX,AL MOV AL,80H MOV DX,20DH OUT DX,AL MOV AL,80H MOV DX,20EH OUT DX,AL ;A MOV AL,0FFH MOV DX,200H OUT DX,AL MOV AL,0FFH MOV DX,201HOUT DX,ALMOV AL,0FFHMOV DX,202HOUT DX,AL;BMOV AL,0FFHMOV DX,204HOUT DX,ALMOV AL,0FFHMOV DX,205HOUT DX,ALMOV AL,0FFHMOV DX,206H OUT D

6、X,AL;最右邊 8255MOV AL,80HMOV DX,20FHOUT DX,AL ;初始化 8259;初始化 8259 ICW1 , ICW2MOVAL,00010011BMOVDX,3A0HOUTDX,ALMOVAL,70HMOVDX,3A8HOUTDX,ALMOVAL,00000001b;ICW4 非自動(dòng)中斷OUTDX,AL;中斷屏蔽字 MOV AL,11111110BMOV DX,3A8HOUT DX,AL設(shè)置中斷向量MOVAX,0MOVES,AXMOVBX,70H*4MOVAX,OFFSET RUNMOVES:BX,AXMOVAX,SEG RUNMOVES:BX+2,AXMOVS

7、TOPN,-1AG1:LEA BX,SEVENCODCALL INPUTCMP AL,0CHJZ ST1CMP AL,0AHJZ ZZCMP AL,0BHJZ FZJMP AG1;開始停止鍵ST1:NEG STOPNCMP STOPN,1; 判斷是否需要啟動(dòng)設(shè)備JNZ BQIDONGJMP S1BQIDONG:MOV DX,200HMOV AL,0C6HOUT DX,ALCLIJMP AG1;設(shè)置默認(rèn)值 100S1: MOV DX,204H; 正常運(yùn)轉(zhuǎn)MOV AL,0FFHOUT DX,ALMOV AL,1XLATMOV DX,204HOUT DX,ALMOV AL,0XLATMOV DX,2

8、01HOUT DX,ALMOV AL,0XLATMOV DX,205HOUT DX,ALSTIJMP AG1;正轉(zhuǎn)ZZ:MOV DX,200HMOV AL,88HOUT DX,ALA1:CALL INPUTCMP AL,0AHJZ A1CMP AL,0BHJZ FZMOV SHIWEI,ALXLATMOV DX,201HOUT DX,ALCALL INPUTMOV GEWEI,ALXLATMOV DX,205HOUT DX,ALMOV FLAG ,0; 設(shè)置正反轉(zhuǎn)標(biāo)志位JMP EXIT;反轉(zhuǎn)FZ:MOV DX,200H; 反轉(zhuǎn)MOV AL,83HOUT DX,ALA2: CALL INPUTC

9、MP AL,0AHJZ ZZCMP AL,0BHJZ A2MOV SHIWEI,ALXLATMOV DX,201HOUT DX,ALCALL INPUTMOV GEWEI,ALXLATMOV DX,205HOUT DX,ALMOV FLAG ,1 ;計(jì)算數(shù)值EXIT:MOV BL,SHIWEIADD AL,BLMUL TENMOV BL,GEWEIADD AL,BLMOV AH,0MOV NUM,AX; 輸入的值放在 num 中MOV DX,0MOV AX,58750DIV NUMMOV NUM,AX; 轉(zhuǎn)換為計(jì)數(shù)初值MOV AL,00110110B;8254方式 3BCD 碼MOV DX,3

10、0CHOUT DX,ALMOV DX,300H MOV AX,NUM OUT DX,ALMOV AL,AHOUT DX,ALJMP AG1;通過行掃描法,將鍵值存儲(chǔ)到al 中INPUT PROCPUSH DXPUSH BXPUSH SI;00H 為不顯示任何信息時(shí)對(duì)應(yīng)的七段代碼PUSH DI WT: MOV AL,00HMOV DX,PORT1OUT DX,ALMOV AL,00000000BMOV DX,PORT2OUT DX,AL;使數(shù)碼管全滅 ,并使 3 根列線輸出全 0NOPNOPMOVINANDDX,PORT2AL,DX;( 粗掃描 )若無鍵按下轉(zhuǎn)至 WT 執(zhí)行,否則順序執(zhí)行AL,0

11、FHCMP AL,0FHJZWTCALL DELAYMOVDX,PORT2;再次確認(rèn)是否有鍵按下INAL,DXANDAL,0FHCMPAL,0FHJZWTMOVCX,3;(細(xì)掃描 )開始對(duì)每一列進(jìn)行逐列掃描MOVBL,0FEHNEXT: MOVAL,BL; 在橫線上添加一條語句MOVDX,PORT2OUTDX,ALNOPNOPANDAL,0FHCMPAL,0FHJNZKEYROLBL,1 ; 在橫線上添加一條語句LOOPNEXTJMPWT;按鍵過早釋放 ,可能導(dǎo)致無法識(shí)別KEY:SHLBL,4;8088/8086 指令集中該指令格式錯(cuò)誤 !ORAL,BL;字節(jié)鍵碼信息存入 AL, 高 4 位為

12、列信息低LEASI,KEYCODLEADI,KEYV ALMOVCX,12NEXT1: CMPAL,SIJZFINDINCSIINCDILOOPNEXT1JMPWT;本程序不支持多個(gè)按鍵同時(shí)按下FIND:MOVAL,DI;AL 中內(nèi)容為所按鍵的鍵面值INAL,DXPUSH AX4 位為行信息MOV AL,00000000BMOV DX,PORT2OUTDX,AL;使數(shù)碼管全滅 ,并使 3 根列線輸出全 0NOPNOPNEXT2: MOVDX,PORT2INAL,DX;( 粗掃描 )若無鍵按下轉(zhuǎn)至 WT 執(zhí)行,否則順序執(zhí)行AND AL,0FHCMPAL,0FHJNZ NEXT2POP AXCAL

13、L DELAYPOPDIPOPSIPOPBXPOPDXRETINPUT ENDP;中斷服務(wù)程序 RUN PROC FARPUSH AXPUSH DXCMP FLAG ,0JZ ZHZROL RNUM,1MOV AL,RNUMMOV DX,203H OUT DX,ALSUB STEP,1JMP END1 ZHZ: ROR RNUM,1MOV AL,RNUMMOV DX,203HOUT DX,ALADD STEP,1 END1:MOV CL,STEP CMP STEP,0 JGE W1NEG CL MOV AL,05HMOV DX,20AH OUT DX,AL JMP W2 W1: MOV AL,0AHMOV DX,20AH OUT DX,AL W2: CMP CL,99JB END2MOV STEP,0END2: MOV AL,CLMOV AH,00HDIV TENXLATMOV DX,202HOUT DX,ALXCHG AH,ALXLATMOV DX,206HOUT DX,ALMOV AL,20HMOV DX,3A0HOUT DX,ALPOP DXPOP AXIRETRUN ENDPDELAY PROCMOV CX,2000LOOP $RETDELAY E

溫馨提示

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

評(píng)論

0/150

提交評(píng)論