本科毕业设计论文--单片机课程设计多功能花样流水灯设计.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《本科毕业设计论文--单片机课程设计多功能花样流水灯设计.doc》由会员分享,可在线阅读,更多相关《本科毕业设计论文--单片机课程设计多功能花样流水灯设计.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、长 江 学 院 花样流水灯设计报告 课题:多功能花样流水灯 院系:机械与电子工程系 专业:自动化 班级: 学号: 姓名: 指导老师: 2016年12月20日目录摘要1一、课程设计的要求1二、总体方案分析21、硬件方案分析22、软件方案分析。三、软件设计思路和流程图41、设计思路32、流程图.4四、硬件设计思路和电路图71、设计思路72、电路图分析8五、实验过程步骤111、编程112、仿真调试11六、心得与体会13附录:.14摘要 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁。LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰
2、街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED灯控制器大多数用全硬件电路实现。电路结构复杂、功能单一这样一旦制作成品只能按照固定的模式闪亮不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调缺乏用户可操作性影响亮灯效果。因此有必要对现有的灯控制器进行改进。流水灯是一串按一定的规律像流水一样连续闪亮。流水灯控制是可编程控制器的一个应用(其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现(但对现代可编程控制器而言(利用移位寄存器实现最为便利。
3、通常用左移寄存器实现灯的单方向移动,用双向移位寄存器实现灯的双向移动。本案例利用价格低廉的STC89C52RC系列单片机控制基色LED灯泡从而实现丰富的变化。关键词:STC89C52RC LED灯 单片机 花样流水灯一、课程设计的要求使用单片机设计一个流水灯控制系统,该控制系统可以实现以下要求LED灯按不同的花样和速度流动点亮,速度分九个等级,通过按键控制速度的加减,花样分五个种类,用按键控制加减,速度等级和花样种类通过数码管显示。二、总体方案分析 依照课程设计要求,分析设计方案。1、硬件方案分析1, 系统电源电路设计方案A, 使用LM317可调电压三段稳压芯片制作电源,但是我们系统供电电压为
4、5V且LM317外围期间较多,生产成本变大。故不选择此方案B, 使用7805三端稳压芯片制作电源,7805价格低廉外围器件少,稳压效果好输出电流最大可达1.5A,符合我们的需求,故使用此方案2, 单片机最小系统设计方案A, 使用STC89C52RC单片机,使用12Mhz晶振,设计按键复位电路,STC89C52RC单片机虽然也是51内核,但是片上资源有限B, 使用STC89C52RC单片机,使用12Mhz晶振,设计按键复位电路,STC89C52RC单片机为增强型单片机,相同价格下更具优势,使用12Mhz晶振是为了精确计算延时。3, 显示电路设计方案A, 使用单片机引脚直接控制,这个方案比较占用单
5、片机引脚,且驱动电流直接通过单片机,容易损坏或缩减单片机寿命。B, 使用74LS164芯片以静态方式驱动数码管,此方案直接外部芯片驱动,单片机只需要两个引脚节约引脚,而且需要添加数码管不需要消耗新的引脚。4, 流水灯显示方案设计A, 使用专业LED灯驱动芯片,驱动LED,此方案成本高,不适合B, 使用74LS164芯片以静态方式驱动数码管,此方案直接外部芯片驱动,单片机只需要两个引脚节约引脚,而且需要添加数码管不需要消耗新的引脚。2、软件方案分析 1, 显示子程序设计思路A, 使用普通引脚模拟串口驱动164显示数码管,缺点是代码量较大,不方便B, 使用单片机自带串行口驱动164显示数码管,使用
6、引脚单独控制数码管公共端这样可以起消隐作用,防止数据传输时显示乱跳2, 流水灯显示子程序设计思路A, 使用算法移位等操作实现流水灯花样,缺点是移植性不好代码量较大,每一个花样都需要新的代码B, 使用查表法实现流水灯,此方法只需一个查表程序,流水灯数组存在程序代码空间,可移植性好,方便编程,故选择这套方案。3, 延时方式设计思路A, 使用使用循环语句延时,此方法缺点是延时的时候无法检测到按键按下B, 使用中断计数的方式延时,此方法灵活多变,不影响单片机主程序运行4, 按键检测设计思路A, 在主循环里检测按键,当检测到按键按下延时10MS消抖,此方案堵塞单片机B, 在中断检测按键,利用10ms定时
7、中断检测按键,此方法灵活多变故选择此方案三、软件设计思路和流程图1:软件设计思路整个系统工作由软件程序控制运行,根据需要可以上电后系统经过初始化,进入用户设定模式状态。基于STC89C52RC单片机的灯控制方案实现对LED灯的控制。本方案以STC89C52RC单片机作为主控核心,与驱动等模块组成核心主控制模块。在主控模块上设有晶振电路和16个LED显示二极管,4个按键控制电路,及稳压控制电路。P0口和P2口控制流水灯,P1口控制按键,通过改变表头地址查表来根据需要编写若干种花样亮灯模式,并采用中断方式,运用简单的数学逻辑法来改变各种亮灯时间的长短,达到在不同时刻输出灯亮或灯灭的控制信号。通过单
8、片机的串行口来控制74HC164芯片控制数码管静态显示。软件资源分配:Key_Speed_Up BIT P1.0;速度按键加Key_Speed_Down BIT P1.1;速度按键减 Key_Pattern_UP BIT P1.2;花样按键加Key_Pattern_Down BIT P1.3 ;花样按键减Display_Sel BIT P1.7;数码管公共端控制引脚 Flag_Display BIT 20H.0 ;数码管显示更新标志位Flag_Speed_Set BIT 20H.1 ;流水灯中断计数标志位Speed EQU 30H;速度等级变量Pattern EQU 31H;花样类型变量Ms1
9、00 EQU 32H;100毫秒中断计数变量MsX EQU 33H ;用于计算有多少个100毫秒2:流程图主循环流程图各变量初始化开始判断流水灯花样赋值对应花样表格地址给DPTR使用查表指令取第(R1)个流水灯显示码给P0,R1加一使用查表指令取第(R2)个流水灯显示码给P2,R1加一R1清零,R4重新赋值16是R4显示次数寄存器减一比较是否为零否否,继续等待延时标志位Flag_Speed_Set是否置一是按键检测流程图中断入口是检测Key_Speed_Up是否为高电平(检测有无按键按下)否是检测Key_Speed_Up是否为低电平(检测按键是否弹起)否一次按键有效,速度变量加一,INC Sp
10、eed显示数据有变化,显示标志位置一,更新显示数据检测下一个按键(其余三个按键程序结构相同,不一一画出来了)开始更新显示程序流程图否检测Flag_Display标志位是否置一是Flag_Display标志位清零传送数码管段码前关闭公共端口(消隐作用)调用数码管段码传送子程序打开数码管公共端结束速度花样溢出处理程序流程图开始否比较速度变量是否等于10是速度变量清零否比较速度变量是否等于0是速度变量置10否比较花样变量是否等于5是花样变量清零否比较花样变量是否等于0是速度变量清零结束传送数码管段码到74LS164芯片子程序流程图开始初始化,把数码管笔形码表格首地址放到DPTR以Speed为变址取数
11、码管段码送到SBUF传送到164通过TI标志位判断发送是否成功否是发送成功软件清除TI标志位结束(送显Pattern变量亦如此,不赘述)中断计数程序流程图开始(位于定时器中断)否判断Speed是否为零是Ms100加一否是判断Ms100是否等于5Ms100清零,Flag_Speed_Set延时标志位置一,流水灯更新转跳到定时器重新赋初始值程序入口Ms100加一否判断Ms100是否等于10是Ms100清零,MsX加一否判断MsX是否等于Speed说明Speed*100ms到了MsX清零,Flag_Speed_Set延时标志位置一,流水灯更新是转跳到定时器重新赋初始值程序入口中断程序框架开始压栈,D
12、PH,DPL,ACC,关中断中间程序。出栈,ACC,DPL,DPH,开中断结束四、硬件设计思路和电路图1、硬件设计思路实验使用STC89C52RC单片机,电源供电使用以7805为核心的线性稳压电源供电,为了计算方便,使用12Mh晶振搭建起振电路,其次四个控制按键从P1.0、P1.1、P1.2、P1.3口输入,分别用来控制速度加减,花样加减。然后使用P0、P2口作为16个流水灯的输出口。 TXD、RXD作为显示串行输出。P1.7作为数码管公共端控制脚,作用是为了防止数码管数据更新时串行移位导致数码管短时间显示乱码,在送显之前先关掉公共脚,送显完毕再打开。驱动数码管的芯片选择74ls16芯片,根据
13、相应的连好线路图,其中单片机输出信号接74ls164的接收信号端,输出信号端接下一个驱动芯片的输入端,最后将所有的电源和地连接完毕,硬件设计部分就完成了。2、原理图 流水灯模块电路电源电路震荡电路 五、实验过程步骤1、编程在打开KEIL建立一个工程,建立一个以.ASM为后缀的文本并追加到新建工程,编完程序进行编译组建成HEX文件。2、仿真调试 (1) 新建设计文档。在进入原理图设计之前首先要构思好原理图(即必须知道所设计的项目需要哪些电路来完成(用何种模板,然后在Proteus ISIS编辑环境中画出。 (2) 设置工作环境。根据实际电路的复杂程度来设置图纸的大小等。在电路图设计的整个过程中图
14、纸的大小可以不断地调整。设置合适的图纸大小是完成原理图设计的第一步。 (3) 放置元器件。首先从添加元器件对话框中选取需要添加的元器件将其布置到 图纸的合适位置并对元器件的名称、标注进行设定,再根据元器件之间的走线等联系对元器件在工作平面上的位置进行调整和修改使得原理图美观、易懂。 (4)对原理图进行布线。根据实际电路的需要利用Proteus ISIS编辑环境所提供的各种工具、命令进行布线(将工作平面上的元器件用导线连接起来(构成一幅完整的电路原理图仿真过程 Proteus仿真时单片机需要加载程序(加载程序为.HEX文件。本设计利用Keil 在新建Keil项目时选择AT89C51单片机作为CP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 论文 单片机 课程设计 多功能 花样 流水 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内