萬用電路板

个人兴趣爱好交流空间

« 电脑机箱散热、噪声问题经验谈LED数码管及引脚图资料 »

查表法流水灯(可以自编花样)

        分享一种新颖的流水灯程序:通过查表法的流水灯程序,可以自编花样。使用《51单片机流水灯硬件系统》文中的硬件即可组成实际的流水灯系统。

                       ORG        0                                ;程序从0地址开始
START:         MOV       DPTR,#TAB          ;将DPTR指向编码表位置
LOOP:           CLR         A                              ;清空ACC
                       MOVC    A,@A+DPTR         ;根据ACC的内容取出编码表里的编码
                       CJNE       A,#0FFH,SHOW   ;若ACC的内容不等于0FFH,则跳至SHOW处执行
                       AJMP      START                   ;跳到START处执行
SHOW:          MOV       P2,A                        ;让P2口输出ACC的内容
                       ACALL   DELAY                   ;调用延时子程序
                       INC          DPTR                      ;将DPTR寄存器的内容加1
                       AJMP     LOOP                       ;跳到LOOP处执行
;延时子程序=====================================================
DELAY:        MOV       R5,#2                        ;R5寄存器加载2次
D0:                 MOV       R7,#250                   ;R7寄存器加载250次数
D1:                 MOV       R6,#250                   ;R6寄存器加载250次数
D2:                 DJNZ      R6,D2                       ;D2循环执行R6次
                       DJNZ      R7,D1                       ;D1循环执行R7次
                       DJNZ      R5,D0                       ;D0循环执行R5次
                       RET                                          ;返回主程序

TAB:                                                               ;流水灯花样可以任意编写
                 DB        10010101B
                 DB        01101010B
                 DB        10100101B
                 DB        01010101B
                 DB        10001010B
                 DB        01101000B
                 DB        10110101B
                 DB        01000010B
                 DB        10000000B
                 DB        01000000B
                 DB        00100000B
                 DB        00010000B
                 DB        00001000B
                 DB        00000100B
                 DB        00000010B
                 DB        00000001B
                 DB        00000000B
                 DB        11111111B
                 DB        11111111B
                 DB        11111111B
                 DB        11111111B
                 DB        11111111B  
                 DB        00000001B
                 DB        00000010B
                 DB        00000100B
                 DB        00001000B
                 DB        00010000B
                 DB        00100000B
                 DB        01000000B
                 DB        10000000B
                 DB        11011101B
                 DB        11101011B
                 DB        11101101B
                 DB        11101011B
                 DB        11011011B
                 DB        10111111B
                 DB        01111011B
                 DB        10111011B
                 DB        11011111B
                 DB        11101011B
                 DB        10110101B
                 DB        11011011B
                 DB        01101101B
                 DB        0FFH
                 END                                                ;主程序结束

原创文章如转载,请注明:转载自萬用電路板 [ http://www.jiangx.net/ ]

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

赞助商广告

最近发表

热文排行

最新评论及回复

图标汇集

  • 留言板
  • 订阅本站的 ATOM 1.0 新闻聚合
  • 订阅本站的 RSS 2.0 新闻聚合

Powered By Z-Blog 1.8

Copyright 2008 JiangX.net 萬用電路板 All Rights Reserved.
鄂ICP备08003060号 [login]