freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微機(jī)課程設(shè)計(jì)報(bào)告小型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)(附程序清單)(編輯修改稿)

2025-08-30 12:28 本頁面
 

【文章內(nèi)容簡介】 ADD DL,AL MOV CL,4 MOV CL,4 SHL DX,CL SHL DX,CL MOV CL,100 ADD DL,AH DIV CL MOV AX,DX ADD DL,AL POP DX MOV CL,4 POP CX而在算術(shù)運(yùn)算方面也遇到了不少的問題,由于設(shè)計(jì)過程中存在著小數(shù)所以很多時(shí)候總會出現(xiàn)算術(shù)方面錯(cuò)誤,具體表現(xiàn)為結(jié)果的溢出或者結(jié)果小數(shù)點(diǎn)位置錯(cuò)誤。解決的方法通常是先將所要計(jì)算的數(shù)值乘以100等使得數(shù)值為整數(shù),然后再進(jìn)行計(jì)算,而在結(jié)果輸出時(shí)再除以相映的數(shù)值從而實(shí)現(xiàn)小數(shù)的算術(shù)運(yùn)算功能,而不需要采用定義浮點(diǎn)型去計(jì)算小數(shù)以避免出現(xiàn)數(shù)值定義的錯(cuò)誤。另一個(gè)常見的錯(cuò)誤就是自定義存儲空間之間的數(shù)值存放,因?yàn)樵谠S多時(shí)候總是需要將結(jié)果保存在某一段存儲空間里面,由于對存儲空間的定義使得其大小范圍各有不同,所以對其賦值時(shí)總是會出現(xiàn)溢出或數(shù)值轉(zhuǎn)換的錯(cuò)誤。而在子程序調(diào)用以循環(huán)方面存在的問題是指針的計(jì)數(shù)以及標(biāo)志位清零或置1搞錯(cuò)從而使子程序運(yùn)算錯(cuò)誤或者進(jìn)入死循環(huán)等。所采取的解決方法是對指針計(jì)數(shù)值在各個(gè)部分運(yùn)算結(jié)束后進(jìn)行清零以保證指針初值的正確。最后的問題就是DOS系統(tǒng)功能調(diào)用和BIOS中斷調(diào)用,因?yàn)楸菊n題設(shè)計(jì)中要實(shí)現(xiàn)軟件時(shí)鐘,所以需要對軟件延遲以及中斷調(diào)用有一定的了解,對此在設(shè)計(jì)時(shí)查閱了一些相關(guān)的軟件中斷命令。當(dāng)個(gè)模塊都調(diào)試成功后,即可合成到一起運(yùn)行。本系統(tǒng)電機(jī)的速度可以通過速度增減鍵來控制。通過驗(yàn)證各按鍵是否被有效采用,來檢驗(yàn)該系統(tǒng)是否正確的完成了指定的功能。八、實(shí)驗(yàn)程序的流程圖電機(jī)停止轉(zhuǎn)動鍵值為0?延時(shí)等待仍在按下?初始化8255開始小鍵盤有鍵按下?改變電機(jī)轉(zhuǎn)向(速度置最低)電機(jī)運(yùn)行電機(jī)速度方向不變電機(jī)暫停鍵值為2?鍵值為3?鍵值為4~7結(jié)束小鍵盤有鍵按下?鍵值為1?數(shù)碼管同步顯示電機(jī)的狀態(tài)、轉(zhuǎn)速和方向主流程圖:否是否否是是 電機(jī)速度檔位否是否是否是是是否否掃描與顯示流程圖:鍵盤顯示子程序流程圖:鍵盤掃描子程序流程圖:九、匯編程序清單及程序注釋。步進(jìn)電機(jī)實(shí)驗(yàn)IOY0 EQU 0e400H 。片選IOY0對應(yīng)的端口始地址MY8255_A EQU IOY0+00H*4 。8255的A口地址MY8255_B EQU IOY0+01H*4 。8255的B口地址MY8255_C EQU IOY0+02H*4 。8255的C口地址MY8255_MODE EQU IOY0+03H*4 。8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTDTABLE1 DB 6DH,79H,73H,77H,39H,06H,5BH,4FH,66H,80HDTABLE3 DB 10H,30H,20H,60H,40H,0C0H,80H,90HDATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,3000HMOV [SI],00HMOV [SI+2],09HMOV [SI+4],04HMOV [SI+6],05HMOV [SI+8],01HMOV DX,MY8255_MODE 。初始化8255工作方式 MOV AL,81H 。方式0,A口、B口輸出,C口低4位輸入 OUT DX,ALKAISHI: MOV SI,3000H MOV DH,[SI+8]CMP DH,8JA ZHI1CMP DH,1JB ZHI8JMP JIXUZHI1: MOV [SI+8],01HJMP JIXUZHI8: MOV [SI+8],08HJIXU: CALL KEYSCANMOV AH,1 。判斷是否有按鍵按下INT 16HJZ SFRUN 。無按鍵則跳回繼續(xù)循環(huán),有則退出QUIT: MOV AX,4C00H 。結(jié)束程序退出INT 21HSFRUN: MOV SI,3000H MOV DH,[SI]CMP DH,01HJNZ JIXU MOV DH,[SI+4] CMP DH,04H JNZ ZIJIAN INC [SI+8] JMP RUNKAISHI1: JMP KAISHIZIJIAN: DEC [SI+8]RUN: MOV AL,[SI+8] MOV BX,OFFSET DTABLE3 AND AX,00FFH ADD BX,AX DEC BX MOV AL,[BX] MOV DX,MY8255_C OUT DX,AL DANG1: MOV DH,[SI+6] CMP DH,05H JNZ DANG2 PUSH CX MOV CX,10HDA1: CALL DALLY1 CALL DALLY1 CALL DALLY1 CALL DALLY1CALL KEYSCAN JMP KAISHIDANG2: CMP DH,06H JNZ DANG3DA2: CALL DALLY1 CALL DALLY1 CALL DALLY1 JMP KAISHIDANG3: CMP DH,07H JNZ DANG4DA3: CALL DALLY1 CALL DALLY1 JMP KAISHIDANG4: CMP DH,08H JNZ KAISHI1DA4: CALL DALLY1 CALL KEYSCAN JMP KAISHIDALLY1 PROC NEAR 。軟件延時(shí)子程序 PUSH CX PUSH AX MOV CX,00AFHD11: MOV AX,5000HD22: DEC AX JNZ D22PUSH CX PUSH AX CALL KEYSCAN POP AX POP CXLOOP D11 POP AX POP CX RET DALLY1 ENDPKEYSCAN PROC NEAR 。鍵盤掃描子程序BEGIN: CALL DIS 。顯示刷新 CALL CLEAR 。清屏 CALL CCSCAN 。掃描按鍵 JNZ GETKEY1 。有鍵按下則跳置GETKEY1 JMP GOBACK1GETKEY1:CALL DIS 。顯示刷新 CALL DALLY CALL DALLY CALL CLEAR 。清屏 CALL CCSCAN 。再次掃描按鍵 JNZ GETKEY2 。有鍵按下則跳置GETKEY2 JMP BEGIN 。否則跳回開始繼續(xù)循環(huán)GETKEY2:MOV CH,0FEH MOV CL,00H 。設(shè)置當(dāng)前檢測的是第幾列COLUM: MOV AL,CH 。選取一列,將X1~X4中一個(gè)置0 MOV DX,MY8255_A OUT DX,AL MOV DX,MY8255_C 。讀Y1~Y4,用于判斷是哪一行按鍵閉合 IN AL,DXL1: TEST AL,01H 。是否為第1行 JNZ L2 。不是則繼續(xù)判斷 MOV AL,00H 。
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1