51单片机用数码管计算中断次数,数码管数字一直不变,求解

fishking00 2016-10-29 10:31:28
P0口接八位数码管
P2.2 P2.3 P2.4作译码器作位选

运行的时候,八位数码管一直显示八个零,求解

ORG 0000H
JMP MAIN
ORG 0030H

MAIN:
COUNT0 EQU 30H ;外部中断0的次数
COUNT1 EQU 31H ;外部中断1的次数
STR0 EQU 78H
STR1 EQU 79H
STR4 EQU 7AH
STR5 EQU 7BH
MOV STR0,#00H
MOV STR1,#00H
MOV STR4,#00H
MOV STR5,#00H
MOV COUNT0,#00H
MOV COUNT1,#00H
MOV R0,#STR0
MOV R5,#COUNT0
MOV R6,#COUNT1
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
SETB IT0 ;
SETB IT1
SETB EX0
SETB EX1
SETB EA

LOOP1:
JNB P3.2,INT_0
JNB P3.3,INT_1
MOV A,COUNT0
MOV B,#10
DIV AB
MOV @R0,B
INC R0
MOV A,COUNT0
MOV B,#100
DIV AB
MOV B,#10
DIV AB
MOV @R0,A
INC R0
MOV A,COUNT1
MOV B,#10
DIV AB
MOV @R0,B
INC R0
MOV A,COUNT1
MOV B,#100
DIV AB
MOV B,#10
DIV AB
MOV @R0,A
LCALL DISPLAY
LOOP2:
MOV R0,#STR0
JMP LOOP1
INT_0:
CLR EX0
INC COUNT0
SETB EX0
RET
INT_1:
CLR EX1
INC COUNT1
SETB EX1
RET
DISPLAY:
MOV DPTR,#TAB
CLR P2.4
CLR P2.3
CLR P2.2
MOV P0,#3FH
CLR P2.4
CLR P2.3
SETB P2.2
MOV P0,#3FH
CLR P2.4
SETB P2.3
CLR P2.2
MOV A,STR1
MOVC A,@A+DPTR
MOV P0,A
CLR P2.4
SETB P2.3
SETB P2.2
MOV A,STR0
MOVC A,@A+DPTR
MOV P0,A
SETB P2.4
CLR P2.3
CLR P2.2
MOV P0,#3FH
SETB P2.4
CLR P2.3
SETB P2.2
MOV P0,#3FH
SETB P2.4
SETB P2.3
CLR P2.2
MOV A,#STR5
MOVC A,@A+DPTR
MOV P0,A
SETB P2.4
SETB P2.3
SETB P2.2
MOV A,STR4
MOVC A,@A+DPTR
MOV P0,A
JMP LOOP2

TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
...全文
758 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧