您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 交通灯课程设计4578508484
课程设计用纸第1页目录摘要................................3第一章绪论..........................41.1概述..........................................41.2设计目的......................................41.3设计任务和内容................................4第二章总体设计及核心器件简介...........52.1总体设计.......................................52.2AT89C51.......................................62.374LS164.......................................9第三章单元电路模块设计................103.1复位电路......................................103.2晶振电路......................................103.3LED数码管显示电路............................113.4总体设计原理图及功能介绍.....................12第四章软件编程设计....................13课程设计用纸第2页4.1设计思想.....................................134.2程序框图.....................................134.3源程序.......................................14第五章设计心得和存在问题............20参考文献...............................22课程设计用纸第3页摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的状态显示以及倒计时。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时功能,较好的模拟实现了十字路口可能出现的状况。软件上采用汇编语言编程,主要编写了主程序,LED数码管显示程序。经过整机调试,实现了对十字路口交通灯的模拟。课程设计用纸第4页第一章绪论1.1概述近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1.2设计目的(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。(2)用单片机模拟实现具体应用,使个人设计能够真正使用。(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。(4)提高利用已学知识分析和解决问题的能力。(5)提高实践动手能力。1.3设计任务和内容1.3.1设计任务结合教材及参考资料,用AT89C51单片机模拟实现十字路口的交通灯亮灭、倒计时显示等功能。课程设计用纸第5页1.3.2设计内容(1)填写设计任务书。(2)进行总体设计,画出原理图。(3)编写并调试程序。(4)用Proteus软件进行仿真。第二章总体设计及核心器件简介2.1总体设计整个设计以AT89C51单片机为核心,LED数码管显示,晶振电路,复位电路组成。硬件模块入图2-1。图2-1硬件模块AT89C51单片机LED数码管显示晶振电路复位电路课程设计用纸第6页2.2AT89C511.AT89C51单片机简介AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。课程设计用纸第7页图2-289C51内部结构图与EEPROM相比较,FPEROM大大缩短了存储内容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C系列的优越性。它还有128*8Bit的片内RAM;32根I/O线;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作范围:0Hz—24MHz。2.管脚功能课程设计用纸第8页AT89C51单片机为40引脚芯片如图2-3所示。①I/O口线:P0、P1、P2、P3共四个八位P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读ˆ写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ALE。P1口是专门供用户使用的I/O口,是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时,P口也可P2口也是准双向口。P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。作为第一功能使用时操作同P1口。P3口的第二功能如表2-1。图2-389C51引脚图②控制口线:PSEN(片外取控制)、ALE(地址锁存控制)、EA(片外储器选择)、RE2SET(复位控制);③电源及时钟:CCC、VSS;XTAL1,XTAL2表2-1引脚功能表课程设计用纸第9页2.374LS16474LS164引脚定义如图2-5所示,其真值表如表2-2所示,其功能是将外部输入的串行数据转化为8位的并行数据输出具有锁寸功能。A、B端为串行数据输入端,QA~QH为数据输出端,CLK为外部时钟输入端,CLR为清零端。图2-574LS164引脚图课程设计用纸第10页表2-274LS164真值表输入输出CLEARCLOCKABQAQB……QHLXXXLLLHLXXQA0QB0QH0H↑HHHQAnQGnH↑LXLQAnQGnH↑XLLQAnQGn第三章单元电路模块设计3.1复位电路3-1复位电路3.2晶振电路3-2晶振模块原理图课程设计用纸第11页选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取22uF,晶振为11.0592Hz。3.3LED数码管显示电路在单片机应用系统中,数码管显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小,可以提供单独锁存的I/O接口电路很多。所以本设计采用串并转换电路74LS164的静态显示电路。其电路图如图3-4所示。图3-4数码管显示静态驱动电路课程设计用纸第12页3.4总体设计原理图及功能介绍功能介绍:LED数码管则用来对各种状态进行倒计时的显示。设计中采用74LS164静态驱动LED数码管,利用单片机的RXD作为数据的输出端给164送数。利用164的移位进行多位的显示。利用延时程序控制每秒时间,从而控制RXD送数的时间间隔。课程设计用纸第13页第四章软件编程设计4.1设计思想交通灯根据其显示情况可以分为四个状态,可以通过定时来控制每个状态的时间;通过定时也可以向LED数码管中每隔1秒送一个数,显示该状态剩余的时间。4.2程序框图图4-1主程序框图设置定时,显示初始化南北绿灯亮,东西红灯亮,延时南北黄灯闪烁,东西红灯亮,延时南北红灯亮,东西绿灯亮,延时南北红灯亮,东西黄灯闪烁,延时开始课程设计用纸第14页4.3源程序SECOND1EQU30H;东西路口计时寄存器SECOND2EQU31H;南北路口计时寄存器DBUFEQU40H;显示码缓冲区1TEMPEQU44H;显示码缓冲区2LED_G1BITP2.1;东西路口绿灯LED_Y1BITP2.2;东西路口黄灯LED_R1BITP2.3;东西路口红灯LED_G2BITP2.4;南北路口绿灯LED_Y2BITP2.5;南北路口黄灯LED_R2BITP2.6;南北路口红灯ORG0000HLJMPSTARTORG0100HSTART:MOVTMOD,#01H;置T0为工作方式1MOVTH0,#3CH;置T0定时初值50msMOVTL0,#0B0HCLRTF0SETBTR0;启动T0CLRAMOVP1,A;关闭不相关的LEDLOOP:MOVR2,#20;置1S计数初值,50ms*20=1sMOVR3,#20;红灯亮20SMOVSECOND1,#25;东西路口计时显示初值25sMOVSECOND2,#25;南北路口计时显示初值25sLCALLDISPLAYLCALLSTATE1;调用状态1WAIT1:JNBTF0,WAIT1;查询50ms到否CLRTF0MOVTH0,#3CH;回复T0定时初值50msMOVTL0,#0B0HDJNZR2,WAIT1;判断1S到否未到继续状态1课程设计用纸第15页MOVR2,#20;置50MS计数初值DECSECOND1;东西路口显示时间减1sDECSECOND2;南北路口显示时间减1sLCALLDISPLAYDJNZR3,WAIT1;状态1维持20sMOVR2,#5;置50MS计时初值5*4=20MOVR3,#3;路灯闪3sMOVR4,#4;闪烁间隔200msMOVSECOND1,#5;东西路口计时显示初值5sMOVSECOND2,#5;南北路口计时显示初值5sLCALLDISPLAY;WAIT2:LCALLSTATE2;调用状态2JNBTF0,WAIT2;查询50ms到否CLRTF0;MOVTH0,#3CH;恢复T0定时初值50msMOVTL0,#0B0HDJNZR4,WAIT2;判断200MS到否未到继续状态2CPLLED_G1;东西绿灯闪MOVR4,#4;闪烁间隔200MSDJNZR2,WAIT2;判1S到否未到继续状态2MOVR2,#5;置50MS计数初值DECSECOND1;东西路口显示时间减1SDECSECOND2;南北路口显示时间减1SLCALLDISPLAYDJNZR3,WAIT2;状态2维持3SMOVR2,#20;置50MS计数初值MOVR3,#2;黄灯闪2SMOVSECOND1,#2;东西路口计时显示初值2SMOVSECOND2,#2;南北路口计时显示初值2SLCALLDISPLAYWAIT3:LCALLSTATE3;调用状态3JNBTF0,WAIT3;查询100MS到否CLRTF0课程设计用纸第16页MOVTH0,#3CH;恢复T0定时初值100MSMOVTL0,#0B0HDJNZR2,WAIT3;判断1S到否未到继续状态3MOVR2,#20;置100MS计数初值DECSECOND1;东西路口显示时间减1SDECSECOND2;南北路口显示时间减1SLCALLDISPLAYDJNZR3,WAIT3;状态3维持2SMOVR2,#20;置50MS计数初值M
本文标题:交通灯课程设计4578508484
链接地址:https://www.777doc.com/doc-223602 .html