数码管显示数字0-9及A-F数据
——
;*******************************************************************
;* Date : 2004.4.20 *
;* Support Mb: 0735-2197559 E-mail:c51cn@163.com *
;* Create by :邓德武 http://www.c51.cn 更多例程请登陆网站 *
;* 网站单片机学习资料同步更新,敬请新老朋友随时关注 *
;*******************************************************************
ORG 0000H
JMP DDW
ORG 0010H ;程序由10开始
DDW:
LOOP: MOV R4,#0H ;显示计数器清0
MOV A,R4
AGAIN:MOV R0,#11000000B ;开前面6个显示
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
DB 88H, 83H, 46H, 0A1H, 86H ; ABCDE
DB 8EH ; F
END
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论