请帮我看下,另外具体怎么连接啊,我不太懂,要是帮我画个连接图就好了,我们硬件课程设计。 要求顺序点亮led灯,并用数码管显示哪个灯点亮,开关模拟故障,有故障时红外报警灯亮,中断执行,并显示哪个灯出现故障,故障排除继续,我不太会,谢谢大家了。
CONTROL EQU 20BH COUNT0 EQU 208H COUNT1 EQU 209H COUNT2 EQU 20AH ;8253端口地址 code segment assume cs:code,ds:data data segment SUM DB 1 DUP(?) lksign DB 1 DUP(?) data ends start: MOV AL, 00110111B ; 计数器0,16位,先读/写低字节,后高字节,方式3,BCD MOV DX, CONTROL OUT DX, AL MOV Al, 00H MOV DX, COUNT0 OUT DX, AL ; 计数器低字节 MOV AL, 50H OUT DX, AL ; 计数器高字节 MOV AL, 01110111B ; 计数器1,16位,先读/写低字节,后高字节,方式3,BCD MOV DX, CONTROL OUT DX, AL MOV AL, 00H MOV DX, COUNT1 OUT DX, AL ; 计数器低字节 MOV AL, 04H OUT DX, AL ; 计数器高字节 ; 定时初始设置 mov al,10010000b mov dx,203h out dx,al ;初始化8255 mov SUM,00H ;设定计数初值,此值可以改动 MOV AL,0FEH MOV BL,0FEH lp: ;计时累加模块,查看8255端口的信号, call lok call lok MOV AL,BL MOV DX,201H OUT DX,AL SHL AL,01H MOV BL,AL inc SUM push ax push bx push dx call show ;调用显示程序 pop dx pop bx pop ax cmp SUM,08H jnz lp lok proc near lk: mov dx,200h in al,dx ;读入8255a口的值 and al,10000000b ;开关K7接入PA7,按下后时钟暂停 cmp al,10000000b jnz lk mov dx,200h in al,dx and al,10000001b ;检测PA0 时钟信号,是否到一秒了 cmp al,lksign jz lk mov lksign,al ret lok endp show proc near mov dx,212h mov al,0 out dx,al mov al,38h out dx,al;初始化8279 mov dx,210h mov al,0 out dx,al out dx,al out dx,al out dx,al out dx,al out dx,al out dx,al out dx,al;熄灭8279 mov al,SUM mov ah,0 mov dl,10 div dl mov bl,ah;将余数(即秒的个位)放在BL中 mov bh,al;将商(即秒的十位)放在BH中 call trans;调用8279显示秒的个位 mov bl,bh call trans;调用8279显示秒的十位 call trans call trans mov dx,212h mov al,0c2h;清空8279缓存 out dx,al mov al,cl ret show endp trans proc near;数码管显示程序 one: cmp bl,1 jnz two mov al,00000110b two: cmp bl,2 jnz tri mov al,01011011b tri: cmp bl,3 jnz for mov al,01001111b for: cmp bl,4 jnz fiv mov al,01100110b fiv: cmp bl,5 jnz six mov al,01101101b six: cmp bl,6 jnz sev mov al,01111101b sev: cmp bl,7 jnz eit mov al,00000111b eit: cmp bl,8 jnz nin mov al,01111111b nin: cmp bl,9 jnz zro mov al,01101111b zro: cmp bl,0 jnz shw mov al,00111111b shw: mov dx,210h out dx,al ret trans endp CODE ENDS END START
汇编、、、表示看不懂 我学C的。。。
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |