首页 软件仓库文章正文

如果用c语言实现流水灯控制?

软件仓库 2022年06月04日 16:51 63 erjian

用C语言实现流水灯控制的方式有好几种。

方法1:IO口移位法,用C语言编写的单片机程序可以让八个LED轮流点亮,每个灯点亮和熄灭时间均为1秒。首先赋值P2=0x01;然后进入主循环

P2口是8个引脚,P2.0到P2.7;每8秒一个循环,

第1秒我们给P2引脚赋值00000001,写成16进制就是0x01;。

第2秒左移一位我们给P2引脚赋值00000010,写成16进制就是0x02;。

第3秒左移一位我们给P2引脚赋值00000100,写成16进制就是0x04;。

第4秒左移一位我们给P2引脚赋值00001000,写成16进制就是0x08;。

第5秒左移一位我们给P2引脚赋值00010000,写成16进制就是0x10;。

第6秒左移一位我们给P2引脚赋值00100000,写成16进制就是0x20;。

第7秒左移一位我们给P2引脚赋值01000000,写成16进制就是0x40;。

第8秒左移一位我们给P2引脚赋值10000000,写成16进制就是0x80;。

方法2:查表赋值法,首先定义一个数组。

data[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

然后在主循环中采用查表法对P2端口赋值。分别将data[0]到data[7]赋值给P2端口,并在中间间隔1秒的时间延时,达到流水灯的效果。

方法3:定时器中断法,在主循环中不做任何处理,在定时中断中采用查表法对P2端口进行赋值。

无论采用何种方法,其目的只有一个,在P2端口上实现流水灯效果。

以上是我个人的答案,难免会有漏洞。

欢迎大家留言,转发,点赞,【关注】

谢谢大家

标签: LED灯编程软件

发表评论

喜荣王资源网Copyright Your WebSite.Some Rights Reserved. 备案号:川ICP备66666666号 Z-BlogPHP强力驱动 主题作者QQ:201825640