基于单片机的流水灯系统设计与实现
1 项目要求
本项目花样流水灯采用 MSP430 单片机为控制器件,用于各方面的装饰,此花
样流水灯有 8 个 LED 灯,六种花样灯光效果.
(1)初始化后,执行 8 个 LED 灯从右至左逐次点亮,每隔 0.2s 亮一个 LED
灯,直到 8 个 LED 灯全亮,再从左至右依次熄灭直到全灭,以此循环;
(2)当按下按键后,执行 8 个 LED 灯从右至左每隔 0.2s 逐一亮灭,直到点
亮最左边一个灯后再从左至右每隔 0。2s 逐一亮灭,以此循环;
2 项目分析和系统设计
本系统分为硬件和软件模块。硬件上我们打算在单片机的不同的 i/o 中装上
一个流水灯来进行对流水灯进行控制。
在程序方面,首先对 msp430 的 i/o 口进行的定义和设置,然后在去定义了一
个 delay 进行延时功能,在用一个 switch 循环来使得流水灯不断的循环亮灭.
花样流水灯采用 MSP430 单片机为控制器件,用于各方面的装饰,此花样流
水灯有 8 个 LED 灯,两种花样灯光效果。
3 硬件设计
本系统采用 MSP430 单片机为控制核心进行设计,该流水灯系统共可分为两
个模块:单片机选型模块和 LED 流水灯模块。
图 1 系统框图
3。1 单片机选型模块
MSP430 单片机是 16 位的单片机,采用了精简指令集(RISC)结构,只有简
洁的 27 条内核指令,大量的指令则是模拟指令;众多的寄存器以及片内数据存
储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快.
图 2 单片机选型模块
3.2 LED 流水灯模块
要实现流水灯功能,我们只要将发光二极管 LED1~LED8 依次点亮、熄灭,8
只 LED 灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉
暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应
该延时一段时间,否则我们就看不到“流水”效果了。且每一个 LED 灯于一个电
阻串联.电阻的作用就是对通过 LED 灯的电流进行一定的限制起到去 LED 灯进行
的保护作用.使得其在高电压的时候使得 LED 在电阻的保护下不会烧坏。
此图为共阴极接法,因此当 LED_RED 给高电平“1”时 LED_RED 亮;当 LED_RED
给低电平“0"时,LED_RED 灭。
图 3 LED 流水灯模块图
评论0