要求:
(1)第1轮:第1列自上而下逐一点亮、接着第2列自下而上逐一点亮、最后第3列自上
而下逐一点亮;
(2)第2轮:按第1列、第2列、第3列,依次8个LED同时闪亮3次;
(3)接着重复上述第1、2轮的效果。
使用软件:
Keil4,proteus
实验原理图:
现在的很多花样流水灯文章,都只介绍书上的经典例题,即一排流水灯自上而下循环闪亮。很多小伙伴不了解多排流水灯怎么搞,说现在很难受,做单片机的实验如坐牢。现在给大家一个简单的方法实现这个花样流水灯实验。
【步骤】
(1)在Proteus中绘制电路原理图:将元件添加到编辑环境中,并进行导线连接,属性设置等;电路主要连线:P0口、P2口、P1口分别8个LED,低电平驱动(proteus中不加时钟电路和复位电路也可以正常运行,勤快的小伙伴可以连一下)。怕大家不知道具体元件名称,给大家附一张元件名称表。
(2)在proteus里面搞好硬件部分后,就可以在Keil4里面对51单片机进行编程了。
首先明确,要求实现两轮闪亮,且循环进行,那么显然第二轮结束后无条件进入第一轮,这里我们可以借用while(1)这个语句来实现这个功能。在这个里面,实现24个灯依次闪亮,可以使用for循环来实现这个功能;闪亮这个是一个亮灭的过程,我们可以这样设置—亮-延时-灭-延时,所以在闪亮过程中我们还需要用到一个延时函数,这个有多种方法实现,我们直接用最简单的delay函数。
具体代码如下:
这种简单的代码就不写注释了(最怕别人的代码没有注释,最怕别人让我写注释)
然后运行生成hex文件导入到proteus的51单片机里面。
然后直接run:
然后发现能正常实现功能,完成目标。



