利用8255A与七段共阳LED连接电路实现循环显示数码0~9。(可利用查表指令XLAT实现。)
程序代码如下:
DATAS SEGMENT
;此处输入数据段代码
TAB DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
DB 88H,83H,0C6H,0A1H,86H,8EH
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV AL,10000001B;8255A的初始化
OUT 36H,AL;控制端口为36H
DISPLAY:LEA BX,TAB;显示初始化
MOV AH,0
NEXT:MOV AL,AH
XLAT;把数据有序输出
OUT 30H,AL;将当前的数据输出到PA口显示输出
MOV CX,6000H;延时
WAIT1:NOP
NOP
LOOP WAIT1
INC AH
CMP AH,0AH
JZ DISPEND
JNZ NEXT
DISPEND:JMP DISPLAY
MOV AH,4CH
INT 21H
CODES ENDS
END START