版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE18单片机控制流水灯前言随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁。LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。流水灯是一串按一定的规律像流水一样连续闪亮。流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。本案例利用价格低廉的AT89C52系列单片机控制基色LED灯泡从而实现丰富的变化。目录TOC\o"1-3"\h\u20080前言 2118691、课程设计的目的和要求 6230031.1设计目的 6215061.2设计要求 652082、设计方案选择 6138053、硬件设计 7245023.1
设计思路
760563.2流水灯电路原理图 7187173.2.1元件清单 8320793.2.2硬件电路模块分析 8188723.3主要元件说明 11281523.3.3振荡器特性 1533513.3.4芯片擦除 15267204、软件设计 15266794.1主程序设计 1523044.2程序流程图 1854765、使用keil、proteus软件调试仿真说明 19299315.1仿真过程 1954895.2仿真结果 19202206、结束语 1919717、参考文献 20课程设计的目的和要求1.1设计目的近年来随着科技的发展,单片机的应用正在不断走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象点的软件结合,加以完善。流水灯,可以更简单、方便的使用。通过本课程设计使学生进一步巩固单片机原理及应用的基本概念、基本理论,分析问题的基本方法,增强系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。1.2设计要求设计流水灯的基本要求:设计一个16个LED灯的流水灯,应用AT89C51实验开发板的定时器功能实现,电路开启后LED灯在时钟信号作用下按一定规律转换状态。设计方案选择根据设计的基本要求,要实现其基本要求有两种设计方案的选择,这两种设计方案都是基于AT89C51单片机的基础上设计的。一种是使用两片74LS138译码器芯片扩展成为4线—16线具有16种输出状态,从而可以控制16个LED灯;另一种是直接使用单片机的两个I/O端口控制,这样也可以实现控制16个LED灯。比较这两种设计方案,我们小组选用了后者。因为这个设计只是简单的要求实现16个LED灯循环点亮的流水功能,不用实现其他的功能,即不需要考虑占用I/O口多的问题;而前者的设计方案需要外添加两个74LS138芯片,这样就增加了硬件电路的复杂性。3、硬件设计3.1
设计思路
如果要让接在P0.0口的LED1亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.1~P0.7和P2.0~P2.7口的其他15个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED16依次点亮、熄灭,16只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。3.2流水灯电路原理图图3-1硬件接线图利用单片机的P0、P2口高低电平控制LED灯的发光闪烁,再利用编程实现流水灯的功能。用软件来实现对LED的控制,实现的软硬件结合。每个LED灯接一个限流电阻,来控制流入LED发光管的电流。复位电路复位电路AT89C51核心部件闪烁系统振荡系统硬件系统方框图3.2.1元件清单表3-1元件清单名称型号个数AT89C51122pF电容210uF电解电容1220欧姆电阻1610k电阻1晶振11.0592M1发光二极管16连接线若干3.2.2硬件电路模块分析(1)核心部件89C51单片机是整个流水灯循环系统的核心功能的部件,其中内部有ROM、有RAM、有并行I/O口等,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。(2)复位系统电路中C1、R1、VCC等组成复位电路,它的作用是将单片机内部特殊功能寄存器和端口寄存器恢复到初始状态,从内部FLASH存储器的初始状态开始执行。如图所示,当要对晶片重置时,只要按此开关就能完成LED和开关的重置。复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。单片机的RST管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式可由手动复位方式完成。RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续24个振荡周期以上才能完成复位操作,若使用6MHz晶振,则需持续4μS以上才能完成复位操作。图2.10中,在通电瞬间,由于RC的充电过程,在RST端出现一定宽度的正脉冲,只要该正脉冲保持10ms以上,就能使单片机自动复位图3-2复位电路CPU在第二个机器周期内执行内部复位操作,以后每个机器周期重复一次,直至RST端电平变低。在单片机复位期间,AlE和信号都不产生。复位操作将对部分专用寄存器产生影响,复位后,这些内部寄存器状态如表2-6。表1-2部分专用寄存器复位状态寄存器值寄存器值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0~P30FFHIPXXX00000IE0XX00000TMOD00HTCON00HTL0,TL100HTH0,TH100HSCON00HSBUF不定PCON0XXX0000上电瞬间由于电容C上无储能,其端电压近似为零,RST获得高电平,随着电容器C的充电,RST引脚上的高电平将逐渐下降,当RST引脚上的电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式。只要高电平能保持复位所需要的时间(约两个机器周期),单片机就能实现复位。(3)振荡系统单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。而时钟电路就用于产生单片机工作所需要的时钟信号。为LED灯循环系统提供稳定频率波在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,引入唯一的外部脉冲信号作为各单片机的振荡脉冲。这时外部的脉冲信号是经单片机89C51的XTAL2引脚注入的;在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率范围通常是1.2~12MHz。晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。如图所示图3-3振荡电路
晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号A和B供单片机使用。时钟信号的周期称为状态时间S,它是振荡周期的2倍,A信号在每个状态的前半周期有效,在每个状态的后半周期B信号有效。CPU就是以两相时钟A和B为基本节拍协调单片机各部分有效工作的。MCS-51单片机时钟电路示意图如图下图所示。MCS-51单片机时钟振荡电路示意图振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。振荡脉冲在片内通过一个时钟发生电路二分频后才作为系统的时钟信号。片内时钟发生电路实质上是一个二分频的触发器,其输入来自振荡器,输出为二相时钟信号,即状态时钟信号,其频率为fosc/2;状态时钟三分频后为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。(4)显示电路如图3-4所示,P0口控制LED灯D1~D8的显示,P2口控制LED灯D10~D17的显示。限流电阻为220欧姆,经过的电流大概为15mA。图3-4LED显示电路3.3主要元件说明此电路主要元件是AT89C51单片机,单片机内部主要包含下列几个部件:
一个8位CPU;
一个时钟电路;
4Kbyte程序存储器;
128byte数据存储器;
两个16位定时/计数器;
64Kbyte扩展总线控制电路;
四个8-bit并行I/O端口;
一个可编程串行接口;
五个中断源,其中包括两个优先级嵌套中断。AT89C51硬件结构框图3.3.1主要特性AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域。3.3.2主要引脚功能1.电源引脚Vcc和VssVcc:电源端,接+5V。Vss:接地端。通常在Vcc和Vss引脚之间接0.1μ高频滤波电容。2.时钟电路引脚XTAL1和XTAL2XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。3.地址锁存允许ALE在系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。当单片机上电正常工作后,ALE端就周期性地以时钟频率的1/6的固定频率向外输出正脉冲信号,ALE的负载能力为8个LSTTL器件。4.外部程序存储器读选通信号是读外部程序存储器的选通信号,低电平有效。CPU从外部存储器取指令时,它在每个机器周期中两次有效。5.程序存储器地址允许输入端/VPP当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当为低电平时,CPU只执行片外程序存储器指令。对于8031,由于其无片内ROM,故必须接低电平。6.复位信号RST该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。此外,该引脚还有掉电保护功能,若在该端接+5V备用电源,在使用中若Vcc掉电,可保护片内RAM中信息不丢失。7.输入/输出口引脚P0、P1、P2和P3P0口(P0.0~P0.7):该端口为漏极开路的8位准双向口,负载能力位8高LSTTL负载,它为8位地址线和8位数据线的复用端口。P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。P2口(P2.0~P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,它作存储器的高8位地址线。P3口(P3.0~P3.7):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。3.3.3振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度3.3.4芯片擦除AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。4、软件设计4.1主程序设计#include<reg51.h>#defineT10//定时器时间T*50msvoidInit_Timer0(void);unsignedcharTime;voidmain(void){intflag=1;//P0口先开始亮灯Time=0;P0=0x7f;P2=0xff;Init_Timer0();//初始化定时器while(1){if(flag==1)//P0口准备亮灯{if(Time==T)//0.5s移动一次{P0>>=1;P0=P0|0x80;Time=0;}}if(P0==0xfe)//到了P0的最后一个灯11111110flag=0;if(flag==0)//P2口准备亮灯{if(Time==T&&P0==0xfe){P2=0x7f;//P2口开始亮灯01111111P0=0xff;//P0口不亮灯11111111Time=0;}if(Time==T){P2>>=1;P2=P2|0x80;Time=0;}}if(P2==0xfe)//到了P2口的最后一个灯11111110{P1=0x00;//调试代码if(Time==T){P0=0x7f;P2=0xff;flag=1;//P0口准备亮灯Time=0;P1=0xff;//调试代码continue;//重新循环;}}}}voidInit_Timer0(void){TMOD=0x01;//选择工作方式1TH0=0x3C;//设置初始值,定时50MSTL0=0xB0;EA=1;//打开总中断ET0=1;//打开定时器0中断TR0=1;//启动定时器0}voidTimer0()interrupt1{TH0=(65536-50000)/256;//设置初始值TL0=(65536-50000)%256;Time++;}此程序中加入了一个P1口用来调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年金融法规与政策专项训练题库
- 2026信息安全法律法规与标准专项训练题库
- 2026年灯饰公司面试考试试题及答案
- 旅游规划与管理专业实习报告考试
- 2026年华莱士实习员工考试试题及答案
- 2026年本田汽车销售考试试题及答案
- 护士规范考试题目及答案 高中生适用
- 2026年中学生历史知识体系构建方法考试冲刺卷
- 2026年矿山救护队员理论100库及答案
- 2026事业单位工勤技能-山东-山东医技工二级(技师)历年参考题库含答案详解3套试卷
- 2026年陕西省宝鸡市重点学校初一入学数学分班考试试题及答案
- 2026年全国一级建造师之一建公路工程实务考试快速提分卷详细参考解析
- 2026年四川省夹金山国有林保护局有限公司公开招聘工作人员25人考试备考题库及答案详解
- 铝合金门窗生产作业指导书
- 供应商调查表
- 电路(上海电力大学)智慧树知到课后章节答案2023年下上海电力大学
- 学科大概念视域下的高中化学单元整体教学设计
- 拉杆钢结构雨篷计算
- 洛阳荣基矿业开发有限公司洛宁县杨坪沟金矿矿产资源开采与生态修复方案
- (完整)注册安全工程师考试题库(含答案)
- JJF 1915-2021倾角仪校准规范
评论
0/150
提交评论