使用配套开发板来实现流水灯
发表:2023-08-29 12:01:01 阅读:13

电子资讯使用配套开发板来实现流水灯

使用配套开发板来实现流水灯的原理是:使8个编号为LED1~LED8的LED从LED1开始亮起,每次只点亮一个,并按次序往LED8移动,结束后再次从头开始,状态见表6-1。实际上就是在程序开始执行之后,使程序一直在“复位状态”到“状态8”之间按顺序执行。

 

 

我们已经知道了控制一个LED的方法.所以要实现这个程序,关键是了解整个过程。我们先来比较一下“复位状态”和“状态1”的区别,有什么地方不一样呢?就是LED1在这里被点亮了,所以从“复位状态”到“状态1“,需要完成的操作是“点亮LED1”;然后从“状态1”到“状态2",我们很容易发现,区别有两个地方,就是LED2亮了,LFD1却灭了,所以在这一步,需要做的事情是“点亮LED2”和“熄灭LED1",按照这样的过程其他步骤需要完成的任务也不难看出来,流程如图6—5所示。

 

 

 

相信到这里,读者已经看到发光二极管在流动发光了。单单是对这个程序要求的功能来讲,其实已经没有什么可以挑剔的。而且通过对这个程序实现的分析,相信凭读者自己的能力,也一定可以写出另外花样的流水灯了;但是也许读者也看到过别人用更加简单的代码来实现这个流水灯的功能,那就意味着,这个程序还可以按照另外的思路来做,例如如下的代码:

 

 

这个程序实现的功能和上文程序实现的功能完全一致,其最大的不同是在思路上,它已经不再单独看某个LED了,所以程序中也不再定义LED的连接。可以认为它将8个LED合成一个整体来考虑,也可以说,其实它就只关心PA口,因为LED1~LED8本来就是和PA0~PA7对应的,所以程序的目的是在PA口上实现这样的功能:从PA0-PA7,按顺序循环使某个口线为低电平,同时其他口线为高电平;再进一步,现在PA口的数据和变址temp是对应起来的,所以最终对8个LED的操作变成了对变量temp操作。temp的变化过程如表6-2所列。

 

 

 

电子街推荐阅读

实现LED的闪动发光程序设计

ATmega128基础实例的学习

初学者学习电子元器件方法

实例说明元器件系统学习的重要性

系统学习电子元器件重要性