.486p
PORT1 EQU 340H ;(cs1)数码管段码端口 PORT2 EQU 360H ;(cs2)数码管位选端口,键盘矩阵的行列端口 DATA SEGMENT AT 0 USE16 ORG 1000H FLAG DB ? BAIWEI DB ? SHIWEI DB ? GEWEI DB ? NUM DW ? STOPN DB ? DATA ENDS
CODE SEGMENT USE16
ASSUME DS:DATA,CS:CODE ORG 1500H
BEG: JMP START
SEVENCOD DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
KEYCOD DB 0EEH,0DEH,0BEH,0EDH,0DDH,0BDH ;前两行按键的键码
DB 0EBH,0DBH,0BBH,0E7H,0D7H,0B7H ;在此处添加后两行键的键码
KEYVAL DB 0,1,2,3,4,5,6,7,8,9,0AH,0BH ;12个按键的键值
TEN DB 10
RNUM DB 10001000B STEP DB 0
START:CLI MOV EAX,60000000H MOV CR0,EAX ;装载DS MOV AX,DATA MOV DS,AX
;初始化8255 MOV AL,80H MOV DX,20CH OUT DX,AL MOV AL,80H
6
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,201H OUT DX,AL MOV AL,0FFH MOV DX,202H OUT DX,AL ;B
MOV AL,0FFH MOV DX,204H OUT DX,AL MOV AL,0FFH MOV DX,205H OUT DX,AL MOV AL,0FFH MOV DX,206H OUT DX,AL ;最右边8255 MOV AL,80H MOV DX,20FH OUT DX,AL
;初始化8259
;初始化8259 ICW1,ICW2 MOV AL,00010011B MOV DX,3A0H OUT DX,AL
MOV AL,70H MOV DX,3A8H OUT DX,AL
MOV AL,00000001b;ICW4非自动中断 OUT DX,AL
;中断屏蔽字
MOV AL,11111110B
7
MOV DX,3A8H OUT DX,AL
;设置中断向量 MOV AX,0 MOV ES,AX MOV BX,70H*4
MOV AX,OFFSET RUN MOV ES:[BX],AX MOV AX,SEG RUN MOV ES:[BX+2],AX MOV STOPN,-1 AG1:
LEA BX,SEVENCOD CALL INPUT CMP AL,00H JZ ST1 CMP AL,01H JZ ZZ CMP AL,02H JZ FZ JMP AG1
;开始停止键
ST1: NEG STOPN
CMP STOPN,1;判断是否需要启动设备 JNZ BQIDONG JMP S1
BQIDONG:MOV DX,200H MOV AL,92H OUT DX,AL CLI JMP AG1
;设置默认值100 S1: MOV DX,200H MOV AL,0FFH OUT DX,AL MOV AL,1
MOV BAIWEI,AL XLAT
MOV DX,204H OUT DX,AL
MOV AL,0
8
MOV SHIWEI,AL XLAT
MOV DX,201H OUT DX,AL
MOV AL,0 MOV GEWEI,AL XLAT
MOV DX,205H OUT DX,AL
MOV FLAG,0 JMP EXIT ;正转 ZZ:
MOV DX,200H MOV AL,0FFH OUT DX,AL A1: CALL INPUT CMP AL,03H JB A1 SUB AL,3
MOV BAIWEI,AL XLAT
MOV DX,204H OUT DX,AL
CALL INPUT SUB AL,3
MOV SHIWEI,AL XLAT
MOV DX,201H OUT DX,AL
CALL INPUT SUB AL,3 MOV GEWEI,AL XLAT
MOV DX,205H OUT DX,AL
MOV FLAG,0;设置正反转标志位 MOV STOPN,1 JMP EXIT
9
;反转 FZ:
MOV DX,200H;反转 MOV AL,0BFH OUT DX,AL A2: CALL INPUT CMP AL,03H JB A2 SUB AL,3 MOV BAIWEI,AL XLAT
MOV DX,204H OUT DX,AL
SUB AL,3
MOV SHIWEI,AL XLAT
MOV DX,201H OUT DX,AL
CALL INPUT SUB AL,3
MOV GEWEI,AL XLAT
MOV DX,205H OUT DX,AL
MOV FLAG,1 MOV STOPN,1 JMP EXIT ;计算数值 EXIT: MOV AL,BAIWEI MUL TEN
MOV BL,SHIWEI ADD AL,BL MUL TEN
MOV BL,GEWEI ADD AL,BL MOV AH,0
MOV NUM,AX;输入的值放在num中
MOV DX,0 MOV AX,58750 DIV NUM
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机接口课设-本地步进电机综合控制(2)在线全文阅读。
相关推荐: