几种流水灯程序.doc

几种流水灯程序.doc

ID:50903373

大小:48.50 KB

页数:10页

时间:2020-03-15

几种流水灯程序.doc_第1页
几种流水灯程序.doc_第2页
几种流水灯程序.doc_第3页
几种流水灯程序.doc_第4页
几种流水灯程序.doc_第5页
资源描述:

《几种流水灯程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、51单片机P1口控制8个LED灯要从P1.0到P1.7然后从P1.7到P1.0这样让LED灯来回流动ORG00HSTART:MOVA,#0FFHCLRCMOVR1,#8LEFT:;向左流动RLCAMOVP1,ACALLDELAYDJNZR1,LEFTMOVR2,#7RIGHT:;向右流动RRCAMOVP1,ACALLDELAYDJNZR2,RIGHTJMPSTARTDELAY:;延时200毫秒MOVR3,#20D1:MOVR4,#20D2:MOVR5,#248DJNZR5,$DJNZR4,D2D

2、JNZR3,D1RETEND或ORG0000HLJMPMAINORG0030HMAIN:MOVA,#0FEH;左移时(P1.0--P1.7)P1.0=0,低电平点亮MOVR3,#07H;移位次数LED_L:MOVP1,A;将移位结果赋给P1RLA;左移LCALLDELAYDJNZR3,LED_L;R3=0?不为0循环,否则顺序执行MOVR3,#07H;为下次循环次数重新赋值;以下为右移代码,注释同上MOVA,#7FHMOVR4,#07HLED_R:MOVP1,ARRALCALLDELAYDJNZ

3、R4,LED_R;MOVR4,#07HSJMPLED_R//延时子程序12M晶振1SDELAY:MOVR0,#100DEL2:MOVR1,#10DEL1:MOVR2,#124NOPDEL0:NOPNOPDJNZR2,DEL0DJNZR1,DEL1DJNZR0,DEL2RETENDP1口控制8个LED灯要从P1.0到P1.7然后从P1.7到P1.0这样让LED灯来回流动5只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。;用最直接的方式实现流水灯ORG0000HSTART:MOVP1,

4、#01111111B;最下面的LED点亮LCALLDELAY;延时60秒LCALLDELAY;延时60秒MOVP1,#10111111B;最下面第二个的LED点亮LCALLDELAY;延时60秒LCALLDELAY;延时60秒MOVP1,#11011111B;最下面第三个的LED点亮(以下省略)LCALLDELAYLCALLDELAY;延时60秒MOVP1,#11101111BLCALLDELAYLCALLDELAY;延时60秒MOVP1,#11110111BLCALLDELAYLCALLDEL

5、AY;延时60秒MOVP1,#11111011BLCALLDELAY;延时60秒LCALLDELAY;延时60秒LCALLDELAY;延时60秒LCALLDELAY;延时60秒LCALLDELAY;完成第一次循环点亮,延时约0.25秒AJMPSTART;反复循环;延时子程序,12M晶振延时约250毫秒DELAY:;大约值:2us*256*256*2=260ms,也可以认为为250msPUSHPSW;现场保护指令(有时可以不加)MOVR4,#240L3:MOVR2,#00HL1:MOVR3,#00

6、HL2:DJNZR3,L2;最内层循环:(256次)2个周期指令(R3减一,如果比1大,则转向L2)DJNZR2,L1;中层循环:256次DJNZR4,L3;外层循环:240次POPPSWRETEND随便改了一个1357亮。2468不亮。中间间隔一个灯main:movP1,#0aahacalldelaymovP1,#55Hacalldelaysjmpmaindelay:movr7,#0ffhde:movr6,#0ffhdjnzr6,$djnzr7,deretend开发板上的8只LED为共阳极连接

7、,即单片机输出端为低电平时即可点亮LED。程序A:;用最直接的方式实现流水灯ORG0000HSTART:MOVP1,#01111111B      ;最下面的LED点亮LCALLDELAY;延时1秒MOVP1,#10111111B            ;最下面第二个的LED点亮LCALLDELAY;延时1秒MOVP1,#11011111B            ;最下面第三个的LED点亮(以下省略)LCALLDELAYMOVP1,#11101111BLCALLDELAYMOVP1,#11110

8、111BLCALLDELAYMOVP1,#11111011BLCALLDELAYMOVP1,#11111101BLCALLDELAYMOVP1,#11111110BLCALLDELAYMOVP1,#11111111B             ;完成第一次循环点亮,延时约0.25秒AJMPSTART                    ;反复循环;延时子程序,12M晶振延时约250毫秒DELAY:MOVR4,#2L3:MOVR2,#250L1:MOVR3,#250L2:DJNZR3,L2DJNZ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。