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

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

ID:50950617

大小:70.00 KB

页数:3页

时间:2020-03-16

单片机控制左右来回循环的流水灯.doc_第1页
单片机控制左右来回循环的流水灯.doc_第2页
单片机控制左右来回循环的流水灯.doc_第3页
资源描述:

《单片机控制左右来回循环的流水灯.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、左右来回循环的流水灯设计要求8个发光二极管LED0~LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。编程实现制作左右来回循环的节日彩灯,显示规律如下图所示。题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使用C51编流水灯程序

2、以及设计相应的硬件电路十分简单,且有多种方法。本方案力求程序最简化最清晰原则,用NS图(盒图)表示算法如下:程序中设置中间变量temp用来给P1口赋值,命令_crol_和_cror_用于使temp左移或右移,例如当temp=11111110B时,执行_crol_(temp,1)之后temp=11111101,应用此两条语句必须把头文件包含进来。全部代码如下:#include#includeunsignedchartemp;//定义字符变量temp,temp左移或右移并给连接LED的

3、P1口赋值inta;//定义延迟函数delay()voiddelay(void);voidmain(){temp=0xfe;//给temp赋初值P1=temp;//temp赋值给P1口,第一个LED(红色)点亮while(1)//主程序,括号中的程序将一直循环{for(a=0;a<7;a++)//左移部分,LED从左到右依次点亮{temp=_crol_(temp,1);//_crol_语句控制变量temp左移delay();//每个灯点亮之后延迟一会在点下一个灯P1=temp;}for(a=0;a<7;a++)//右移部分,LED从右到左依次

4、点亮{temp=_cror_(temp,1);//第8个灯点亮后开始右移程序,LED从右向左点亮delay();P1=temp;}}}voiddelay()//延时子程序{inti,j;//定义局部变量i,jfor(i=200;i>0;i--)//i,j不断计数占用CPU时间,达到延时目的for(j=1;j<150;j++);}电路连接如下:

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

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

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