资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
信息与电气工程学院课程设计说明书(2012 /2013学年第 二 学期)课程名称 : 单片机原理及接口技术 题 目 : 简易多彩广告灯控制设计 专业班级 : 自动化10-03 学生姓名 : 学 号: 1004103 指导教师 : 苗敬利、杨怡君等 设计周数 : 2周 设计成绩 : 2013年 6 月 26 日目 录1、 课程设计目的1.1原始数据及主要任务21.2技术要求22、课程设计正文2.1 硬件设计22.1.1确定硬件电路总体设计方案22.1.2单元电路设计32.1.2.1时钟电路32.1.2.2复位电路32.1.2.3键盘输入电路42.1.2.4数字显示电路52.1.2.5广告灯电路52.1.2.6总电路图62.1.3 系统调试72.2 软件设计72.2.1系统分析72.2.2 系统设计82.2.2.1 按键确认程序82.2.2.2 数码管显示程序82.2.2.3延时程序82.2.2.4.四种广告灯控制程序82.2.3系统实施93、 课程设计总结174、 参考文献181、课程设计目的1.1 原始数据及主要任务设计并制作出一个以单片机为核心的彩灯闪烁控制系统:(1)确定总体设计方案(2)、设计键盘输入电路(3)、设计显示电路(4)、合理分配地址,编写系统程序(5)、利用Protel设计硬件电路原理图和PCB图(6)、软硬件联机调试1.2 技术要求设计一个以MCS-51单片机为核心的简易多彩广告灯闪烁控制系统,2位数码管显示闪烁控制方案,分别显示01、02、03、和10号方案,初始化为00,彩灯灭;2个控制按键,一个加一数字键,一个确定键,循环10个花型的方案。方案01为左循环亮一秒闪烁;方案02为右循环亮一秒闪烁;方案03为“100000000、1100000011111111”递增间隔1秒闪烁;方案10为“01010101,10101010”间隔一秒闪烁;其余方案灯灭。2、 课程设计正文2.1硬件设计2.1.1确定硬件电路总体设计方案根据设计要求,首先确定硬件的主要组成部分,主要包括了单片机最小系统中的时钟电路、复位电路和本课设需要的按键控制电路、LED灯显示电路、广告灯方案显示电路,最后由5V直流电源对各部分电路提供电源。总的设计框图如图1。AT89C51时钟电路复位电路直流5V供电电路按键控制电路LED灯显示电路方案显示电路图1 硬件设计总框图2.1.2单元电路设计2.1.2.1时钟电路时钟电路提供的时钟信号是单片机工作时必须的控制信号,只有正确的提供了时钟信号,单片机才能严格按照时序执行指令进行工作。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种事外部时钟方式。本课设采用的是内部时钟方式。内部是中方式的时钟电路由一个6MHz的晶振和两个30pF的电容组成,时钟电路的电路图如图2。图2 时钟电路2.1.2.2复位电路复位是单片机的初始化操作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态,为摆脱死锁状态,也需要复位按键使RST引脚为高电平使单片机复位。本课设采用51单片机典型手动复位电路,电路由一个200的电阻、一个1K的电阻和一个22uF的极性电容组成。当按下复位键后复位口RST变为高电平,经过两个机器周期单片机复位,单片机从地址为0000H处重新执行程序。复位电路的电路图如图3。图3 复位电路 2.1.2.3键盘输入电路本课设的键盘输入电路由一个加一键和一个确定键组成,每个按键都接一个1K的上拉电阻。加一键控制方案类型,并通过显示电路的显示,共有10种方案类型,其中第01、02、03、10号方案对应有相应的广告灯显示方案,其余为广告灯全灭。确定键确定方案让广告灯开始闪亮。键盘输入电路如图4.图4 键盘输入电路 2.1.2.4数字显示电路数字显示电路主要有两个共阳极数码管组成,采用静态显示方案,将共阳极数码管的段码由P0、P2口输出,驱动数码管显示。每条支路加一个200的限流电阻。显示电路复位后显示00,当不断按下加一键是,数码管分别显示01、02、03、04、05、06、07、08、09、10,分别对应十种相应的显示方案。显示电路电路图如图5.图5 数字显示电路 2.1.2.5广告灯电路广告灯电路为本课设主要控制的电路,由八个发光二极管组成,每个发光二极管接一个200的限流电阻。广告灯电路如图6.当确定键按下后,广告灯即开始按照数码管显示的数字显示不同的闪亮方案,其中方案01为左循环亮一秒闪烁;方案02为右循环亮一秒闪烁;方案03为“100000000、1100000011111111”递增间隔1秒闪烁;方案10为“01010101,10101010”间隔一秒闪烁;其余方案灯灭。图6 广告灯电路2.1.2.6总电路图总电路如图7.图7 总电路图2.1.3 系统调试首先在proteus中画好电路图,加载程序查看仿真效果。对不满足要求的地方,首先检察设计思路是否正确,在设计思路正确的前提下针对错误的类型检察硬件的选择和对应软件的设计是否正确,发现错误后首先考虑是否可以通过改变软件来实现,软件不能实现的再考虑改变硬件电路实现。本课设在仿真调试中遇到的难点主要是对加一键的确定,由于在方案运行时要求加一键仍然有效,而每种方案中的延时程序与按键的延时去抖程序相互交错,给确定加一键的一次有效按下带来了很大的困难,经常出现按时间短了没有效果,按时间长了又会确认两次的情况。最后几经修改才打到了要求的效果,当上一种方案正在运行时,按下加一键不要松开,等广告灯全灭后再松开,可使加一键每次都成功确认一次。在硬件实物做好后,加载程序调试,对与仿真情况不符的电路检察焊接情况和硬件的好坏。最后对操作的流畅性进行完善,使硬件电路易于操作,不会出现错误判断。在硬件调试时,本课设遇到的困难主要是由于查阅资料时的疏漏我们把数码管的c脚和e脚接反了,导致数字无法正常输出。由于硬件电路已经完成,要改动是比较复杂的。后来在研究是发现,所谓的数码管段码其实是人为规定的,变动硬件中的c脚和e脚与变动程序中的c、e两脚对应的电平是一样,所以我将书中的共阳极数码管段码“根据”我们电路进行了修改,换了c、e对应的电平。重新编译加载后,果然显示正常了,从而避免了对硬件的修改。2.2软件设计2.2.1系统分析本课设的程序主要分为按键确认、延时、数码管显示和四种广告灯控制几部分。按键确认采用典型的延时去抖法,是按键每次按下都只被有效确认一次。延时程序主要用于去抖和广告灯闪亮间隔的控制,数码管显示则是给相应的P口赋值段码。四种广告灯控制用于控制8个发光二极管的闪亮顺序和个数。程序设计的总框图如图8. 开始判断有无加一键按下调用显示方案调用LED显示方案判断有无确定键按下图8 程序设计总框图2.2.2 系统设计2.2.2.1 按键确认程序通过void key_detect()子函数采集相应的P口的电平判断按键是否按下,程序见系统实施中的源程序。2.2.2.2 数码管显示程序通过void display(void)子函数来显示相应的方案数,程序见系统实施中的源程序。2.2.2.3延时程序通过void delay(unsigned int )子函数来完成延时功能,程序见系统实施中的源程序。2.2.2.4.四种广告灯控制程序通过分别调用void right_loop()、void left_loop()、void other_program()、void ji_ou()四种子函数来显示相应的闪烁方案,程序见系统实施中的源程序。2.2.3系统实施本课设所用源程序如下:#include#includeunsigned char codetable=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned int flag = 0;void key_detect(void);void display(void);void delay(unsigned int );void right_loop();void left_loop();void other_program();void increase();void ji_ou();sbit k1=P00;/加一键sbit k2=P01; /确定键void main()while(1) key_detect();if(flag=11)flag=0;display(); /*函数功能:实现任务一: 流水灯左循环亮1
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号