单片机控制流水灯

上传人:zou****hua 文档编号:192680528 上传时间:2023-03-07 格式:DOCX 页数:16 大小:471.51KB
返回 下载 相关 举报
单片机控制流水灯_第1页
第1页 / 共16页
单片机控制流水灯_第2页
第2页 / 共16页
单片机控制流水灯_第3页
第3页 / 共16页
点击查看更多>>
资源描述
单片机控制流水灯(总15页)-本页仅作为文档封面,使用时请直接删除即可-内页可以根据需求调整合适字体及大小-单片机控制流水灯前言随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不 断变化闪烁。LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点 而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但 目前市场上各式样的 LED 灯控制器大多数用全硬件电路实现,电路结构复杂、 功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、 不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控 制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上 看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必 要对现有的彩灯控制器进行改进。流水灯是一串按一定的规律像流水一样连续闪亮。流水灯控制是可编程控 制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可 用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便 利。通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向 移动。本案例利用价格低廉的AT89C52系列单片机控制基色LED灯泡从而实现丰 富的变化。目录前言 21、课程设计的目的和要求4设计目的4设计要求42、设计方案选择 53、硬件设计5设计思路 5流水灯电路原理图5元件清单6硬件电路模块分析7主要元件说明10振荡器特性 13芯片擦除134、软件设计14主程序设计14程序流程图145、使用keil、proteus软件调试仿真说明14仿真过程14仿真结果146、结束语 157、参考文献161、课程设计的目的和要求设计目的近年来随着科技的发展,单片机的应用正在不断走向深入,同时带动传统 控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机 往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬 件结构,以及针对具体应用对象点的软件结合,加以完善。流水灯,可以更简 单、方便的使用。通过本课程设计使学生进一步巩固单片机原理及应用的基本 概念、基本理论,分析问题的基本方法,增强系统地运用已学的理论知识解决 实际问题的能力和查阅资料的能力。培养一定的自学能力和独立分析问题、解 决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。设计要求设计流水灯的基本要求:设计一个16个LED灯的流水灯,应用AT89C51 实验开发板的定时器功能实现,电路开启后LED灯在时钟信号作用下按一定规 律转换状态。2、设计方案选择根据设计的基本要求,要实现其基本要求有两种设计方案的选择,这两种设 计方案都是基于AT89C51单片机的基础上设计的。一种是使用两片74LS138译 码器芯片扩展成为4线一16线具有16种输出状态,从而可以控制16个LED 灯;另一种是直接使用单片机的两个I/O端口控制,这样也可以实现控制16 个 LED 灯。比较这两种设计方案,我们小组选用了后者。因为这个设计只是简单的要 求实现16个LED灯循环点亮的流水功能,不用实现其他的功能,即不需要考虑 占用I/O 口多的问题;而前者的设计方案需要外添加两个74LS138芯片,这样 就增加了硬件电路的复杂性。3、硬件设计设计思路如果要让接在口的 LED1 亮起来,那么只要把口的电平变为低电平就可以了;相反,如果要接在口的LED1熄灭,就要把口的电平变为高电平;同理,接在 和口的其他15个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功 能,我们只要将发光二极管LED1LED16依次点亮、熄灭,16只LED灯便会一 亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及 单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段 时间,否则我们就看不到“流水”效果了。流水灯电路原理图1Dap.mD1Z03oFt-. I 见 l m Ft-J加 K-.-現4!PJ-_ii!vPJ-Jtl I NJJ-iJFv-i- PKYFJX;*l PJ.i iT:dj Fjjjrrr FJJ*TT pjme- PJ jrfTi F-JAKR Pj.Tfrrr图 3-1 硬件接线图利用单片机的 P0、P2 口高低电平控制 LED 灯的发光闪烁,再利用编程实现流 水灯的功能。用软件来实现对 LED 的控制,实现的软硬件结合。每个 LED 灯接 一个限流电阻,来控制流入 LED 发光管的电流。硬件系统方框图元件清单表 3-1 元件清单名称型号个数AT89C51122pF电容210uF电解电容1220欧姆电阻1610k电阻1晶振1发光二极管16连接线若干硬件电路模块分析(1)核心部件89C51 单片机是整个流水灯循环系统的核心功能的部件,其中内部有ROM、有RAM、有并行I/O 口等,在51单片机内部有一个CPU用来运算、控 制,有四个并行I/O 口,分别是PO、P1、P2、P3,有ROM,用来存放程序,有 RAM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以 及一个内部的时钟电路。(2)复位系统电路中C1、R1、VCC等组成复位电路,它的作用是将单片机内部特殊功能 寄存器和端口寄存器恢复到初始状态,从内部 FLASH 存储器的初始状态开始执 行。如图所示,当要对晶片重置时,只要按此开关就能完成 LED 和开关的重置。复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片 机从0000H单元开始执行程序。单片机的RST管脚为主机提供了一个外部复位 信号输入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期 以上。单片机的复位方式可由手动复位方式完成。RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续 24个振荡周期以上才能完成复位操作,若使用6MHz晶振,则需持续4PS以 上才能完成复位操作。图中,在通电瞬间,由于RC的充电过程,在RST端出现 一定宽度的正脉冲,只要该正脉冲保持10ms以上,就能使单片机自动复位1*-E4C3LRSrI1K图 3-2 复位电路CPU 在第二个机器周期内执行内部复位操作,以后每个机器周期重复一次,直至RST端电平变低。在单片机复位期间,AIE和两丽信号都不产生。复位操作将对部分专用寄存器产生影响,复位后,这些内部寄存器状态如表 2-6。表 1-2 部分专用寄存器复位状态寄存器值寄存器值PC0000HACCOOHBOOHPSWOOHSP07HDPTR0000HPO P3OFFHIPXXX00000IE0XX00000TMODOOHTCONOOHTLO, TL1OOHTHO,TH1OOHSCONOOHSBUF不定PCON0XXX0000上电瞬间由于电容C上无储能,其端电压近似为零,RST获得高电平,随 着电容器C的充电,RST引脚上的高电平将逐渐下降,当RST引脚上的电压小 于某一数值后,单片机就脱离复位状态,进入正常工作模式。只要高电平能保 持复位所需要的时间(约两个机器周期),单片机就能实现复位。(3)振荡系统单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在 唯一的时钟信号控制下,严格地按规定时序工作。而时钟电路就用于产生单片 机工作所需要的时钟信号。为LED灯循环系统提供稳定频率波在由多片单片机组成的系统中,为了各 单片机之间时钟信号的同步,引入唯一的外部脉冲信号作为各单片机的振荡脉 冲。这时外部的脉冲信号是经单片机89C51的XTAL2引脚注入的;在MCS 51 单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出 端为XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2 形成反馈电路,可构成稳定的自激振荡器,振荡频率范围通常是T2MHZ。晶体 振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。如图所示图 3-3 振荡电路晶体振荡器的振荡信号从 XTAL2 端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号 A 和 B 供单片机使用。时钟信号的周期称为状态时振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。振 荡脉冲在片内通过一个时钟发生电路二分频后才作为系统的时钟信号。片内时 钟发生电路实质上是一个二分频的触发器,其输入来自振荡器,输出为二相时 钟信号,即状态时钟信号,其频率为fosc/2;状态时钟三分频后为ALE信号,其 频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。(4)显示电路如图3-4所示,P0 口控制LED灯D1D8的显示,P2 口控制LED灯D10D17的显示。限流电阻为220欧姆,经过的电流大概为15mA。ra.n riu W jwrp naiFTPM 5FJ3r i raaFf n.nFcD I 3 3 i3 3 内屮Ji.n RZE!RzE! E E!R :IDIII-IlaIlgFIsIBlr31fi- 5 *3* 4 3 44 2 44 1 D D D D D D 宀宀Jk1图3-4 LED显示电路主要元件说明此电路主要元件是AT89C51单片机,单片机内部主要包含下列几个部件:一个8位CPU;一个时钟电路;4Kbyte程序存储器;128byte数据存储器;两个16位定时/计数器;64Kbyte扩展总线控制电路;四个8-bit并行I/O端口;一个可编程串行接口;五个中断源,其中包括两个优先级嵌套中断。AT89C51 硬件结构框图主要特性AT89C51 是一种低功耗/低电压、高性能的八位 CMOS 单片机,片内有一 个 4KB 的 FLASH 可编程可擦除只读存储器( FPEROMFlash Programmable and Erasable Read Only Memory),它采用了 CMOS工艺和ATMEL公司的高密度非 易失性存储器技术,而且其输出引脚和指令系统都与MSC51兼容。片内置通 用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改 编程序或用常规的非易失性存储器编程。因此,AT89C51是一种功能强、灵活 性高且价格合理的单片机,可方便的应用于各种控制领域。主要引脚功能1.电源引脚Vcc和VssVcc:电源端,接+ 5V。Vss :接地端。通常在Vcc和Vss引脚之间接口高频滤波电容。2. 时钟电路引脚 XTAL1 和 XTAL2XTAL1 :接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输 入,若使用外部TTL时钟时,该引脚必须接地。XTAL2 :接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的 输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。3. 地址锁存允许 ALE在系统扩展时,ALE用于控制地址锁存器锁存P0 口输出的低8位地址,从 而实现数据与低位地址的复用。当单片机上电正常工作后,ALE端就周期性地 以时钟频率的1/6的固定频率向外输出正脉冲信号,ALE的负载能力为8个 LSTTL 器件。4. 外部程序存储器读选通信号PSEN扇是读外部程序存储器的选通信号,低电平有效。CPU从外部存储器取 指令时,它在每个机器周期中两次有效。5. 程序存储器地址允许输入端瓯/Vpp当瓦为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过OFFFH时,将自动转向执行片外程序存储器指令。当瓯 为低电平时,CPU只执 行片外程序存储器指令。对于8031,由于其无片内ROM,故瓯 必须接低电 平。6. 复位信号 RST 该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。此外,该引脚还有掉电保护功能,若在该端接+ 5V备用电源,在使 用中若Vcc掉电,可保护片内RAM中信息不丢失。7. 输入/输出口引脚P。、P、P2和P3P0 口():该端口为漏极开路的8位准双向口,负载能力位8高LSTTL 负载,它为8位地址线和8位数据线的复用端口。P1 口():它是一个内部带上拉电阻的8位准双向I/O 口,P1 口的驱动 能力为4个LSTTL负载。P2 口():它为一个内部带上拉电阻的8位准双向I/O 口,P2 口的驱动 能力也为4个LSTTL负载。在访问外部程序存储器时,它作存储器的高8位地 址线。P3 口():P3 口同样是内部带上拉电阻的8位准双向I/O 口,P3 口除了 作为一般的I/O 口使用之外,其还具有特殊功能。pi. oTpi. 1Pl. 2Pi. 4|TPI. 5T円川TPl. 7gUST(RJtW PX CfTSDifl 1(TTO)Pl 2(mupi iCT町PL 4仃“PM s巧丽沖土 6Tt(ropj. 7mL2|XTALiATE 淞51PD. 0/P0. 1/ (ADI)P0.2/(AD2PD. (ADJ)PD. 4/ (AD4)PD. 5/PO. 6/PD. 7 /IAD7)EA/VP?ALE/mC PSENP2.7/(A15 P2. 6/(AUP2, 5/U】 門.斗“P2.F2. ijtAlU)P2.P2t0/U图1 AT&9C剂的引脚萍列振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为 片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外 部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度 芯片擦除AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡 器,禁止所用其他芯片功能,直到下一个硬件复位为止。4、软件设计主程序设计#include计利用 Keil 口 Vision4.在新建Keil项目时选择AT89C51单片机作为CPU,将C语言源程序导入,在“Options For Target对话窗口中,选中“Output选项中 的“Create HEX File”,编译链接后就可以生成.HEX文件。在Proteus ISIS中,选中 AT89C51 并单击鼠标左键,对 AT89C51 进行设置,设置单片机时钟频率为 12MHz,按照正确的文件路径加载.HEX文件。对单片机设置完毕后就可以开始 仿真了。仿真结果嗟花祥和戏T -SS Fro-FcssnalSE1X*TP 圃国 1芻M =-x- =Fl Ll DEMCE5C/-PWPELEC CFf/STilL LED-GREEN LET-FiEDRESFrLfl:CDaiKKTHUM I* m ihe KUME HW if MA.E*I m aH( miHEr20.4P3JWFX2?.IQ i*bui*qdiUjr.+xrzAFTMV.nP wuFXTAUPIGF l.lnoniii n iit?tr i jFMjrwmP13377.+P+TDr iFJfTIF IJbMJikMmi罟51slb1E D D=|; !亠I亠纟亠一4豈::.?丈井日fls:n zsm 證计po st(G)afx-jj(G)鼬畑 hlj旳啸同 琢辛空巴 白Id沖导|国血| | I卜 | IB | Q 护b|M JlflnSEdwSl-| -1100.0 300010S图 Proteus 仿真环境5、结束语通过这次课程设计我学到了很多东西,我更加体会到理论知识与动手能力相 结合的重要性,而且设计过程中使我懂得在设计程序之前,务必要对所用单片 机的内部结构有一个系统的了解,知道该单片机内有哪些资源,懂得设计的关 键是要有一个清晰的思路和一个完整的软件流程图。在设计程序时,不能妄想 一次就将整个程序设计好,“反复修改,不断改进”是程序设计的必经之路。 要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让 人一看就能明白你思路,这样也为资料的保存和交流提供了方便。整个设计的 过程中,还是碰到了一些问题。比如,对于P0 口控制的LED灯点亮完后怎么样 过渡到P2 口控制的LED灯点亮,对于编程的顺序及各模块程序调用掌握得还不 够好,主要是因为一些相关的应用软件没能熟练掌握。通过这几天的反复思 考,以及参考网上的程序,最终还是完成了设计。设计中我最大的收获就是自 己的动手能力和独立解决问题的能力得到了很大的提高,在动手的过程中,不 仅能增强实践能力,而且在理论上可以有更深的认识7、参考文献胡汉才.单片机原理与接口技术M.北京:清华大学出版社,. 楼然苗等.51系列单片机设计实例M.北京:北京航空航天出版社,.何立民.单片机高级教程M.北京:北京航空航天大学出版社,2001. 夏继强.单片机实验与实践教程M.北京:北京航空航天大学出版社,2001.
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!