最经典的51单片机经典流水灯汇编程序文件.docx

上传人:b****1 文档编号:658646 上传时间:2022-10-11 格式:DOCX 页数:68 大小:40.53KB
下载 相关 举报
最经典的51单片机经典流水灯汇编程序文件.docx_第1页
第1页 / 共68页
最经典的51单片机经典流水灯汇编程序文件.docx_第2页
第2页 / 共68页
最经典的51单片机经典流水灯汇编程序文件.docx_第3页
第3页 / 共68页
最经典的51单片机经典流水灯汇编程序文件.docx_第4页
第4页 / 共68页
最经典的51单片机经典流水灯汇编程序文件.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

最经典的51单片机经典流水灯汇编程序文件.docx

《最经典的51单片机经典流水灯汇编程序文件.docx》由会员分享,可在线阅读,更多相关《最经典的51单片机经典流水灯汇编程序文件.docx(68页珍藏版)》请在冰豆网上搜索。

最经典的51单片机经典流水灯汇编程序文件.docx

最经典的51单片机经典流水灯汇编程序文件

单片机流水灯汇编程序设计

开发板上的8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。

程序A:

;用最直接的方式实现流水灯

ORG0000H

START:

MOVP1,#01111111B   ;最下面的LED点亮

LCALLDELAY;延时1秒

MOVP1,#10111111B      ;最下面第二个的LED点亮

LCALLDELAY;延时1秒

MOVP1,#11011111B      ;最下面第三个的LED点亮(以下省略)

LCALLDELAY

MOVP1,#11101111B

LCALLDELAY

MOVP1,#11110111B

LCALLDELAY

MOVP1,#11111011B

LCALLDELAY

MOVP1,#11111101B

LCALLDELAY

MOVP1,#11111110B

LCALLDELAY

MOVP1,#11111111B       ;完成第一次循环点亮,延时约0.25秒

AJMPSTART          ;反复循环

;延时子程序,12M晶振延时约250毫秒

DELAY:

MOVR4,#2

L3:

MOVR2,#250

L1:

MOVR3,#250

L2:

DJNZR3,L2

DJNZR2,L1

DJNZR4,L3

RET

END

程序B:

;用移位方式实现流水灯

org00h  ;程序上电从00h开始

ajmpmain ;跳转到主程序

org0030h  ;主程序起始地址

main:

mova,#0feh ;给A赋值成11111110

loop:

movp1,a ;将A送到P1口,发光二极管低电平点亮

lcalldelay ;调用延时子程序

rla  ;累加器A循环左移一位

ajmploop;重新送P1显示

delay:

movr3,#20 ;最外层循环二十次

d1:

movr4,#80 ;次外层循环八十次

d2:

movr5,#250 ;最层循环250次

djnzr5,$ ;总共延时2us*250*80*20=0.8S

djnzr4,d2

djnzr3,d1

ret

end

51单片机经典流水灯程序,在51单片机的P2口接上8个发光二极管,产生流水灯的移动效果。

                    ORG       0                  ;程序从0地址开始

START:

      MOV     A,#0FEH    ;让ACC的容为11111110

LOOP:

        MOV     P2,A           ;让P2口输出ACC的容

                     RR         A                  ;让ACC的容左移

                     CALL    DELAY       ;调用延时子程序

                     LJMP    LOOP         ;跳到LOOP处执行

;0.1秒延时子程序(12MHz晶振)===================

DELAY:

      MOV     R7,#200     ;R7寄存器加载200次数

D1:

               MOV     R6,#250     ;R6寄存器加载250次数

                     DJNZ    R6,$            ;本行执行R6次

                     DJNZ    R7,D1         ;D1循环执行R7次

                     RET                           ;返回主程序

                     END                          ;结束程序

开关控制的单片机流水灯汇编

在单片机控制下,用一个拨动开关K1,控制8个发光二极管L1-L8,发光的时间间隔为0.5秒。

具体要求:

当拨动开关K1发出低电平(K1=0)时,L1-L8从两头向中间逐个点亮,当L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。

当拨动开关K1发出高电平(K1=1)时,中间的L4、L5点亮,然后点亮的灯向两边扩展,直到L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。

悬赏分:

20-解决时间:

2009-12-2113:

42

提问者:

---------

最佳答案:

;--------------------------------------------

下列程序,经过了编译、仿真,可以满足要求。

;--------------------------------------------

ORG0000H

MOVR2,#0

M_LOOP:

MOVA,R2

INCR2

ANLA,#07H

MOVC,P1.0

MOVACC.3,C

MOVDPTR,#TAB

MOVCA,A+DPTR

MOVP0,A

CALLDL5KT

SJMPM_LOOP

;--------------------------------------------

TAB:

DB0xFF,0xE7,0xC3,0x81,0x00,0x00,0x00,0x00

DB0xFF,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00

;--------------------------------------------

DL5KT:

movR5,#10

MOVR6,#100

MOVR7,#250

DJNZR7,$

DJNZR6,$-4

DJNZR5,$-8

RET

;--------------------------------------------

END

流水灯汇编程序

8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。

;用最直接的方式实现流水灯

ORG0000H

START:

MOVP1,#01111111B      ;最下面的LED点亮

  LCALLDELAY     ;延时1秒

  MOVP1,#10111111B            ;最下面第二个的LED点亮

  LCALLDELAY     ;延时1秒

  MOVP1,#11011111B            ;最下面第三个的LED点亮(以下省略)

  LCALLDELAY

  MOVP1,#11101111B

  LCALLDELAY

  MOVP1,#11110111B

  LCALLDELAY

  MOVP1,#11111011B

  LCALLDELAY

  MOVP1,#11111101B

  LCALLDELAY

  MOVP1,#11111110B

  LCALLDELAY

  MOVP1,#11111111B             ;完成第一次循环点亮,延时约0.25秒

  AJMPSTART                    ;反复循环

;延时子程序,12M晶振延时约250毫秒

DELAY:

    ;大约值:

2us*256*256*2=260ms,也可以认为为250ms

PUSHPSW   ;现场保护指令(有时可以不加)

MOVR4,#2  

L3:

MOVR2,#00H

L1:

MOVR3,#00H

L2:

DJNZR3,L2   ;最层循环:

(256次)2个周期指令(R3减一,如果比1大,则转向L2)

 DJNZR2,L1   ;中层循环:

256次

 DJNZR4,L3   ;外层循环:

2次

 POPPSW

 RET

 END

 

51汇编单片机LED花样流水灯

(1)

start:

CLRP1.0

     ACALLDELAY

     SETBP1.0

     ACALLDELAY

     CLRP1.1

     ACALLDELAY

     SETBP1.1

     ACALLDELAY

     CLRP1.2

     ACALLDELAY

     SETBP1.2

     ACALLDELAY

     CLRP1.3

     ACALLDELAY

     SETBP1.3

     ACALLDELAY

     CLRP1.4

     ACALLDELAY

     SETBP1.4

     ACALLDELAY

     CLRP1.5

     ACALLDELAY

     SETBP1.5

     ACALLDELAY

     CLRP1.6

     ACALLDELAY

     SETBP1.6

     ACALLDELAY

     CLRP1.7

     ACALLDELAY

     CLRP1.7

     ACALLDELAY

     CLRP1.0

     ACALLDELAY

     SETBP1.0

     ACALLDELAY

     CLRP1.1

     ACALLDELAY

     SETBP1.1

     ACALLDELAY

     CLRP1.2

     ACALLDELAY

     SETBP1.2

     ACALLDELAY

     CLRP1.3

     ACALLDELAY

     SETBP1.3

     ACALLDELAY

     CLRP1.4

     ACALLDELAY

     SETBP1.4

     ACALLDELAY

     CLRP1.5

     ACALLDELAY

     SETBP1.5

     ACALLDELAY

     CLRP1.6

     ACALLDELAY

     CLRP1.6

     ACALLDELAY

     

     CLRP1.0

     ACALLDELAY

     SETBP1.0

     ACALLDELAY

     CLRP1.1

     ACALLDELAY

     SETBP1.1

     ACALLDELAY

     CLRP1.2

     ACALLDELAY

     SETBP1.2

     ACALLDELAY

     CLRP1.3

     ACALLDELAY

     SETBP1.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1