花样流水灯的设计概述.docx
《花样流水灯的设计概述.docx》由会员分享,可在线阅读,更多相关《花样流水灯的设计概述.docx(18页珍藏版)》请在冰豆网上搜索。
花样流水灯的设计概述
花样流水灯的设计
摘要
城市夜景中,变幻多姿的霓虹灯历来是一道亮丽的风景。
利用单片机的自动控制功能,设计出相应不同的电路,可以实现彩灯不同模式的流水效果。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心即使单片机。
单片机的最明显的优势,就是想入到各种仪器,设备中。
本课程是利用AT80C51单片机的自动控制功能,并结合其它电子元器件以及软件实现的流水灯,实现不同种类的流水现象。
关键字:
AT80C51单片机,LED,花样流水灯
目录
1绪论1
2相关元件及电路设计1
2.1AT89C51芯片功能特性及应用1
2.2MCS-51单片机2
2.2.1内部结构2
2.2.2引脚定义2
2.2.3外部总线构成5
2.3单片机时钟电路及时钟时序单位6
2.4单片机的复位8
2.4.1复位状态8
2.4.2复位电路8
3电路及程序设计10
3.1电路原理图设计10
3.2电路程序设计11
总结18
致谢19
参考文献20
1绪论
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
本设计用AT89C51单片机自制了一款简易的花样流水灯,介绍了其硬件电路及软件编程方法,在实践中体验单片机的自动控制功能。
该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
学习单片机的最有效方法就是理论与实践并重,现在我把单片机流水灯设计作为一个课程设计,需要更深的去了解单片机的很多功能,努力的去查找资料。
本课题将以发光二极管作为发光器件,用单片机自动控制,实现一个简易的花样流水灯设计。
2相关元件及电路设计
2.1AT89C51芯片功能特性及应用
单片机在我们的日常生活和工作中无处不在、无处不有:
家用电器中的电子表、洗衣机、电饭褒、豆浆机、电子秤;住宅小区的监控系统、电梯智能化控制系统;汽车电子设备中的ABS、GPS、ESP、TPMS;医用设备中的呼吸机,各种分析仪,监护仪,病床呼叫系统;公交汽车、地铁站的IC卡读卡机、滚动显示车次和时间的LED点阵显示屏;电脑的外设,如键盘、鼠标、光驱、打印机、复印件、传真机、调制解调器;计算机网络的通讯设备;智能化仪表中的万用表,示波器,逻辑分析仪;工厂流水线的智能化管理系统,成套设备中关键工作点的分布式监控系统;导弹的导航装置,飞机上的各种仪表等等。
有资料表明:
2007年全球单片机的产值达到151亿美元,我国单片机的销售额达到400亿元人民币,我国每年单片机的需求量达50至60亿片,是全球单片机的最大市场。
可以说单片机已经渗透到了我们生活的各个领域。
在AT89C51芯片内部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率通常是1.2~12MHz。
若晶体振荡器频率高,则系统的时钟频率也高,单片机的运行速度也就快
2.2MCS-51单片机
2.2.1内部结构
MCS-51系列单片机内部采用模块式结构,其结构组成框图如图1所示。
图1MCS-51系列单片机组成框图
由图1可见,MCS-51系列单片机主要由以下部件通过片内总线连接而成:
中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、并行输入/输出口(P0口~P3口)、串行口、定时器/计数器、中断控制、总线控制及时钟电路。
2.2.2引脚定义
引脚是单片机和外界进行通信的通道连接点,用户只能通过引脚组建控制系统。
从应用的角度来看,引脚的应用是单片机应用的一个重要基础。
因此熟悉引脚是学习应用单片机的基础。
MCS-51系列单片机的引脚封装主要有:
PDIP40、PLCC44和PQFP/TQFP44。
不同封装的芯片其引脚的排列位置有所不同,但他们的功能和特性都相同。
方形封装(PLCC44和POFP/TQFP44)有44引脚,其中4个NC为空引脚。
采用40引脚PDIP封装的80C51单片机的引脚排列及逻辑符号如图2所示。
由于工艺及标准化等原因,芯片的引脚数量是有限的,但单片机为实现控制所需要的信号数目却远远超过其引脚数目。
为解决这一矛盾,单片机的某些信号引脚被赋以双重功能。
1)电源及电源复位引脚:
(1)VCC(40脚):
正常操作时接+5V直流电源。
(2)VSS(20脚):
接地端。
图240引脚PDIP封装的80C51单片机的引脚排列及逻辑符号图
(3)RST/VPD(9脚):
复位信号输入端。
在该引脚上输入一定时间(约两个机器周期)的高电平将使单片机复位。
该引脚的第二功能是VPD,即备用电源输入端。
当主电源发生故障,降低到低电平规定值时,可将+5V备用电源自动接入VPD端,以保护片内RAM中的信息不丢失,使复电后能继续正常运行。
(4)/VPP(31脚):
访问程序存储器控制信号/编程电源输入。
当保持高电平时,访问内部程序存储器,访问地址范围在0~4KB内;当PC(程序计数器)值超过0FFFH,即访问地址超出4KB时,将自动转向执行外部程序存储器内的程序;当保持低电平时,不管单片机内部是否有程序存储器,则只访问外部程序存储器(从0000H地址开始)。
由此可见,对片内有可用程序存储器的单片机而言,端应接高电平,而对片内无程序存储器的单片机,可将接地。
对于EPROM型单片机,在EPROM编程期间,此引脚用于施加21V的编程电源(VPP)。
2)时钟振荡电路引脚XTAL1和XTAL2:
(1)XTAL1(19脚):
外接石英晶体和微调电容引脚1。
它是片内振荡电路反向放大器的输入端。
采用外部振荡器时此引脚接地。
(2)XTAL2(18脚):
外接石英晶体和微调电容引脚2。
它是片内振荡电路反向放大器的输出端。
采用外部振荡器时此引脚为外部振荡信号输入端。
3)(30脚):
低8位地址锁存控制信号/编程脉冲输入。
在系统扩展时,ALE用于把P0口输出的低8位地址锁存起来,以实现低8位地址和数据的隔离。
在访问外部程序存储器期间,ALE信号两次有效;而在访问外部数据存储器期间,ALE信号一次有效。
对于EPROM型单片机,在EPROM编程期间,此引脚用于输入编程脉冲。
4)(29脚):
外部程序存储器的读选通信号输出端,低电平有效。
在从外部程序存储器取指令(或常数)期间,此引脚定时输出负脉冲作为读取外部程序存储器的信号,每个机器周期两次有效,此时地址总线上送出的地址为外部程序存储器地址;在此期间,如果访问外部数据存储器和内部程序存储器,不会产生信号。
5)并行双向输入/输出(I/O)口引脚:
(1)P0口的P0.0~P0.7引脚(39~32脚):
8位通用输入/输出端口和片外8位数据/低8位地址复用总线端口。
(2)P1口的P1.0~P1.7引脚(1~8脚):
8位通用输入/输出端口。
(3)P2口的P2.0~P2.7引脚(28~21脚):
8位通用输入/输出端口和片外高8位地址总线端口。
(4)P3口的P3.0~P3.7引脚(10~17脚):
8位通用输入/输出端口,具有第二功能。
2.2.3外部总线构成
所谓总线,就是连接单片机与各外部器件的一组公共的信号线。
当系统要求扩展时,单片机要与一定数量的外部器件和外围设备连接。
如果各部件及每一种外围设备都分别用各自的一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。
为了简化硬件电路的设计和系统结构,常用一组线路,并配以适当的接口电路来与各个外部器件和外围设备连接,这组共用的连接线路就是总线。
采用总线结构便于扩展外部器件和外围设备,而统一的总线标准则使不同设备间的互连更容易实现。
利用片外引脚可以构造MCS-51系列单片机的三总线结构。
单片机的引脚除了电源端VCC、接地端VSS、复位端RST、晶振接入端XTAL1和XTAL2、通用I/O口的P1.0~P1.7以外,其余的引脚都是为实现系统扩展而设置的。
用这些引脚构造的单片机系统的三总线结构如3所示。
图3MCS-51系列单片机片外三总线结构
1)地址总线(AddressBus,AB):
MCS-51系列单片机总共有16根地址线A15~A0,片外存储器可寻址范围达64KB(216=65536字节),由P2口直接提供高8位地址A15~A8,P0口经地址锁存器提供低8位地址A7~A0。
2)数据总线(DataBus,DB):
MCS-51系列单片机总共有8根数据线D7~D0,全由P0口提供。
由于P0口是分时复用总线,分时输送低8位地址(通过地址锁存器锁存)和高8位数据信息。
3)控制总线(ControlBus,CB):
控制总线由P3口的第二功能(P3.6)、(P3.7)和3根独立的控制线、ALE、组成。
2.3单片机时钟电路及时钟时序单位
1)时钟电路
单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。
而时钟电路就用于产生单片机工作所需要的时钟信号。
MCS-51单片机时钟电路示意图如图4所示。
图4MCS-51单片机时钟振荡电路示意图
在MCS-51芯片内部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率范围通常是1.2~12MHz。
晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。
振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。
振荡脉冲在片内通过一个时钟发生电路二分频后才作为系统的时钟信号。
片内时钟发生电路实质上是一个二分频的触发器,其输入来自振荡器,输出为二相时钟信号,即状态时钟信号,其频率为fosc/2;状态时钟三分频后为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。
在图4中,使用晶体振荡器时,C1、C2取值30±10pF;使用陶瓷振荡器时,C1、C2取值40±10pF。
C1、C2的取值虽然没有严格的要求,但电容的大小影响振荡电路的稳定性和快速性,通常取值20~30pF。
在设计印制电路板时,晶振和电容等应尽可能靠近芯片,以减少分布电容,保证振荡器振荡的稳定性。
也可以由外部时钟电路向片内输入脉冲信号作为单片机的振荡脉冲。
这时外部脉冲信号是经XTAL1引脚引入的,而XTAL2引脚悬空或接地。
对外部信号的占空比没有要求,但高低电平持续的时间不应小于20ns。
这种方式常用于多块芯片同时工作,便于同步。
其外部脉冲接入方式如图5所示。
图5MCS-51单片机外部时钟输入接线图
所谓时序,是指在指令执行过程中,CPU的控制器所发出的一系列特定的控制信号在时间上的先后关系。
CPU发出的控制信号有两类:
一类是用于单片机内部的,用户不能直接接触此类信号,不必对它作过多了解;另一类是通过控制总线送到片外的,人们通常以时序图的形式来表示相关信号的波形及出现的先后次序。
为了说明信号的时间关系,需要定义时序单位。
89C51的时序单位共有四个,从小到大依次是拍节、状态、机器周期和指令周期。
如图4所示。
2.4单片机的复位
2.4.1复位状态
复位是单片机的初始化操作,其主要功能是将程序计数器PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化外,当程序运行出错或操作错误使系统处于死锁状态时,也须重新启动单片机,使其复位。
单片机复位后,除P3~P0的端口锁存器被设置成FFH、堆栈指针SP设置