赞助论坛
  • 8290阅读
  • 0回复

数码管循环显示数字0~9数字 [复制链接]

楼层直达
liyan  
发帖
60
精华
0
金币
105
威望
1
贡献
4
好评
0
注册
2009-09-09
楼主    liyan 发表于: 2009-09-14 08:45:39 
[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]