图Р 图4-5 Proteus仿真图Р4.3 硬件原理分析Р 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。89C52单片机是本次课程设计运用的主要原件。心形流水灯控制设计是用一最小开发版的STC89C52的单片机,加上晶振电路,即由晶振、2个30Pf电容构成。晶振电路提供时钟信号。从原理图中可以看出,如果要让接在I/O端口的LED灯亮起来,那么只要把该端口的电平变为低电平就可以了;相反,如果要接在I/O端口的LED灯熄灭,就要把该端口的电平变为高电平PO、P1、P2、P3口的32个LED灯均采用上述原理控制点亮和熄灭。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED32按照自己设想的方式通过程序控制依次点亮、熄灭,32只LED灯便会根据程序所编写的状态做点亮和熄灭流水灯。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。Р4.4 软件设计Р 单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到心形装饰灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的点亮和熄灭。我们利用C编译控制LED灯点亮与熄灭的次序,循环的次数,点亮与熄灭的频率,点亮的延迟时间。Р 程序框图Р Р 依次子程序调用,灯按设计状态点亮、熄灭或闪烁Р执行预定程序Р开始Р Р Р 图4-5 程序框图Р4.5 元件清单Р元件名称Р型号Р数量Р单片机РSTC89C52RCР1Р单片机芯片底座Р/Р1Р晶振Р11.0592MHzР1Р瓷介电容Р30PfР2РLED灯Р红Р32Р电源Р5VР1Р排针Р/Р若干Р杜邦线Р/Р若干Р4.6 硬件焊接图Р 图4-6 心形装饰灯正面Р 图4-7 心形装饰灯背面