ORG 0010H ;程序由10开始
JMP DDW
DDW:
LOOP: MOV R4,#0 ;显示计数器清0
MOV A,R4
AGAIN:MOV R0,#1H
MOV P2,R0
MOV DPTR,#TABLE ;加载七段显示器数据起始地址
MOVC A,@A+DPTR ;加载七段显示器数据
MOV P0,A ;启动七段显示器显示数据
;等待按键按下
JB P3.2,$ ;若未按键,P3.2位为高电平则继结等待
S1: MOV R5,#1 ;延时10MS
CALL DELAY
JNB P3.2,S1 ;等待按键放开
INC R4 ;计数加1
MOV A,R4
CJNE A,#16,AGAIN ;计数是否结束
JMP LOOP ;再执行循环一次
DELAY:MOV R6,#50 ;延时子程序
S2: MOV R7,#100
DJNZ R7,$
DJNZ R6,S2
DJNZ R5,DELAY
RET
TABLE: ;七段显示器数据定义
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H ; 01234
DB 92H, 82H, 0F8H, 80H, 90H ; 56789