ORG 0000H
SJMP START
ORG 000BH
SJMP DS0
START:
CLR TR0
MOV A,#81H
MOV DPTR,#0FF23H ;8255 芯片初始化
MOVX @DPTR,A
MOV TMOD,#01H ;T0 作为定时器
MOV TH0,#0F0H
MOV TL0,#10H ;定时器 T0 赋初值
MOV IE,#82H
MOV 71H,#00H ;置各数码管显示初值
MOV 72H,#00H
MOV 73H,#00H
MOV 74H,#00H
MOV 75H,#06H
MOV 76H,#00H
MOV 40H,#50 ;置显示延时值
MOV 00H,#00H ;值各数码管是否显示的标志初始值
MOV 01H,#00H
MOV 02H,#00H
MOV 03H,#00H
MOV 04H,#00H
MOV R0,#00H ;置各用于标志是否调用功能程序的寄存器初值
MOV R1,#00H
MOV R3,#00H
MOV R4,#00H
MOV 50H,#10 ;对存储各数码管循环显示值的循环次数的存储单元赋
值
MOV 51H,#10
MOV 52H,#10
MOV 53H,#10
MOV 54H,#10
MOV 55H,#10
SETB TR0 ;开定时器 T0
CLR C
SJMP $ ;中断等待
DS0:
MOV TH0,#0F0H
MOV TL0,#10H
LCALL KEY_STATE ;调用键扫程序