51单片机汇编语言,用定时器中断实现数码管从0-F每秒进1且循环进行。
电路与程序如下:
由于条件不足,晶振频率不明,所以,本程序没有精确定时。
提问者采纳的答案是错误的。
题目要求显示 0~F,这就需要 16 个七段码。
而采纳答案中,并没有写全。
不知道你要显示几位,我写了个1位显示的。前提是共阴数码LED且一端已接地,由P1口控制。ORG 0000H
LJMP START
ORG 0003H
LJMP INTT0
ORG 0600H
START: SETB EA
SETB EX0 打开外部中断0
CLR IT0 令中断0为电平触发
MOV @R0,#00H
DISPLAY: MOV DPTR,#TAB给字形表的初地址
MOV A,R0将要显示的数给A
MOVC A,@A+DPTR 在字形表中取数放到A
MOV P1,A 假设是P1口输出要显示的数据把A放到P1中
SJMP DISPLAY 循环显示等待中断
INTT0:INC @R0 ;中断中有按键着加1
RETI
TAB:DB 3FH,06H,5BH,4FH,66H 字形表
DB 6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)