您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>汇编编程>

单片机在LED中的应用-LED广告灯、LED流水灯

大小:0.1 MB 人气: 2017-09-06 需要积分:0

1、LED广告灯

;********************************************************************
        ORG     0000H          ;
        LJMP    START          ;转入主程序
        ORG     0030H          ;
START:
        MOV     SP,#60H        ;贼堆栈初值为60H 
LOOP:
 MOV DPTR,#TABLE    ;
LOOP1:  CLR     A        ;A清零
        MOVC    A,@A+DPTR      ;取数据表第1个数据
        CJNE    A,#0BH,DISP1   ;若数据为0BH,表示数据表结束
        AJMP    LOOP        ;则返回,从头开始
DISP1:  MOV     P2,A        ;数据送P2口显示
        MOV     R1,#10H        ;设LED灯亮延时常数
        LCALL   DELAY         ;调用延时子程序
        INC     DPTR        ;取数地址加1
        AJMP    LOOP1        ;继续读取下一个数据
;*****************************************************************************
DELAY:  MOV     R2,#29H        ;延时子程序
DEL1:   MOV     R3,#0F0H
DEL2:   DJNZ    R3,$
        DJNZ    R2,DEL1
        DJNZ    R1,DELAY
        RET     
;*****************************************************************************
TABLE:
        DB      0FEH  ;1111 1110  P2.0 LED灯亮
        DB      0FDH  ;1111 1101  P2.1 LED灯亮
        DB      0FBH  ;1111 1011  P2.2 LED灯亮
        DB      0F7H  ;1111 0111  P2.3 LED灯亮
        DB      0EFH  ;1110 1111  P2.4 LED灯亮
        DB      0DFH  ;1101 1111  P2.5 LED灯亮
        DB      0BFH  ;1011 1111  P2.6 LED灯亮
        DB      7FH  ;0111 1111  P2.7 LED灯亮
        DB      0BFH
        DB      0DFH
        DB      0EFH
        DB      0F7H
        DB      0FBH
        DB      0FDH
        DB      0FEH
        DB      0FFH
        DB      00H
        DB      0FFH
        DB      00H
        DB      0FFH
        DB      3FH
        DB      0CFH
        DB      0F3H
        DB      0FCH
        DB      0F3H
        DB      0CFH
        DB      3FH
        DB      03H
        DB      06H
        DB      0CH
        DB      18H
        DB      30H
        DB      60H
        DB      0C0H
        DB      60H
        DB      30H
        DB      00H
        DB      0FFH
        DB      00H
        DB      0FFH

        DB      0FEH
        DB      0FFH
        DB      0FH
        DB      0F0H
        DB      0AAH
        DB      55H
        DB      0AAH
        DB      55H
        DB      0AAH
        DB      01H
        DB      02H
        DB      04H
        DB      08H
        DB      10H
        DB      20H
        DB      40H
        DB      80H
        DB      00H
        DB      0FFH
        DB      0BH    ;数据表结束标志
        END
 

2、LED流水灯

 
;********************************************************************
        ORG     0000H          ;
        LJMP    START          ;转入主程序
        ORG     0030H          ;
START:
        MOV     SP,#60H        ;贼堆栈初值为60H 
;----------------------------------
MAIN:
 MOV A,#0FEH        ;初始点亮LED1
LOOP:
 MOV P2,A           ;将A的内容贼值给P2口
 CALL DELAY          ;延时
 RL A              ;循环移位
 LJMP LOOP           ;不停循环
;------------------------------------------
DELAY:
 MOV R3,#5          ;延时程序
DELAY10M1: 
 MOV R4,#200        ;
DELAY10M2:
 MOV R5,#247        ;
 DJNZ R5,$           ;
 DJNZ R4,DELAY10M2   ;
 DJNZ R3,DELAY10M1   ;
        RET                    ;
        END                    ;

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!