单片机 c语言 拖尾流水灯

单片机 c语言 拖尾流水灯

ID:11408312

大小:30.50 KB

页数:3页

时间:2018-07-11

单片机 c语言 拖尾流水灯_第1页
单片机 c语言 拖尾流水灯_第2页
单片机 c语言 拖尾流水灯_第3页
资源描述:

《单片机 c语言 拖尾流水灯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机拖尾流水灯BY-零下21度de水效果:同时亮5个LED,中间的最亮,旁边两个渐暗。原理:利用占空比调节LED亮度。思路:占空比有两种调节方法,一种是固定脉宽,调节周期,一种是固定周期,调节占空比,该例程用得是前者。观看效果:http://www.56.com/u79/v_NzMyMDg1ODg.html该程序提供给大家参考,抛砖引玉,望大家做出更漂亮的效果。C源码:#include#defineucharunsignedchar#defineuintunsignedint#defineLEDP1/*硬件为P1口输

2、出,大家相应改一下*/uchari=0;ucharPosition=0x01;/**/voidDelay(ucharn){uchari,j,k;for(i=n;i>0;i--)for(j=100;j>0;j--)for(k=100;k>0;k--);}voidT0_INT(void)interrupt1{uchardis_tmp;dis_tmp=Position;TH0=65432/256;/*定时器T0的中断时间就是固定脉宽,大家仔细看一下就会明白了*/TL0=65432%256;if(i<100)i++;elsei=0;LED=~dis_tmp;

3、/*我的硬件设计是低电平点亮LED,就是灌电流~*/if(i%10==0)/*调整周期,旁边第一盏灯的周期为脉宽的10倍*/{dis_tmp

4、=dis_tmp<<1

5、dis_tmp>>1;LED=~dis_tmp;}if(i==0)/*旁边第二盏灯的周期为脉宽的100倍*/{dis_tmp

6、=dis_tmp<<1

7、dis_tmp>>1

8、dis_tmp<<2

9、dis_tmp>>2;LED=~dis_tmp;}}voidmain(void){uchark,g;ET0=1;TMOD=0X01;EA=1;TH0=55532/256;TL0=55532%256

10、;TR0=1;LED0=0;while(1){for(g=20;g>0;g--){for(k=7;k>0;k--){Position<<=1;Delay(g);}for(k=7;k>0;k--){Position>>=1;Delay(g);}}for(g=0;g<20;g++){for(k=7;k>0;k--){Position<<=1;Delay(g);}for(k=7;k>0;k--){Position>>=1;Delay(g);}}}}

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

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

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