多语言展示
当前在线:1583今日阅读:165今日分享:48

单片机学习:[2]led流水灯的制作

学电子的,让led动起来是一件很简单的事情,如果你说不会,我只能认为你上课睡觉了或者到学校打了趟酱油,不过也没关系,知识不一定只从学校学,什么时候用到了学也不晚,就怕不学哈!好了,废话一堆让你久等了,往下看。单片机开发板最小系统就可以了,但是要支持烧写功能,在这里就不赘述开发板的制作了,拥有一套完整成型的开发板会让你的实验如虎添翼的,我这里采用了一个成型的开发板,用起来比较节省时间。led灯板才是这次讲的主角。
工具/原料
1

 单片机开发板

2

 led灯板

3

 电脑

方法/步骤
1

led灯板可以自己制作,我做的是共阳极的,因为单片机驱动低电平的能力强些,具体电路如下图:

2

接下来就是与单片机的连接,既然焊接了32个led,最简单的连接就是直接用单片机的I/O口驱动,下图是单片机I/O口与led灯序的对应关系: P0            P1              P2                      P31~8         9~16         17~24                25~32

4

本程序比较简单,没有太多函数,已经注释,一看就懂。   #include     //头文件void main()              // 主程序{  unsigned int h;       //定义h while(1)  {   for(h=0;h<50000;h++)        //循环for内指令50000次      {       P0=0x81;                         //灯1灯8灯9灯16灯17灯24灯25灯32灭       P1=0x81;       P2=0X81;       P3=0X81;      }   for(h=0;h<50000;h++)      {       P0=0x42;                         //灯2灯7灯10灯15灯23灯26灯31灭       P1=0X42;       P2=0x42;       P3=0X42;      }   for(h=0;h<50000;h++)      {       P0=0x24;                        //再向里挪一位灭       P1=0X24;       P2=0x24;       P3=0X24;      }   for(h=0;h<50000;h++)      {       P0=0x18;                         //再向里挪一位       P1=0X18;       P2=0x18;       P3=0X18;      }  }} 程序写好后,打开烧写软件,选择所用的单片机型号,我用的是STC12C5A60S2,然后打开刚刚编写好的.hex文件,最好先将单片机断电,点击下载后再上电。

5

程序写完了,也编译成功了,让我们来看下效果。图片是静止的,暂时只能通过想象一下,预测效果,等你成功了,你就会看到街道上商店牌匾框框上led灯流动的效果了,加油噢!我也刚刚开始学,希望对你有帮助。

6

最后来个简图助与理解。

注意事项
1

程序是要经过不断的修改才能达到预期的效果,不要怕麻烦。

2

要不断的动脑,想象不同流动效果是怎么得来的。

推荐信息