[post] 功能说明:用一位数码管循环显示数字0~9数字变换的间隔时间为1
START: MOV DPTR,#TABLE ;存入表的起始地址
MOV R0,#0 ;设定初始值
LOOP: MOV A,R0 ;
MOVC A,@A+DPTR ;取表代码
MOV P0,A ;送P0输出
ACALL DLY1S ;调用延时程序
INC R0 ;R0值加1
CJNE R0,#10,LOOP ;不是10,循环
JMP START ;重新开始
DLY1S: MOV R5,#50 ;延时1S
D1: MOV R6,#100
D2: MOV R7,#100
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
TABLE: DB 0C0H,0F9H,0A4H,0B0H ;代码表
DB 99H,92H,82H,0F8H
DB 80H,90H,88H,83H
DB 0C6H,0A1H,86H,8EH
END ;程序结束[/post]