《单片机数字交通灯》由会员分享,可在线阅读,更多相关《单片机数字交通灯(14页珍藏版)》请在金锄头文库上搜索。
1、通信与信息工程学院微机应用系统设计课程设计班 级:电信科11级 1 班姓 名:学 号:指导教师:设计时间:2014.7.7 2014.7.11成 绩:评 语:通信与信息工程学院二一四年目录1 概述 1.1课题名称 1.2设计要求1.3设计意义2 系统总体方案及硬件设计2.1芯片的选择与简单介绍2.2系统方框图2.3工作原理2.4电路原理图2.5单片机最小系统2.6时间显示电路2.7交通灯电路3 软件设计3.1整体系统分析3.2相关参数计算3.3程序流程图4 Proteus软件仿真 4.1系统仿真电路图4.2仿真结果分析5课程设计体会参考文献附1:源程序代码1 概述1.1课题名称单片机控制的交通
2、灯控制系统设计1.2设计要求1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改;2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;3)黄灯亮时,要求每秒闪亮一次;4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法);5)一道有车而另一道无车(实验时用开关 K0 和 K1 控制),交通灯控制系统能立即让有车道放行; 6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。1.3设计意义国内的交通灯
3、一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经
4、常出现拥堵的情况。利用单片机控制技术提出了软件和硬件设计方案,能够实现道路的最大通行效率。2 系统总体方案及硬件设计2.1芯片的选择与简单介绍(图)主控芯片采用AT89S52单片机(其管脚图如图所示)。单片机,亦称单片微型计算机。它是把中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。于是,微型计算机(即单片机)在这种情况下诞生了。纵观生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的
5、实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子 宠物等,这些都离不开单片机。单片机以体积小、功能全、性价比等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。如果说C语言程序设计课程设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。MCS-51单片机是指由美国INTEL公司(大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行
6、功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS-51系列单片机。8051单片机包含中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:1).中央处理器(CPU)中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2).数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专
7、用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3).程序存储器(内部ROM):程序存储器用于存放程序和固定不变的常数等。通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。AT89S51内部配置了4KB闪存。 4).定时器原理定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC
8、 可得到如下计算通式:TC=M-C式中,M为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=TT0。计算通式变为:T=(MTC)T0模值和计数器工作方式有关。在方式0时M为8192;在方式1时M的值为65536;在方式2和3为256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式最大延时只有8.129毫秒,采用方式最大延时也只有65.536毫秒。这就是为什么扫描周期为50ms的原因,若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能
9、只用计数器,因为显然秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。5).并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。每个口都由1个锁存器和一个驱动器组成。它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。6).全双工串行口:A89S51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。7).软件延时原理MCS-51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器
10、周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。8).时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。9)中断原理本系统主要使用了外部中断,中断信号有引脚INT0和INT1输入,低电平有效,CPU每个时钟周期都会检测INT0和INT1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中IT0和IT1位的状态来实现。以IT0为例,IT0=0,为电平触发方式,IT0=1,为负边沿触发方式
11、,本设计采用电平方式,IE0为其中断标志位,有中断信号则置位,中断服务子程序响应后,IE0自动清零。IE中的EA为允许中断的总控制位,为1开启,EX0为外部中断允许控制位,为1开启。在优先级的允许下,一旦有外部中断信号产生,单片机CPU首先保护断点,PC值进栈,然后执行相应的中断服务子程序,执行完后,用RETI指令返回,此时CPU会从堆栈中取保存的断点地址,送回PC,程序再正常执行10).定时/计数器8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。2.2系统方框图电 源交通灯AT89S52交通灯时间显示部分时钟电路复 位电 路2.3工作原理由软件设置交通灯的
12、初始时间,南北方向通行30秒,东西方向通行20秒,数码管采用动态显示,P0口送字形码,P2口送字位选通信号,通过单片机的P1口控制各种信号灯的燃亮与熄灭。采用中断方式实现按键的功能。东西方向 EW G Y R 紧急转换 车辆检测 系统控制 电路南北方向 NS G Y R2.4电路原理图(图2)2.5单片机最小系统(图-3)单片机最小系统以80S52为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求。89C51单片机系列是MCS-51系列的基础上发展起来的,是当前8位单片机的典型代表,采用CHMOS工艺,即互补金属氧化物的HMOS工艺, CHMOS是C
13、MOS和HMOS的结合,具有HMOS高速度和高密度的特点,还具有CMOS低功耗的特点。时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的晶振,一个机器周期为1us,C2,C3为30pF。复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效.上电自动复位通过电容C1和电阻R4来实现,按键手动复位是图中复位键来实现的。2.6时间显示电路(图4)因为系统要求南北和东西方向的信号灯时间不一样,所以就利用单片机的P0口送出数据的段码,位选信号用P2口送出,用动态扫描的方法显示东西、南北
14、的倒计时间(如图-4所示)。数码管使用共阴数码管,需要接上470欧上拉电阻以提供足够大的电流来驱动数码管,数码管的每段的电流是约10毫安。2.7交通灯电路本设计利用单片机的p1口来驱动和控制各种信号灯的燃亮和燃亮时间,在实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管(如图-5所示)(图-5)3 软件设计3.1整体系统分析总体流程图(实现各种状态间的转换):东西绿灯南北红灯东西黄灯闪南北红灯亮东西红灯南北绿灯东西红灯亮南北黄灯闪 3.2相关参数计算T0的计数初值:X=65536(方式1,16位计数器)-12*(50*1000)/12=15536=3CB0H 3.3程序流程图(图-6)4 Proteus软件仿真4.1系统仿真电路图1.交通灯控制系统正常运行时仿真图(见图-7)。(图-7)