C51单片机对脉冲信号计数遇到的问题
ORG 0000H
LJMP INIT
ORG 0003H //外部中断0
LJMP INT0SUB
ORG 0013H //外部中断1
LJMP INT1SUB
ORG 0100H
INIT: CLR P1.0 //控制端复位
CLR P1.1
MOV DPTR,#TABLE //指向表头
MOV R0,#05H //循环次数
MOV R1,#7FH //位选信号
MOV TMOD,#50H //工作模式
MOV TL1,#00H //初始化
MOV TH1,#00H
SETB EA //启动总中断
SETB EX0 //启动外部中断0
SETB EX1 //启动外部中断1
SETB TR1 //启动计数器1
TRANS: SETB TR1 //启动计数器1
MOV A,TH1
SWAP A
SWAP A
MOV B,TL1
ADD A,B
MOV B,#10 //16进制转10进制
DIV AB
MOV 40H,B //个位
MOV B,#10
DIV AB
MOV 41H,B //十位
MOV B,#10
DIV AB
MOV 42H,B //百位
MOV B,#10
DIV AB
MOV 43H,B //千位
MOV 44H,A //万位
MAIN: MOV A,R1 //位选信号
MOV P0,A //输出位信号
SETB P1.1 //上升沿
CLR P1.1
MOV A,40H //段选信号
MOVC A,@A+DPTR
MOV P0,A //输出段信号
SETB P1.0 //上升沿
CLR P1.0
MOV 40H,41H //改变段选信号
MOV 41H,42H
MOV 42H,43H
MOV 43H,44H
MOV A,R1
RR A //位选右移
MOV R1,A
LCALL DELAY //延时1ms
DJNZ R0,MAIN //循环3次
MOV R0,#05H //循环次数复位
MOV R1,#7FH //位选信号复位
SJMP TRANS
INT0SUB:CLR TR1 //启动/停止
RETI
INT1SUB:MOV TL1,#00H //清0
MOV TH1,#00H
RETI
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH //段选表
DELAY: MOV 30H,#2 //延时1ms
MOV 31H,#234
NEXT: DJNZ 31H,NEXT
DJNZ 30H,NEXT
RET
END
protues仿真后只会显示0-255计数,无法显示更大数值,烦请解答。
数码管显示1-65536范围。