微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 计时器中断扫描数码管的问题程序,求高手赐教啊!...

计时器中断扫描数码管的问题程序,求高手赐教啊!...

时间: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重新赋值  不过还是谢谢小编  我已经编出来了

一同学习了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top