计时器中断扫描数码管的问题程序,求高手赐教啊!...
时间:10-02
整理:3721RD
点击:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP INT_TIMER0 ;中断为了完成一秒的延时
ORG 0030H
MAIN:
LATCH1 BIT P2.2
LATCH2 BIT P2.3
MOV 20H, #3FH ;0
MOV 21H, #06H ;1
MOV 22H, #5BH ;2
MOV 23H, #4FH ;3
MOV 24H, #66H ;4
MOV 25H, #6DH ;5
MOV A, #0FEH ;扫描程序
MOV R0, #20H
SETB C
MOV TL0, #0B0H
MOV TH0, #3CH
MOV R6, # 14H
MOV TMOD,#01H
SETB EA
SETB ET0
SETB TR0
LOOP:
MOV P0, A
SETB LATCH2
CLR LATCH2
MOV P0,@R0
SETB LATCH1
CLR LATCH1
SJMP $
INT_TIMER0:
DJNZ R6, NEXT
RLC A
INC R0
NEXT:
MOV TH0 ,#3CH ;65536-50000=15536=3CB0H
MOV TL0 ,#0B0H
RETI
END
我得目的是为了在led上以一秒的延时分别显示 0 1 2 3 4 5 我想请问各位高手的是 为啥我这个实现不了位移 只是显示一个'0'然后就不动了 我错在哪了? 又应该怎么改进呢 高手们 求教啊
中断服务程序只做了RLC A这个事,没有送去
不是的 这个程序是因为 没有重新对r2重新赋值 不过还是谢谢小编 我已经编出来了
一同学习了