单片机控制流水灯_第1页
单片机控制流水灯_第2页
单片机控制流水灯_第3页
单片机控制流水灯_第4页
单片机控制流水灯_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机控制流水灯 z 、.前言随着人们生活环境的不断改善和美化, 在许多场合可以看到彩色霓虹灯不断变化闪烁。LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用, 用彩灯来装饰街道和城市建筑物已经成为一种时尚。 但目前市场上各式样的LED灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮, 不能根据不同场合、 不同时间段的需要来调节亮灯时间、 模式、 闪烁频率等动态参数。 这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调, 缺乏用户可操作性, 影响亮灯效果。 因此有必要对

2、现有的彩灯控制器进行改进。流水灯是一串按一定的规律像流水一样连续闪亮。 流水灯控制是可编程控制器的一个应用, 其控制思想在工业控制技术领域也同样适用。 流水灯控制可用多种方法实现, 但对现代可编程控制器而言, 利用移位寄存器实现最为便利。 通常用左移寄存器实现灯的单方向移动; 用双向移位寄存器实现灯的双向移动。 本案例利用价格低廉的AT89C52系列单片机控制基色LED丁泡从而实现丰富的变化。前言 1.1课程设计的目的和要求3.设计目的 3.设计要求 3.2设计方案选择4.3硬件设计4.设计思路 4.流水灯电路原理图 4.元件清单 5.硬件电路模块分析 6.主要元件说明 9.振荡器特性1.2.

3、芯片擦除 1.2.4软件设计1.3.主程序设计1.3.程序流程图 1.3.5 使用 keil proteus 软件调试仿真说明 1. 3仿真过程 1.3.仿真结果 1.3.6 结束语 1.4.7参考文献1.5.1、课程设计的目的和要求设计目的近年来随着科技的发展, 单片机的应用正在不断走向深入, 同时带动传统控制检测日新月异更新, 在实时检测和自动控制的单片机应用系统中, 单片机往往是作为一个核心部件来使用, 单片机方面知识是不够的, 还应根据具体硬件结构,以及针对具体应用对象点的软件结合,加以完善。流水灯,可以更简单、方便的使用。 通过本课程设计使学生进一步巩固单片机原理及应用的基本概念、

4、基本理论, 分析问题的基本方法, 增强系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。 培养一定的自学能力和独立分析问题、 解决问题的能力, 能 通过独立思考、查阅工具书、参考文献,寻找解决方案。设计要求设计流水灯的基本要求:设计一个16个LED灯的流水久T,应用AT89C51实验开发板的定时器功能实现,电路开启后LED灯在时钟信号作用下按一定规律转 换状态。2、设计方案选择根据设计的基本要求, 要实现其基本要求有两种设计方案的选择, 这两种设计方案都是基于AT89C51单片机的基础上设计的。一种是使用两片74LS138译码 器芯片扩展成为4线一16线具有16种输出状态,从而可以控

5、制16个LED灯; 另一种是直接使用单片机的两个I /O端口控制,这样也可以实现控制16个LED灯。比较这两种设计方案, 我们小组选用了后者。 因为这个设计只是简单的要求实现16个LED灯循环点亮的流水功能,不用实现其他的功能,即不需要考虑占用I/O 口多的问题;而前者的设计方案需要外添加两个74LS138芯片,这样就增加了硬件电路的复杂性。3、硬件设计设计思路如果要让接在口的LED1亮起来,那么只要把口的电平变为低电平就可以了; 相反,如果要接在口的LED1熄灭,就要把口的电平变为高电平;同理,接在 和口的其他15个LED的点亮和熄灭的方法同LED2因此,要实现流水灯功能, 我们只要将发光二

6、极管LED卜LED16依次点亮、熄灭,16只LED灯便会一亮一 暗的做流水灯了。 在此我们还应注意一点, 由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短, 我们在控制二极管亮灭的时候应该延时一段时间, 否 则我们就看不到“流水”效果了。流水灯电路原理图4-r-i.电皿- HUM; P*J Mj的. K曲*i*n»TfiM -i格 MM1 Fi "I PABi:PtiH-l- ,学”1*再"不 Ml 3 Mjjnr wnr的H"uPJLBffiTnmr图3-1硬件接线图利用单片机的P0、P2 口高低电平控制LED灯的发光闪烁,再利用编程实现 流水灯

7、的功能。用软件来实现对LED的控制,实现的软硬件结合。每个LED灯接 一个限流电阻,来控制流入LED发光管的电流。闪烁系统AT89C5假心部件硬件系统方框图元件清单表3-1元件清单名称型号个数AT89C51122pF电容210uF电解电容1220欧姆电阻1610k电阻1晶振1发光二极管16连接线硬件电路模块分析(1)核心部件89C51单片机是整个流水灯循环系统的核心功能的部件,其中内部有ROM、有RAM、有并行I/O 口等,在51单片机内部有一个CPU用来运算、控制,有四 个并行I/O 口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有 RAM,用 来存放中间结果,此外还有定时/计数

8、器,串行I/O 口,中断系统,以及一个内 部的时钟电路。(2)复位系统电路中C1、R1、VCC等组成复位电路,它的作用是将单片机内部特殊功能 寄存器和端口寄存器恢复到初始状态,从内部FLASH#储器的初始状态开始执行。如图所示,当要对晶片重置时,只要按此开关就能完成LED和开关的重置。复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。单片机的RST管脚为主机提供了一个外部复位信号输 入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单 片机的复位方式可由手动复位方式完成。RSHI脚是复位信号输入端,复位信号为高电平有效,其有

9、效时间应持续24 个振荡周期以上才能完成复位操作,若使用 6MHz晶振,则需持续4S以上才 能完成复位操作。图中,在通电瞬间,由于 RC的充电过程,在RST®出现一定 宽度的正脉冲,只要该正脉冲保持 10ms以上,就能使单片机自动复位CPU在第二个机器周期内执行内部复位操作,以后每个机器周期重复一次, 直至RS础电平变低。在单片机复位期间,AlE和函函 信号都不产生。复位操 作将对部分专用寄存器产生影响,复位后,这些内部寄存器状态如表2-6 o表1-2部分专用寄存器复位状态寄存器值寄存器值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0 P30FFHIP

10、XXX00000IE0XX00000TMOD00HTCON00HTL0, TL100HTH0, TH100HSCON00HSBUF不定PCON0XXX0000上电瞬间由于电容C上无储能,其端电压近似为零,RS松得高电平,随着 电容器C的充电,RSHI脚上的高电平将逐渐下降,当 RST引脚上的电压小于某 一数值后,单片机就脱离复位状态,进入正常工作模式。只要高电平能保持复位 所需要的时间(约两个机器周期),单片机就能实现复位。(3)振荡系统单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。而时钟电路就用于产生单片机工 作所需要的时钟信号。

11、为LED灯循环系统提供稳定频率波在由多片单片机组成的系统中,为了各单 片机之间时钟信号的同步,引入唯一的外部脉冲信号作为各单片机的振荡脉冲。这时外部的脉冲信号是经单片机 89C51的XTAL2弓|脚注入的;在 MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1输出端为XTAL2在芯片的外部通过这两个引脚E接晶体振荡器和微调电容 C1、C2形成反 馈电路,可构成稳定的自激振荡器,振荡频率范围通常是 12MHz。晶体振荡频 率高,则系统的时钟频率也高,单片机的运行速度也就快。由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。如图所示图3-3振荡电路晶体振荡器

12、的振荡信号从XTAL渊送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号A和B供单片机使用。时钟信号的周期称为状态时间S振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。振荡脉冲在片内通过一个时钟发生电路二分频后才作为系统的时钟信号。片内时钟发生电路实质上是一个二分频的触发器,其输入来自振荡器,输出为二相时钟信号, 即状态时钟信号,其频率为fosc/2;状态时钟三分频后为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12(4)显示电路如图3-4所示,P0 口控制LED灯D1D8的显示,P2 口控制LED灯D10D17 的显示。限流电阻为2

13、20欧姆,经过的电流大概为15mA。E.*iknuum BMW HUJLDQ ,,一m PQMQ WJUBi UBJUB FQ.UEirFZDa 口 gnUAIB FSaA1 , Pl向卬工 FSaA13 PSN FMwainflfWF3.I« 113 iwaffFoP9 9inr aFV2 FliMr图3-4LED显示电路主要元件说明此电路主要元件是AT89C51单片机,单片机内部主要包含下列几个部件:一个8位CPU一个时钟电路;4Kbyte程序存储器;128byte数据存储器;两个16位定时/计数器;64Kbyte扩展总线控制电路;四个8-bit并行I/O端口;一个可编程串行接口

14、;五个中断源,其中包括两个优先级嵌套中断。外部中断外部计数脉冲程序存贮器一 4K字节=ROM内部PO Pl P2 P3ALE PSEN中新 uAT89C51硬件结构框图主要特性AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个 4KB的FLASH可编程可擦除只读存储器( FPEROM- Flash Programmable and Erasable Read Only Memory),它采用了 CMOS工艺和ATMEL公司的高密度非易 失性存储器技术,而且其输出引脚和指令系统都与MSC-51兼容。片内置通用8位中央处理器(CPU和FLASH#储单元,片内的存储器允许在系

15、统内改编程 序或用常规的非易失性存储器编程。因此,AT89C51是一种功能强、灵活性高且 价格合理的单片机,可方便的应用于各种控制领域。主要引脚功能1 .电源引脚Vcc和VssVcc电源端,接+ 5VoVss接地端。通常在Vcc和Vss引脚之间接仙高频滤波电容。2 .时钟电路引脚XTAL1和XTAL2XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输 入,若使用外部TTL时钟时,该引脚必须接地。XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的 输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。3 .地址锁存允许ALE在系统扩展时,ALE用于控制地址锁

16、存器锁存 P0 口输出的低8位地址,从 而实现数据与低位地址的复用。当单片机上电正常工作后,ALE端就周期性地以时钟频率的 1/6 的固定频率向外输出正脉冲信号, ALE 的负载能力为8 个 LSTTL器件。4 .外部程序存储器读选通信号是读外部程序存储器的选通信号,低电平有效。CPU从外部存储器取指令时,它在每个机器周期中两次有效。5 .程序存储器地址允许输入端/VPP当 为高电平时,CPU执行片内程序存储器指令,但当 PC中的值超过0FFFH 时,将自动转向执行片外程序存储器指令。当 为低电平时, CPU 只执行片外程 序存储器指令。对于8031,由于其无片内ROM,故 必须接低电平。6

17、.复位信号RST该信号高电平有效, 在输入端保持两个机器周期的高电平后, 就可以完成复位操作。此外,该引脚还有掉电保护功能,若在该端接 5V 备用电源,在使用 中若Vcc掉电,可保护片内RAM中信息不丢失。7 .输入/输出口引脚Po、Pi、P2和P3P0 口():该端口为漏极开路的8位准双向口,负载能力位8高LSTT改 载,它为 8 位地址线和 8 位数据线的复用端口。P1 口():它是一个内部带上拉电阻的8位准双向I/O 口,P1 口的驱动能 力为4个LSTT改载。P2 口():它为一个内部带上拉电阻的8位准双向I/O 口,P2 口的驱动能力也为4个LSTTa载。在访问外部程序存储器时,它作

18、存储器的高8位地址线。P3 口():P3 口同样是内部带上拉电阻的8位准双向I/O 口,P3 口除了作 为一般的I/O 口使用之外,具还具有特殊功能P1.。PL 1 PL2 PL 3P1. 4P1. 5PL 6P1JRST (R(D)P3. 0 ED旧.ETOP* 23CTO) PI 4C. 5 (WRPV6 醐P" 1XTAL2XTAL1GOAT8»C51VCCPOl 0/ “DSPD. 17 (ADI)P。. 2/ .W2>PB. 3 皿)PO. 4/(ADJ>PU. S/(ADJ> PE 6/(0 PO. 7/(AD7>ALE/Fact PSP

19、 P2. 7/(A» PL 6/(A14> PL S/UB> 也打41刀 P2. Mae PL 2/M0i P2.P2. 0八AMffl 1 AT89c51的引脚排列振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为 片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度芯片擦除AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软 件可选的掉电模式。在闲置模式下,CPU停止

20、工作。但RAM,定时器,计数器, 串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。4、软件设计主程序设计#include<>#define T 10文件。本设计利用Keil pVision4,在新建Keil项目时选择AT89C51单片机作为 CPU,将C语言源程序导入,在“Options For Target对话窗口中,选中“Output” 选项中的“ Create HEX File”,编译链接后就可以生成.HEX文件。在Proteus ISIS 中,选中AT89C51并单击鼠标左键,对AT89C51进行设置,设置单片机时钟频率 为12MHz,按照正确的文件路径加载.HEX文件。对单片机设置完毕后就可以开 始仿真了。仿真结果文井由 F M %0n MF 冷屯苴却与和明(班球向RX1稹变泡要统Ml :玷M H口冷H电 注0 |凶由+ +|守守二电* 下 小联/灶产 X镯韬目用血才E B 3-TO0 QI *1D(DO %I,|1| I O "I1Udr>p|目Fjg 5H &quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论