《单片机微机原理及应用》题目:模拟交通灯的设计专业:测控技术与仪器班级:姓名:姓名:姓名:姓名:指导老师:2015年1月10日目录1、设计任务 (3)2、模拟交通灯控制系统工作原理 (4)2.1 模拟交通灯控制系统的工作原理 (4)3、设计基本要求和步骤 (5)3.1 基本要求 (5)3.2 设计思路 (5)3.2 设计步骤 (5)4、硬件和软件设计 (7)4.1 交通灯控制系统硬件框图 (7)4.2 硬件电路图 (9)4.3 程序流程图 (10)5、心得体会 (13)6、附录 (14)5.1 汇编语言源程序 (14)5.2 模拟交通灯仿真效果图 (18)1、设计任务:模拟交通灯的设计1.1、模拟交通灯控制系统的总体方案设计本设计研究的是基于AT89C51单片机的交通灯智能控制系统的设计原理及阐述。
主控系统采用AT89C51单片机作为控制器,控制通行倒计时及直行、行人的通行,占用端口少,耗电也最小。
系统电源采用独立的+5V稳压电源,有各种成熟电路可供选用,使此方案可靠稳定。
该设计精简并优化了电路。
结合实际情况,显示界面采用点阵LED数码管动态扫描的方法,满足了倒计时的时间显示输出和状态灯提示信息输出的要求,减少系统的复杂度。
2、交通灯控制系统工作原理2.1、交通灯控制系统工作原理本系统运用单片机对交通灯控制系统实施控制,通过直接控制信号灯的状态变化,指挥交通的具体运行,运用了LED数码管显示倒计时以提醒行驶者,更添加了盲人提示音电路,方便视力障碍群体通行,更具人性化。
在此基础上,加入了特种车辆自动通行控制模块和车流量检测电路为系统采集数据,经单片机进行具体处理,及时调整通行方向。
由此,本设计系统以单片机为控制核心,构成最小系统,根据特种车辆自动通行控制模块、车辆检测模块和按键设置模块等产生输入,由信号灯状态模块,LED倒计时模块输出。
系统进入工作状态,LED数码管实时显示数据倒计时,执行交通灯状态显示控制,在此过程中若有控制信号和实时车流量检测信号,可对异常状态进行实时控制,随时调用中断,达到修正通行时间满足不同时间不同路况的需求。
3、设计基本要求和步骤十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
3.1 基本要求模拟交通灯就是通过AT89C51并接数码管及发光二极管来模拟交通灯的变化规律。
8个数码管用来显示秒值,东,西,南,北,各两个。
12个发光二极管,东,西,南,北,各三个,分别为红,绿,黄,三种颜色。
3.2 设计思路本程序的设计思路是:首先南北方向绿灯亮,东西方向红灯亮,同时开始倒计时20s , 在7段数码管上显示时间。
当20s倒计时结束后,开始3s倒计时,并且南北方向绿灯开始闪烁,东西方向红灯亮。
当3s倒计时结束后再开始2s倒计时,并且南北方向黄灯亮,东西方向还是红灯亮。
当2s倒计时结束后开始20s的倒计时,此时是东西方向绿灯亮,南北方向红灯亮。
接下来就是东西方向绿灯闪烁3s,再东西方向黄灯闪烁2s,接着又开始循环。
3.3 设计步骤1.利用Proteus仿真软件按下列要求绘制仿真实例✧12个发光二极管,东,西,南,北,各三个,分别为红,绿,黄,三种颜色。
✧用8个共阳极LED数码管的分别表示东、西、南、北四个方向路口的秒值。
2.按照基本要求编制程序实现相应功能。
4、硬件和软件设计4.1 交通灯控制系统硬件框图该交通灯控制系统有以下几个部分组成:单片机、驱示电路。
图 1.2系统硬件组成总框图AT89C51引脚P1P3AT89C51P2.1~P2.3RSTP2.4~P2.6数码管十位数码管个位 LED 显示器 南北方向LED 显示器 东西方向 上电复位 自动/手动键AT89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成:4.2 硬件电路图整体实验连接电路如下图所示:图1 整体实验连接电路图5、心得体会通过这次交通灯的课程设计,使我们得到了一次用专业知识、专业技能分析和解决现实问题的能力。
使我们在单片机的基本原理、单片机应用学习过程中,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为一名合格的应用型人才打下良好的基础。
综合课程设计让我们把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更深层次的理解和认识。
在此,由于自身能力有限,在课程设计中碰到了很多的问题,通过查阅相关书籍、资料以及交流得到解决。
还有交通灯是我们生活中非常常见的一种东西,对于我们学以致用的这种能力得到了很好锻炼,能够为我们以后的工作于学习打下基础。
由于我们的水平有限,设计中难免会有一些不合理的部分,系统的稳定性还有待提高。
6、附录6.1 汇编语言源程序SECOND EQU 30HH_RED BIT P2.1 ;定义IO端口H_GREEN BIT P2.2H_YELLOW BIT P2.3L_RED BIT P2.4L_GREEN BIT P2.5L_YELLOW BIT P2.6ORG 0000HLJMP MAINORG 0030HMAIN: MOV TMOD,#01H ;设置定时器0,为方式1MOV TH0,#3CH ;置定时器的初始值,定时50ms MOV TL0,#0B0HCLR TF0 ;清定时器0溢出标志SETB T R0 ;启动定时器START: CLR AMOV P1,A ;首先关闭显示MOV P3,A;***********************************;状态1,东西方向绿灯亮,南北方向红灯亮;***********************************MOV R2,#20MOV R3,#21MOV SECOND,#20 ;20秒初值LCALL STATE1LCALL COUNT;***********************************;状态2,东西方向绿灯闪,南北方向红灯亮;***********************************MOV R0,#01H ;标志位,南北方向绿灯闪MOV R2,#2MOV R3,#4MOV R4,#10MOV SECOND,#3 ;3秒初值LCALL DISPLAYLCALL STATE2LCALL COUNT1;***********************************;状态3,东西方向黄灯闪,南北方向红灯亮;***********************************MOV R0,#02H ;标志位,南北方向黄灯闪MOV R2,#2MOV R3,#3MOV R4,#10MOV SECOND,#2 ;2秒初值LCALL STATE3LCALL COUNT1;************************************;状态4,东西方向红灯亮,南北方向绿灯亮;************************************MOV R2,#20MOV R3,#21MOV SECOND,#20 ;20秒初值LCALL STATE4LCALL COUNT;************************************;状态5,东西方向红灯亮,南北方向绿灯闪;************************************MOV R0,#03H ;标志位,东西方向绿灯闪MOV R2,#2MOV R3,#4MOV R4,#10MOV SECOND,#3 ;3秒初值LCALL STATE5LCALL COUNT1;************************************;状态6,东西方向红亮,南北方向黄灯闪;************************************MOV R0,#04H ;标志位,东西方向黄灯闪MOV R2,#2MOV R3,#3MOV R4,#10MOV SECOND,#2 ;2秒初值LCALL STATE6LCALL COUNT1LJMP START;************************************;计时程序;************************************COUNT: LCALL DISPLAYWAIT1: JNB TF0,WAIT1 ;定时器50ms未到,则等待CLR T F0 ;定时器50ms到了,;清定时器0溢出标志MOV TH0,#3CHMOV TL0,#0B0HLCALL DISPLAYDJNZ R2,WAIT1 ;是否到1秒MOV R2,#20DEC SECOND ;到1秒则秒值减1DJNZ R3,WAIT1 ;20秒是否倒计时减完,未完则返回RETCOUNT1: LCALL DISPLAYWAIT2: JNB TF0,WAIT2CLR T F0MOV TH0,#3CHMOV TL0,#0B0HLCALL DISPLAYDJNZ R4,WAIT2 ;是否到500ms,未到则返回CJNE R0,#01H ,D1CPL L_GREEN ;到了500ms,则闪南北方向绿灯D1: CJNE R0,#02H ,D2CPL L_YELLOW ;闪南北方向黄灯D2: CJNE R0,#03H ,D3CPL H_GREEN ;闪东西方向绿灯D3: CJNE R0,#04H ,D4CPL H_YELLOW ;闪东西方向黄灯D4: MOV R4,#10DJNZ R2,WAIT2 ;是否到1秒MOV R2,#2DEC SECONDDJNZ R3,WAIT2RET;********************************;LED显示状态;********************************STATE1: SETB H_RED ;东西方向绿灯亮,南北方向红灯亮CLR H_GREENCLR H_YELLOWCLR L_REDSETB L_GREENCLR L_YELLOWRETSTATE2: CLR H_GREEN ;东西方向绿灯闪,南北方向红灯亮CLR H_YELLOWCLR L_REDCLR L_GREENCLR L_YELLOWRETSTATE3: CLR H_RED ;东西方向黄灯闪,南北方向红灯亮CLR H_YELLOWSETB H_REDCLR L_GREENSETB L_YELLOWRETSTATE4: CLR H_RED ;东西方向红灯亮,南北方向绿灯亮SETB H_GREENCLR H_YELLOWSETB L_REDCLR L_GREENCLR L_YELLOWRETSTATE5: CLR H_RED ;东西方向红灯亮,南北方向绿灯闪SETB H_GREENCLR H_YELLOWSETB L_REDCLR L_GREENCLR L_YELLOWRETSTATE6: CLR H_RED ;东西方向红灯亮,南北方向黄灯闪CLR H_GREENSETB H_YELLOWSETB L_REDCLR L_YELLOWRET;*******************************;显示程序;********************************DISPLAY: MOV A,SECONDMOV B,#10DIV ABMOV DPTR,#LEDMAPMOVC A,@A+DPTRMOV P1,A ;显示十位MOV A,BMOVC A,@A+DPTR ;显示个位MOV P3,ARETLEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND6.2 模拟交通灯仿真效果图如下图所示,AT89C51的P1口分别与数码管的十位a~g相连,P3口分别与数码管的个位a~g相连。