单片机控制左右来回循环的流水灯.docx

上传人:scccc 文档编号:12927005 上传时间:2021-12-07 格式:DOCX 页数:3 大小:25.80KB
返回 下载 相关 举报
单片机控制左右来回循环的流水灯.docx_第1页
第1页 / 共3页
单片机控制左右来回循环的流水灯.docx_第2页
第2页 / 共3页
单片机控制左右来回循环的流水灯.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机控制左右来回循环的流水灯.docx》由会员分享,可在线阅读,更多相关《单片机控制左右来回循环的流水灯.docx(3页珍藏版)》请在三一文库上搜索。

1、左右来回循环的流水灯设计要求8个发光二极管LEDA LED7经限流电阻分别接至P1 口的P1.0P1.7引脚上, 阳极共同接高电平。编程实现制作左右来回循环的节日彩灯, 显示规律如下图所 示。£ 8个LED依次左移点亮 依次右移点亮 题37图 节日彩灯的花样显示的规律为了使显示效果更加绚丽多彩,P1端口 8个引脚分别接有不同颜色的发光二 极管。具体如题37表所示。题37表 P1 口 8个引脚的不同颜色的发光二极管P1 口引脚发光二极管的颜色P1.0红色LEDP1.1蓝色LEDP1.2绿色LEDP1.3黄色LEDP1.4红色LEDP1.5蓝色LEDP1.6绿色LEDP1.7黄色LED使

2、用C51编流水灯程序以及设计相应的硬件电路十分简单,且有多种方法。本方案力求程序最简化最清晰原则,用 NS图(盒图)表示算法如下:初始化i二0点亮第一个灯,延时DO WHILEi+十,点亮下一个灯,延时DO UNTIL i=7i,点亮上一个灯,延时DO UNTIL i=0程序中设置中间变量 temp用来给P1 口赋值,命令_crol_和_cror_用于使temp左移或右移, 例如当temp=11111110B时,执行_crol_(temp,1)之后temp=11111101,应用此两条语句必须 把头文件<intrins.h>包含进来。全部代码如下:#include<reg51

3、.h>定义字符变量temp,temp左移或右移并给连接定义延退函数delay()给temp赋初值/temp赋值给P1 口,第一个 LED (红色)点亮主程序,括号中的程序将一直循环左移部分,LED从左到右依次点亮/_crol_语句控制变量temp左移/每个灯点亮之后延退一会在点下一个灯#include<intrins.h> unsigned char temp;LED的P1 口赋值int a;void delay(void);void main()temp=0xfe;P1=temp;while(1)for(a=0;a<7;a+)temp=_crol_(temp,1);d

4、elay();P1=temp;for(a=0;a<7;a+) /右移部分,LED从右到左依次点亮temp=_cror_(temp,1);/第8个灯点亮后开始右移程序,LED从右向左点亮延时子程序/定义局部变量i,j/i,j不断计数占用 CPU时间,达到延时目的delay(); P1=temp;void delay()int i,j;for(i=200;i>0;i-)for(j=1;j<150;j+);电路连接如下:30pF, _ <TEXT>_ |-C2 一 一乂i :CRYfiTL-.W.<7EX.T>次 TAL1P0.C/W0P0-1/W1PO-2

5、/®2XT正P0.3/AC3PD4AD4P0.6/AD5PO.C/ADBRSTP0J/AD7P2.0ifiGP2 .伽P2.2tfV10P S EMP2.3j4M1ALEP2.4M12EAPM 除13P26/A14P2.7/M5P1DP3.0/RXDP1.1P3.1JXDP12P3.2/INT0P13P3.3/iirnP1.4P15ps.emPISP3.B/WRP17P3.7/RDU119u8I7ATB9C51 <TJEXT>u、61。伯146212223203031R.1 -<T.BCTR2<T-E>;TR3.1k- R4.化“R5. 1k -T.DClUR7.供口P|eIMe,.T , fTEX底 <TEKrx <TS(r>. vrexixTEX。. <TEXr>. tTES®-*.TEXT*

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1