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

上传人:新** 文档编号:552433683 上传时间:2023-08-21 格式:DOC 页数:18 大小:1.79MB
返回 下载 相关 举报
基于单片机的流水灯系统设计与实现.doc_第1页
第1页 / 共18页
基于单片机的流水灯系统设计与实现.doc_第2页
第2页 / 共18页
基于单片机的流水灯系统设计与实现.doc_第3页
第3页 / 共18页
基于单片机的流水灯系统设计与实现.doc_第4页
第4页 / 共18页
基于单片机的流水灯系统设计与实现.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于单片机的流水灯系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于单片机的流水灯系统设计与实现.doc(18页珍藏版)》请在金锄头文库上搜索。

1、摘 要本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。本系统就是充分利用了G2452芯片的I/O引脚。系统以采用MSP430系列单片机G2452为中心器件来设计花样LED流水灯系统,通过按键实现8个LED灯不同花样式的闪烁。关键词: 流水灯;单片机;按键;闪烁1目录1 项目要求32 项目分析和系统设计33 硬件设计33。1单片机选型模块33。2 LED流水灯模块33。3功能模式选择模块34 软件设计34。1主程序34。2子程序35 系统调试35。1硬件调试35.2程序调试35。3联合调试36 外延37 项目演练38 项目总结3附录1电路设

2、计原理图(参考)3附录2 PCB设计原理图(参考)3附录3 关键程序(参考)3基于单片机的流水灯系统设计与实现1 项目要求本项目花样流水灯采用MSP430单片机为控制器件,用于各方面的装饰,此花样流水灯有8个LED灯,六种花样灯光效果。(1)初始化后,执行8个LED灯从右至左逐次点亮,每隔0。2s亮一个LED灯,直到8个LED灯全亮,再从左至右依次熄灭直到全灭,以此循环;(2)当按下按键后,执行8个LED灯从右至左每隔0。2s逐一亮灭,直到点亮最左边一个灯后再从左至右每隔0。2s逐一亮灭,以此循环;2 项目分析和系统设计本系统分为硬件和软件模块。硬件上我们打算在单片机的不同的i/o中装上一个流

3、水灯来进行对流水灯进行控制。在程序方面,首先对msp430的i/o口进行的定义和设置,然后在去定义了一个delay进行延时功能,在用一个switch循环来使得流水灯不断的循环亮灭。花样流水灯采用MSP430单片机为控制器件,用于各方面的装饰,此花样流水灯有8个LED灯,两种花样灯光效果。3 硬件设计本系统采用MSP430单片机为控制核心进行设计,该流水灯系统共可分为两个模块:单片机选型模块和LED流水灯模块. 图1 系统框图3.1单片机选型模块MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的27条内核指令,大量的指令则是模拟指令;众多的寄存器以及片内数据存储器都

4、可参加多种运算.这些内核指令均为单周期指令,功能强,运行的速度快。图2单片机选型模块3。2 LED流水灯模块要实现流水灯功能,我们只要将发光二极管LED1LED8 依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了.在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了.且每一个LED灯于一个电阻串联。电阻的作用就是对通过LED灯的电流进行一定的限制起到去LED灯进行的保护作用。使得其在高电压的时候使得LED在电阻的保护下不会烧坏。此图为共阴极接法,因此当LED_RED给高电平“1”时LED_R

5、ED亮;当LED_RED给低电平“0时,LED_RED灭。图3 LED流水灯模块图如图3可知此原理图的LED灯为共阴极的接法,因此我们只要给它一个高电平就能点亮此LED灯。3。3功能模式选择模块此设计有6种功能模式可以选择:(1)初始化后,执行8个LED灯从右至左逐次点亮,每隔0.2s亮一个LED灯,直到8个LED灯全亮,再从左至右依次熄灭直到全灭,以此循环;(2)当按下按键后,执行8个LED灯从右至左每隔0。2s逐一亮灭,直到点亮最左边一个灯后再从左至右每隔0.2s逐一亮灭,以此循环;功能(1): 功能(2): 图4 流水灯的功能示意图4 软件设计4。1主程序本系统整体工作主要由单片机程序控

6、制实现,其工作过程为:对端口进行初始化,在主程序中用不同的端口定义分别来点亮流水灯。再用switch语句来对不同的LED灯进行不同类型的流水灯效果。在用延时程序来实现每一个LED的亮灭。程序整体框架如下图5所示。 图5 程序流程图4。2子程序一个完整的程序是由一个主程序和若干个子程序组成.在一个加工程序中,如果其中有些加工内容完全相同或相似,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序.主程序在执行过程中如果需要某一子程序,通过调用指令来调用该子程序,子程序执行完后又返回到主程序,继续执行后面的程序段。本系统中所使用的子程序都是比较简单的,用for语句实现循环之后再

7、使用延时函数进行延时。子函数的功能流程图如下:功能1流程图: 功能2流程图: 开始开始使LED灯左移一位点亮使被点亮的LED灯左移一位 延时延时最左边LED灯是否点亮亮8个LED灯是否全亮使被点亮的LED灯右移一位使LED灯右移一位熄灭延时延时最右边LED灯是否熄灭8个LED灯是否全灭图6 功能程序流程框架图5 系统调试本单片机的流水灯系统的设计分为硬件电路设计和软件设计两个部分,因此调试也分成两部分进行调试。5.1硬件调试主要根据系统框图和硬件原理设计进行原理的绘制、各参数的设置、电路板的制作,以及元器件的焊接等.具体如下:5.1。1 各单元电路,确认各单元电路链接无误,尤其是关键元器件,一

8、定要接保护电阻.(1)选择合适规格的元器件,在放置期间前一定要检查规格;(2)关键器件放置:在器件布置方面与其它逻辑电路一样,应把相互有关的器件尽量放靠近些,这样可以减少材料,更加美观.5。1.2 PCB设计原则:在进行PCB设计时,必须遵守PCB设计的一般原则,并应符合要实现的效果设计的要求。(1)尽量采用印制电路板,印制电路板不像万用板一样会有一定的接触不好或者焊盘不稳和线路连接有问题的情况,印制电路板的制作可防止产生地电位差和元件之间的耦合.(2)元件面和焊接面应采用相互垂直、斜交、或者弯曲走线,避免相互平 导线尽量短,使用45或者圆弧折线布线,不要使用90折线,以减小高频信号的发射。5

9、.2程序调试在本系统中,主要分为主程序部分、中断程序、子程序等。在调试过程中,按照程序功能一项项进行调试,首先确认主程序正确,在确认其他程序.调试方法主要跟踪调试、断点调试等等,可以参考相关专业书籍。5。1。1 CCSV5的打开步骤(1) 右键Code Composer Studio v5快捷方式,左键打开.会出现如图6所示界面:图6 Code Composer Studio v5软件加载界面(2)加载完毕之后会有如图7所示界面出现:图7 Code Composer Studio v5软件打开界面(3)选择ProjectImport Existing CCS Eclipse Project,导

10、入程序文件夹中的工程;具体操作如图8:图8 Code Composer Studio v5程序导入步骤图5。3联合调试整个系统的软硬件都完成后,需要进行联合调试,主要是针对系统设定的功能能否完成和完善进行调试。调试步骤:(1) 将PC和硬件电路通过USB线相连;(2) 选择对该工程进行编译链接,生成。out文件。然后选择,将程序下载到实验板中.程序下载完毕之后,可以选择 全速运行程序,也可以选择单步调试程序,选择F3查看具体函数.也可以程序下载之后,按下,软件界面恢复到原编辑程序的画面.再按下实验板的复位键,运行程序。(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议上电运行程序)

11、图 9 联合调试效果图6 外延花样流水灯的流水方式各式各样,因此我们在以上功能基础上,还能将程序稍作修改,使之有如下花样流水效果。(1)在以上功能下,当再次按下此按键后,执行8个LED灯从中间2个开始每隔0.2向左右两边依次点亮,直到8个LED灯全亮,再由两边开始灭,直到全灭以此循环;(2)第三次按下此按键之后,执行与上次相反的效果,以此循环;(3)第四次按下此按键之后,8个LED灯同时闪烁,时间间隔为0.1s;(4)第五次按下按键之后,依次执行前面五个程序的效果,以此循环。以上花样流水灯的流水功能如图10,功能(4)是前面几种功能集中的效果.功能(1): 功能(2): 功能(3): 图10 流水灯的功能示意图功能1流程图:功能2流程图:开始开始点亮LED和LED点亮LED和LEDBIT1左移i位 BIT8 右移i位LED4左移i位 LED3右移i位延时延时8个LED灯是否全亮亮8个LED灯是否全亮LED4左移i位 LED3右移i位BIT左移i位 BIT 右移i位延时延时个LED灯是否全灭个LED灯是否全灭 功能3流程图:开始点亮所有LED灯延时状态反转图11 功能程序流程框架图7 项目演练对于本设计,尚可以进一步进行如下设计:(1)设计一个心形呼吸流水灯设计思路如下:运用MSP430g2553单片机(28PIN、TSSO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号