基于单片机的流水灯系统设计与实现.doc
上传人:天马****23 上传时间:2024-09-12 格式:DOC 页数:20 大小:3.9MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于单片机的流水灯系统设计与实现.doc

基于单片机的流水灯系统设计与实现.doc

预览

免费试读已结束,剩余 10 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT20摘要本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。本系统就是充分利用了G2452芯片的I/O引脚。系统以采用MSP430系列单片机G2452为中心器件来设计花样LED流水灯系统,通过按键实现8个LED灯不同花样式的闪烁。关键词:流水灯;单片机;按键;闪烁目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc27396"1项目要求PAGEREF_Toc273963HYPERLINK\l"_Toc11151"2项目分析和系统设计PAGEREF_Toc111513HYPERLINK\l"_Toc15245"3硬件设计PAGEREF_Toc152453HYPERLINK\l"_Toc27877"3.1单片机选型模块PAGEREF_Toc278773HYPERLINK\l"_Toc29275"3.2LED流水灯模块PAGEREF_Toc292753HYPERLINK\l"_Toc7470"3.3功能模式选择模块PAGEREF_Toc74703HYPERLINK\l"_Toc5123"4软件设计PAGEREF_Toc51233HYPERLINK\l"_Toc3782"4.1主程序PAGEREF_Toc37823HYPERLINK\l"_Toc28969"4.2子程序PAGEREF_Toc289693HYPERLINK\l"_Toc15573"5系统调试PAGEREF_Toc155733HYPERLINK\l"_Toc1953"5.1硬件调试PAGEREF_Toc19533HYPERLINK\l"_Toc20485"5.2程序调试PAGEREF_Toc204853HYPERLINK\l"_Toc23989"5.3联合调试PAGEREF_Toc239893HYPERLINK\l"_Toc7295"6外延PAGEREF_Toc72953HYPERLINK\l"_Toc4930"7项目演练PAGEREF_Toc49303HYPERLINK\l"_Toc5515"8项目总结PAGEREF_Toc55153HYPERLINK\l"_Toc6952"附录1电路设计原理图(参考)PAGEREF_Toc69523HYPERLINK\l"_Toc25684"附录2PCB设计原理图(参考)PAGEREF_Toc256843HYPERLINK\l"_Toc15474"附录3关键程序(参考)PAGEREF_Toc154743基于单片机的流水灯系统设计与实现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.2LED流水灯模块要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。且每一个LED