完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
最近自学51单片机编程,看大神http://home.eeworld.com.cn/home.php?mod=space&uid=139222&do=blog&classid=988&view=me 的文章,看了前几个,迫不及待的上手,写了一个流水灯的小程序,开始也看了一些算法,看不懂,所以自己研究,写了个算法,算法不好,但好在好理解。
我的第一个单片机程序,让八个灯循环闪烁。 #include #define TIME 5 void delay(int time){ //延时代码 int i,j; for(i=1000; i>0; i--) for(j=time; j>0; j--); } int diff(int count){ //算2的i次方 int i,rs = 1; for (i = 0; i < count; i++) { rs *= 2; } return rs; } void flicker(int time){ //闪烁算法 int i,j = -1; for(i = 254; i>0; i = (i - diff(j))){ P1 = i; delay(time); P1 = 0xff; delay(time); j++; } } void main(void) //主程序,无限循环 { while(1){ flicker(TIME); } } 254-2^i即为要亮的灯。 |
|
|
|
只有小组成员才能发言,加入小组>>
2549 浏览 0 评论
1147浏览 2评论
746浏览 1评论
499浏览 0评论
265浏览 0评论
428浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 15:11 , Processed in 1.218318 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号