单片机课程设计(论文)花样流水灯的设计.doc

上传人:文库蛋蛋多 文档编号:3936613 上传时间:2023-03-28 格式:DOC 页数:15 大小:593KB
返回 下载 相关 举报
单片机课程设计(论文)花样流水灯的设计.doc_第1页
第1页 / 共15页
单片机课程设计(论文)花样流水灯的设计.doc_第2页
第2页 / 共15页
单片机课程设计(论文)花样流水灯的设计.doc_第3页
第3页 / 共15页
单片机课程设计(论文)花样流水灯的设计.doc_第4页
第4页 / 共15页
单片机课程设计(论文)花样流水灯的设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《单片机课程设计(论文)花样流水灯的设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计(论文)花样流水灯的设计.doc(15页珍藏版)》请在三一办公上搜索。

1、花样流水灯的设计摘 要城市夜景中,变幻多姿的霓虹灯历来是一道亮丽的风景。利用单片机的自动控制功能,设计出相应不同的电路,可以实现彩灯不同模式的流水效果。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心即使单片机。单片机的最明显的优势,就是想入到各种仪器,设备中。本课程是利用AT80C51单片机的自动控制功能,并结合其它电子元器件以及软件实现的流水灯,实现不同种类的流水现象。关键字:AT80C51单片机,LED,花样流水灯目录1绪论12 相关元件及电路设计12.1 AT89C51芯片功能特性及应用12.2 MCS-51单片机22.2.1 内部结构22.2.2 引

2、脚定义22.2.3 外部总线构成52.3单片机时钟电路及时钟时序单位62.4单片机的复位82.4.1 复位状态82.4.2 复位电路83电路及程序设计103.1电路原理图设计103.2电路程序设计11总结18致谢19参考文献20片机已经渗透到了我们生活的各个领域。在AT89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率通常是1.212MHz。若晶体振荡器频率高,则系统的时钟频率也高,单片机的运行速度也就快2.2 MCS-5

3、1单片机2.2.1 内部结构MCS-51系列单片机内部采用模块式结构,其结构组成框图如图1所示。图1 MCS-51系列单片机组成框图由图1可见,MCS-51系列单片机主要由以下部件通过片内总线连接而成:中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、并行输入/输出口(P0口P3口)、串行口、定时器/计数器、中断控制、总线控制及时钟电路。2.2.2 引脚定义引脚是单片机和外界进行通信的通道连接点,用户只能通过引脚组建控制系统。从应用的角度来看,引脚的应用是单片机应用的一个重要基础。因此熟悉引脚是学习应用单片机的基础。 MCS-51系列单片机的引脚封装主要有: PDIP40、PL

4、CC44和PQFP/TQFP44。不同封装的芯片其引脚的排列位置有所不同,但他们的功能和特性都相同。方形封装(PLCC44和POFP/TQFP44)有44引脚,其中4个NC为空引脚。采用40引脚PDIP封装的80C51单片机的引脚排列及逻辑符号如图2所示。由于工艺及标准化等原因,芯片的引脚数量是有限的,但单片机为实现控制所需要的信号数目却远远超过其引脚数目。为解决这一矛盾,单片机的某些信号引脚被赋以双重功能。1)电源及电源复位引脚:(1)VCC(40脚):正常操作时接+5V直流电源。(2)VSS (20脚):接地端。图2 40引脚PDIP封装的80C51单片机的引脚排列及逻辑符号图(3)RST

5、/VPD(9脚):复位信号输入端。在该引脚上输入一定时间(约两个机器周期)的高电平将使单片机复位。该引脚的第二功能是VPD,即备用电源输入端。当主电源发生故障,降低到低电平规定值时,可将+5V备用电源自动接入VPD端,以保护片内RAM中的信息不丢失,使复电后能继续正常运行。(4)/VPP(31脚):访问程序存储器控制信号/编程电源输入。当保持高电平时,访问内部程序存储器,访问地址范围在04KB内;当PC(程序计数器)值超过0FFFH,即访问地址超出4KB时,将自动转向执行外部程序存储器内的程序;当保持低电平时,不管单片机内部是否有程序存储器,则只访问外部程序存储器(从0000H地址开始)。由此

6、可见,对片内有可用程序存储器的单片机而言,端应接高电平,而对片内无程序存储器的单片机,可将接地。对于EPROM型单片机,在EPROM编程期间,此引脚用于施加21V的编程电源(VPP)。2)时钟振荡电路引脚XTAL1和XTAL2:(1)XTAL1(19脚):外接石英晶体和微调电容引脚1。它是片内振荡电路反向放大器的输入端。采用外部振荡器时此引脚接地。(2)XTAL2(18脚):外接石英晶体和微调电容引脚2。它是片内振荡电路反向放大器的输出端。采用外部振荡器时此引脚为外部振荡信号输入端。3) (30脚):低8位地址锁存控制信号/编程脉冲输入。在系统扩展时,ALE用于把P0口输出的低8位地址锁存起来

7、,以实现低8位地址和数据的隔离。在访问外部程序存储器期间,ALE信号两次有效;而在访问外部数据存储器期间,ALE信号一次有效。对于EPROM型单片机,在EPROM编程期间,此引脚用于输入编程脉冲。4)(29脚):外部程序存储器的读选通信号输出端,低电平有效。在从外部程序存储器取指令(或常数)期间,此引脚定时输出负脉冲作为读取外部程序存储器的信号,每个机器周期两次有效,此时地址总线上送出的地址为外部程序存储器地址;在此期间,如果访问外部数据存储器和内部程序存储器,不会产生信号。5)并行双向输入/输出(I/O)口引脚:(1)P0口的P0.0P0.7引脚(3932脚):8位通用输入/输出端口和片外8

8、位数据/低8位地址复用总线端口。(2)P1口的P1.0P1.7引脚(18脚):8位通用输入/输出端口。(3)P2口的P2.0P2.7引脚(2821脚):8位通用输入/输出端口和片外高8位地址总线端口。(4)P3口的P3.0P3.7引脚(1017脚):8位通用输入/输出端口,具有第二功能。2.2.3 外部总线构成所谓总线,就是连接单片机与各外部器件的一组公共的信号线。当系统要求扩展时,单片机要与一定数量的外部器件和外围设备连接。如果各部件及每一种外围设备都分别用各自的一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路的设计和系统结构,常用一组线路,并配以适当的接口电路

9、来与各个外部器件和外围设备连接,这组共用的连接线路就是总线。采用总线结构便于扩展外部器件和外围设备,而统一的总线标准则使不同设备间的互连更容易实现。利用片外引脚可以构造MCS-51系列单片机的三总线结构。单片机的引脚除了电源端VCC、接地端VSS、复位端RST、晶振接入端XTAL1和XTAL2、通用I/O口的P1.0P1.7以外,其余的引脚都是为实现系统扩展而设置的。用这些引脚构造的单片机系统的三总线结构如3所示。图3 MCS-51系列单片机片外三总线结构1)地址总线(Address Bus,AB):MCS-51系列单片机总共有16根地址线A15 A0,片外存储器可寻址范围达64KB(216=

10、65536字节),由P2口直接提供高8位地址A15 A8,P0口经地址锁存器提供低8位地址A7 A0。2)数据总线(Data Bus,DB):MCS-51系列单片机总共有8根数据线D7D0,全由P0口提供。由于P0口是分时复用总线,分时输送低8位地址(通过地址锁存器锁存)和高8位数据信息。 3)控制总线(Control Bus,CB):控制总线由P3口的第二功能(P3.6)、(P3.7)和3根独立的控制线、ALE、组成。2.3单片机时钟电路及时钟时序单位1) 时钟电路单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。而时钟电路就用于产生

11、单片机工作所需要的时钟信号。MCS-51单片机时钟电路示意图如图4所示。图4 MCS-51单片机时钟振荡电路示意图在MCS-51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率范围通常是1.212MHz。晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。振荡脉冲在片内通过一个时钟发生电路二分频后才作为系统的时钟信号。片内时钟发生电路实质上是一个二分频的触发器

12、,其输入来自振荡器,输出为二相时钟信号,即状态时钟信号,其频率为fosc/2;状态时钟三分频后为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。在图4中,使用晶体振荡器时,C1、C2取值3010pF;使用陶瓷振荡器时,C1、C2取值4010pF。C1、C2的取值虽然没有严格的要求,但电容的大小影响振荡电路的稳定性和快速性,通常取值2030pF。在设计印制电路板时,晶振和电容等应尽可能靠近芯片,以减少分布电容,保证振荡器振荡的稳定性。也可以由外部时钟电路向片内输入脉冲信号作为单片机的振荡脉冲。这时外部脉冲信号是经XTAL1引脚引入的,而XTAL2引脚悬空或接

13、地。对外部信号的占空比没有要求,但高低电平持续的时间不应小于20ns。这种方式常用于多块芯片同时工作,便于同步。其外部脉冲接入方式如图5所示。图5 MCS-51单片机外部时钟输入接线图所谓时序,是指在指令执行过程中,CPU的控制器所发出的一系列特定的控制信号在时间上的先后关系。CPU发出的控制信号有两类:一类是用于单片机内部的,用户不能直接接触此类信号,不必对它作过多了解;另一类是通过控制总线送到片外的,人们通常以时序图的形式来表示相关信号的波形及出现的先后次序。为了说明信号的时间关系,需要定义时序单位。89C51的时序单位共有四个,从小到大依次是拍节、状态、机器周期和指令周期。如图4所示。2

14、.4单片机的复位2.4.1 复位状态复位是单片机的初始化操作,其主要功能是将程序计数器PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化外,当程序运行出错或操作错误使系统处于死锁状态时,也须重新启动单片机,使其复位。 单片机复位后,除P3P0的端口锁存器被设置成FFH、堆栈指针SP设置成07H和串行口的SBUF无确定值外,其它各专用寄存器包括程序计数器PC均被设置成00H。片内RAM不受复位的影响,上电后RAM中的内容是随机的。记住这些特殊功能寄存器的复位状态,对熟悉单片机操作,简短应用程序中的初始化部分是十分必要的。2.4.2 复位电路单片机的复位操作有上

15、电自动复位和手动按键复位两种方式。上电自动复位操作要求接通电源后自动实现复位操作。如图1.5-1所示。图6(a)所示为最简单的复位电路。上电瞬间由于电容C上无储能,其端电压近似为零,RST获得高电平,随着电容器C的充电,RST引脚上的高电平将逐渐下降,当RST引脚上的电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式。只要高电平能保持复位所需要的时间(约两个机器周期),单片机就能实现复位。相比于图6(a),图6(b)所示的电路只是增加了外接二极管VD和电阻R。其优越性在于停电后,二极管VD给电容C提供了快速放电通路,保证再上电时RST为高电平,从而保证单片机可靠复位。正常工作时,二极管

16、反偏,对电路没影响。断电后,VCC逐渐下降,当VCC=0时,电容C通过VD迅速放电,恢复到无电量的初始状态,为下次上电复位做好准备。(a) (b)图6 上电自动复位电路手动按键复位要求在电源接通的条件下,用按钮开关操作使单片机复位,如图7所示。其工作原理为:复位键按下后,电容C通过R2放电,放电结束后,RST引脚的电位由R1和R2 分压决定,由于R2R1,因此,RST引脚为高电平,单片机进入复位状态,松开按键后,电容充电,RST上的电位降低,经过一定的延时,单片机就脱离复位状态,进入正常工作模式。R2的作用在于限流,避免按键按下的瞬间电容C放电产生火花,保护按键的触点。图7 手动按键复位电路系

17、统上电运行后,若需要复位,一般是通过手动复位来实现的。通常采用手动复位和上电自动复位结合。复位电路虽然简单,但其作用十分重要。一个单片机系统能否正常运行,首先要检查是否能复位成功。初步检查可用示波器探头监视RST引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值的方法进行检测。3电路及程序设计3.1电路原理图设计按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定

18、时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.255.50V的电压工作范围和024MHz工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED

19、1LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。设计原理图如图8所示:图8流水灯硬件原理图3.2电路程序设计 程序流程图如图9所示:程序中LIGHT7为多种亮灯方式结合循环延时子程序DELAY为0.5秒延时,延时子程序DELAY1为2秒延时LIGHT1LIGHT6亮灯方式程序中有标注开 始跳至主程序,设置外部中断0有效,电平触发主程序等待中断中断到来?继续等待中断P3.0=0?P3.1=0?P3.3=0?P3.4=0?P3.5

20、=0?P3.6=0?P3.7=0?中断?继续循环LIGHT1LIGHT2LIGHT3LIGHT4LIGHT5LIGHT6LIGHT7相应亮灯方式图9 程序流程图程序如下:ORG 0000H AJMP MAIN ;系统上电,执行主程序 ORG 0003H ;外部中断0入口 AJMP LOOP ;转移至中断服务程序MAIN: SETB EX0 ;允许INT0中断 SETB IT0 ;INT0中断选用电平触发 SETB EA ;CPU开中断HALT: SJMP HALT ;等待中断LOOP: ;判0转移到相应亮灯方式 SETB P3.2 JNB P3.0 ,LIGHT1 JNB P3.1 ,LIGH

21、T2 JNB P3.3 ,LIGHT3 JNB P3.4 ,LIGHT4 JNB P3.5 ,LIGHT5 JNB P3.6 ,LIGHT6 JNB P3.7 ,LIGHT7LIGHT1: ;一个正流水(2秒延时) SETB P3.0 MOV DPTR,#TAB1 MOV R0,#8 LIGHT11:MOVX A,DPTR MOV P1,A LCALL DELAY INC DPTR DJNZ R0,LIGHT11 JNB P3.0,LOOP SJMP LIGHT1LIGHT2: ;两个正流水(2秒延时) SETB P3.1 MOV DPTR,#TAB2 MOV R0,#4 LIGHT22:MO

22、VX A,DPTR MOV P1,A LCALL DELAY INC DPTR DJNZ R0,LIGHT22 SJMP LIGHT2LIGHT3: ;隔一个正流水(2秒延时) SETB P3.3 MOV DPTR,#TAB3 MOV R0,#8 LIGHT33:MOVX A,DPTR MOV P1,A LCALL DELAY INC DPTR DJNZ R0,LIGHT33 JNB P3.0,LOOP SJMP LIGHT3LIGHT4: ;隔两个正流水(0.5秒延时) SETB P3.4 MOV DPTR,#TAB4 MOV R0,#4 LIGHT44:MOVX A,DPTR MOV P1,A LCALL DELAY1 INC DPTR DJNZ R0,LIGHT44 JNB P3.0,LOOP SJMP LIGHT4LIGHT5: ;隔一个倒流水(0.5秒延时)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号