




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用 课程设计报告设 计 题 目:交通信号灯控制系统 班 级:11级电气三班指 导 教 师:曹琳琳学 生 姓 名:张杰哈尔滨远东理工学院机器人科学与技术学院2013年5月30日交通信号灯控制系统摘要: 随着经济发展, 汽车数量急剧增加, 城市道路日渐拥挤, 交通拥塞已成为一个国际性的问题。 因此, 设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。对单片机初学者一定的帮助, 同时, 设计也可运用于简单的实时交通灯控制, 具有一定的现实意义。特别是街道各十字路倒计时显示通行时间, 并有急车强行通过、交通异常状况判别及处理等功能, 该系统具有设计周期短、可靠性高、维护方便、使用简单等优点。更是成为交通网中通行能力的“隘口”和交通事故的“多发源”。为保证交通安全, 防止交通阻塞, 使城市交通井然有序, 交通信号灯在大多数城市得到了广泛应用。传统的交通信号灯控制一般采用电子线路和继电器控制, 结构复杂, 可靠性低, 故障率高, 因此研究计算机与自动控制技术, 设计新型的交通灯控制系统, 对缓解交通阻塞, 提高畅通率具有十分现实的意义。以下通过介绍一种基于8 0 51的交通灯控制系统, 东西、南北的通行时间可调, 能倒计时显示通行时间, 并有急车强行通过、交通异常状况判别及处理等功能, 该系统具有设计周期短、可靠性高、维护方便、使用简单等优点。关键词: 交通灯; 单片机; 自动控制; 程序设计;倒计时; 急车强通控制; 异常状况判别及处理。1、交通灯系统工作原理及设计方案1.1交通灯工作原理 采用单片机i/ o口p1直接和交通灯连接, 控制程序放在8051单片机rom中。十字路口4组红、黄、绿交通灯中, 东西方向的交通灯工作状态相同, 可以用同一组i/o控制; 南北方向的交通灯工作状态也相同,也可以用同一组i/o控制,所以只需要用到单片机的p1.0到 p1. 5控制。由于交通灯为发光二极管且阳极通过限流电阻和电源正极连接, 因此i/o输出低电平时与之相连接的相应指示灯会亮,i/o口输出高电平时相应指示灯会灭. 紧急车请求通过的信号由人工控制, 以中断方式输入单片机.无紧急车通过时,中断引脚int0(p3.2)通过电阻和电源正极连接为高电平,不产生中断,单片机执行主程序; 有紧急车通过时,中断引脚int0(p3.2)采用人工方法接地为低电平, 产生中断请求,单片机执行中断程序,紧急通过, 之后, 中断引脚int0( p3. 2)采用人工方法恢复高电平,返回主程序执行。2计原理分析2.1单片机交通控制系统设计1. 首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态0为东西南北都红灯亮。然后转状态1西绿灯通车,南北红灯亮。过一段时间后,转状态2,东西绿灯灭,黄灯闪几下,南北还是红灯。再转状态3,南北绿灯通车,东西红灯亮。过一段时间后转状态4,南北绿灯灭,闪几个黄灯,东西还是为红灯亮,一段时间后,又循环至状态1。表2.1列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的i/o口上的p1口中的6个引脚即可来控制6个信号灯。3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。2.2单片机交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,车流量检测及调整,交通违规处理和紧急处理等功能。2.2.1倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。2.2.2时间手动设置除系统根据车流量自动控制调整,也可以通过键盘进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。前者软件编写简单,但在按键数量较多时特别浪费i0口资源,一般用于按键数量少的系统。后者适用于按键数量较多的场合,但是在单片机i0口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。本系统要求的按键控制不多,且i0口足够,可直接采用独立式。2.3单片机交通控制系统的基本构成及原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入led数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了违规检测电路和车流量检测电路为单片机采集数据,单片机对此进行具体处理,及时调整控制指挥,为了超越视觉指挥的局限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。 系统的总框图据此,本设计系统以单片机为控制核心,连接成最小系统,由车流量检测模块,违规检测模块,和按键设置模块等产生输入,信号灯状态模块,led倒计时模块和蜂鸣器状态模块接受输出。系统的总体框图如上所示。键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到led数码管上实时显示。在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键和违规检测随时调用中断。式选择上,若为自动模式,将不断调用车流量检测模块对车流量进行捡测统计达一定时间将修正通行时间一满足不同路况的需要。3 系统硬件电路的设计实现本设计要求的具体功能,可以选用at89s51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个led东西南北各两个构成倒计时显示模块,若干按键组成时间设置和模式选择按钮和紧急按钮等。3.2 主控制部分at89c51单片机简介at89c51是一种带4k字节闪存可编程可擦除只读存储器(fperomflash programmable and erasable read only memory)的低电压、高性能cmos 8位微处理器,俗称单片机。at89c2051是一种带2k字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。at89c51单片机为引脚双列直插芯片,有个i/o口,p0,p1,p2,p3,单片机的最小系统如图所示,8引脚和19引脚接时钟脉冲电路,xtal1外部晶振和微调电容的一端,在片内它是震荡器倒相放大器的输入,xtal2接外部晶振和微调电容的另一端,在片内她是振荡器倒相放大器的输出端,第引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20引脚为接地端,40引脚为电源端(图中未显示)。如图所示: 晶振与单片机的连接3.2.1 at89c51的内部结构功能中央处理器:中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(内部ram):数据存储器用于存放变化的数据。at89s51中数据存储器的地址空间为256个ram单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。程序存储器(内部rom):序存储器用于存放程序和固定不变的常数等。通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。at89c51内部配置了4kb闪存。定时/计数器(t0):定时/计数器用于实现定时和计数功能。at89c51共有2个16位定时/计数器。并行输入输出(i/o)口:8051共有4组8位i/o口(p0、p1、p2或p3),用于对外部数据的传输。每个口都由1个锁存器和一个驱动器组成。它们主要用于实现与外部设备中数据的并行输入与输出,有些i/o口还有其他功能。全双工串行口:a89c51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。时钟电路:钟电路的作用是产生单片机工作所需要的时钟脉冲序列。中断系统:中断系统的作用主要是对外部或内部的终端请求进行管at89c51共有5个中断源,其中有2个外部中断源和3个内部中断源。3.2.2 51单片机的串行接口工作方式51单片机的串行接口有四种工作方式。方式0是将sbuf作为位同步移位寄存器使用(固定波特率);方式1是10位异步通信方式(可变波特率);方式2是11位异步通信方式(固定波特率);方式3是11位异步通信方式(可变波特率)。 串行接口与单片机的连接3.3 控制部分74ls164芯片简介3.3.1 74ls164芯片的引脚图和说明74ls164芯片图及其与51单片机的连接方式: 3.4其它器件3.4.1发光二极管根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯,总共4组。如果东西红灯亮,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图所示。 信号灯的连接在本设计中,实际控制的灯只有6个,即:东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯,其中均是低电平有效。共有4钟状态:东西红灯亮,南北绿灯亮(11011101/ddh);东西红灯亮,南北黄灯亮(10111101/bdh);东西绿灯亮,南北红灯亮(11101101/edh);东西黄灯亮,南北红灯亮(11100111/e7h)。括号中是p1端口8个引脚值p1.7,p1.6,p1.5,p1.4,p1.3,p1.2,p1.1,p1.0以及对应的十六进制码。在用于显示发光二极管时,直接由mov指令将十六进制码送入p1口。刚才的4个状态是依次变换的,这就要涉及到状态的判断和衔接了。先把p1端口的值与所有的4个状态码比较,若相同则判断成功当前状态,再把下一状态的状态码送显p1即可。3.4.2 八段led数码管led显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。led数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阴管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sp,即点),每个发光二极管的阴极连在一起。这样,一个led数码管就有i根位选线和8段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阴八段led数码显示管,其他类形的显示管与其类似。 led数码管l ed灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,c,b,a全亮显示为。(采用共阴极连接)led8段数码管的设置为每个方位上的一对2为显示器。四个方位上总共用8个led接在单片机的io口上。虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的io口是对称的。因为输出口较少的原因,所以每个十位,个位的数据的传输必须采用动态扫描的方式,因为人眼的视觉原因,人们会认是同时点亮的。下面我们用这种方法显示交通灯的时间,南北方向要显示20秒,东西方向要显示25秒,那么我们先给p0口送2的共阴极码即5bh,让第一位2要显示的位码gnd段为低电平,其它七位的控制端都接高电平,那么第一位就显示2,其它七位不亮。让其显示1ms后再给p0口送0的共阴极码即3fh,让第二位要显示0的位码gnd段为低电平,其它七位的控制端都接高电平,那么第二位就显示0,其它七位不亮。依此类推分别送完第一位2,第二位0,第三位2,第四位5每一位点亮1ms一个扫描周期为8ms,一秒时间就要扫描125次3.5交通信号模拟控制系统原理图本系统以单片机为核心,系统硬件电路由单片机违规,状态灯,led显示,按键,蜂鸣器组成。其具体的硬件电路总图如图所示。系统原理图3.6件资源及其分配主要用到的硬件:p1口、p3口、led数码管、led发光二极管、定时器t0硬件分配:1)、p1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如下:2)、p3口中的p3.0(rxd)和p3.1(txd)作特殊用途,数据(倒计时时间)从rxd端输入,txd端输出。3)、74ls164和led发光二极管用来显示灯亮情况。4)、定时/计数器t0用来产生1秒的定时。5)、74ls164和数码管用来显示时间。3.7运行步骤1、接硬件图接线,为了确保东西南北红黄绿灯能够对应显示,实验时,对p1口的接线做了调整。即,p1.0接l3,p1.1接l2,p1.2接l1,p1.3接l6,p1.4接l5,p1.5接l3 2、s/p区data插孔接bus 3区p3.0 s/p区clk插孔接bus 3区p3.1 s/p区clr接/sp插孔3、从0030h单元开始连续运行,观察六个led灯是否与交通显示情况对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。4、的显示后,从0030h开始连续运行,观察数码管显示的是否正常,如果不正常,则运用单步运行或断点运行进行分析和调试,直至满足要求。5 、整体运行,观察灯显示和时间显示是否都符合要求,如果不符合,则再调试。直至满足要求。3.8检测与调试3.81硬件调试:硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。u静态调试静态调试是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。动态调试动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。u由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。3.82软件调试: 软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序后,编辑,查看程序是否有逻辑的错误。 4 系统软件程序的简单设计4.1程序框图图4.1程序框图 4.2程序流程图及程序4.2.1程序流程图: 主程序: u4.2.2程序清单: ;主程序:second1 equ 30h ;东西路口计时寄存器second2 equ 31h ;南北路口计时寄存器dbuf equ 40h ;显示码缓冲区1temp equ 44h ;显示码缓冲区2led_g1 bit p2.1 ;东西路口绿灯led_y1 bit p2.2 ;东西路口黄灯led_r1 bit p2.3 ;东西路口红灯led_g2 bit p2.4 ;南北路口绿灯led_y2 bit p2.5 ;南北路口黄灯led_r2 bit p2.6 ;南北路口红灯 org 0000h ljmp start org 0100h值25sstart: mov tmod,#01h ;置t0为工作方式1 mov th0,#3ch ;置t0定时初值50ms mov tl0,#0b0h clr tf0 setb tr0 ;启动t0 clr a mov p1,a ;关闭不相关的ledloop: mov r2,#20 ;置1s计数初值,50ms*20=1s mov r3,#20 ;红灯亮20s mov second1,#25 ;东西路口计时显示初 mov second2,#25 ;南北路口计时显示初值25s lcall displaylcall state1 ;调用状态1wait1: jnb tf0,wait1 ;查询50ms到否 clr tf0 mov th0,#3ch ;回复t0定时初值50ms mov tl0,#0b0h djnz r2,wait1 ;判断1s到否 未到继续状态1 mov r2,#20 ;置50ms计数初值 dec second1 ;东西路口显示时间减1sdec second2 ;南北路口显示时间减1slcall displaydjnz r3,wait1 ;状态1维持20smov r2,#5 ;置50ms计时初值5*4=20mov r3,#3 ;路灯闪3smov r4,#4 ;闪烁间隔200msmov second1,#5 ;东西路口计时显示初值5smov second2,#5 ;南北路口计时显示初值5slcall display ;wait2: lcall state2 ;调用状态2jnb tf0,wait2 ;查询50ms到否clr tf0 ;mov th0,#3ch ;恢复t0定时初值50msmov tl0,#0b0hdjnz r4,wait2 ;判断200ms到否 未到继续状态2cpl led_g1 ;东西绿灯闪mov r4,#4 ;闪烁间隔200msdjnz r2,wait2 ;判1s到否 未到继续状态2mov r2,#5 ;置50ms计数初值dec second1 ;东西路口显示时间减1s dec second2 ;南北路口显示时间减1slcall displaydjnz r3,wait2 ;状态2维持3s mov r2,#20 ;置50ms计数初值mov r3,#2 ;黄灯闪2smov second1,#2 ;东西路口计时显示初值2smov second2,#2 ;南北路口计时显示初值2slcall displaywait3: lcall state3 ;调用状态3jnb tf0,wait3 ;查询100ms到否clr tf0mov th0,#3ch ;恢复t0定时初值100msmov tl0,#0b0hdjnz r2,wait3 ;判断1s到否 未到继续状态3mov r2,#20 ;置100ms计数初值dec second1 ;东西路口显示时间减1sdec second2 ;南北路口显示时间减1slcall displaydjnz r3,wait3 ;状态3维持2smov r2,#20 ;置50ms计数初值mov r3,#20 ;红灯闪20smov second1,#25 ;东西路口计时显示初值25smov second2,#25 ;南北路口计时显示初值25slcall displaywait4: lcall state4 ;调用状态4jnb tf0,wait4 ;查询100ms到否clr tf0mov th0,#3ch ;恢复t0定时初值100msmov tl0,#0b0hdjnz r2,wait4 ;判断1s是否 未到继续状态4mov r2,#20 ;置100ms计数初值dec second1 ;东西路口显示时间减1sdec second2 ;南北路口显示时间减1slcall displaydjnz r3,wait4 ;状态4维持20smov r2,#5 ;置50ms计数初值mov r4,#4 ;红灯闪20smov r3,#3 ;绿灯闪3smov second1,#5 ;东西路口计时显示初值5smov second2,#5 ;南北路口计时显示初值5slcall displaywait5: lcall state5 ;调用状态5jnb tf0,wait5 ;查询100ms到否clr tf0mov th0,#3ch ;恢复t0定时初值100msmov tl0,#0b0hdjnz r4,wait5 ;判断200ms到否?未到继续状态5cpl led_g2 ;南北绿灯闪mov r4,#4 ;闪烁200msdjnz r2,wait5 ;判断1s到否?未到继续状态5mov r2,#5 ;置100ms计时初值dec second1 ;东西路口显示时间减1sdec second2 ;南北路口显示时间减1slcall displaydjnz r3,wait5 ;状态5维持3smov r2,#20 ;置50ms计数初值mov r3,#2 ;红灯闪2smov second1,#2 ;东西路口计时显示初值2smov second2,#2 ;南北路口计时显示初值2slcall displaywait6: lcall state6 ;调用状态6jnb tf0,wait6 ;查询100ms到否clr tf0mov th0,#3ch ;恢复t0定时初值100msmov tl0,#0b0hdjnz r2,wait6 ;判断1s到否 未到继续状态6mov r2,#20h ;置100ms计数初值dec second1 ;东西路口显示时间减1sdec second2 ;南北路口显示时间减1slcall displaydjnz r3,wait6 ;状态6维持2sljmp loop ;大循环state1: ;状态1setb led_g1 ;东西路口绿灯亮clr led_y1clr led_r1clr led_g2clr led_y2setb led_r2 ;南北路口红灯亮retstate2: ;状态2clr led_y1clr led_r1clr led_g2clr led_y2setb led_r2 ;南北路口红灯亮retstate3: ;状态3clr led_g1clr led_r1clr led_g2clr led_y2setb led_r2 ;南北路口红灯亮setb led_y1 ;东西路口绿灯亮retstate4: ;状态4clr led_g1clr led_y1setb led_r1 ;东西路口红灯亮setb led_g2 ;南北路口红灯亮clr led_y2clr led_r2retstate5: ;状态5clr led_g1clr led_y1setb led_r1 ;东西路口红灯亮clr led_y2clr led_r2retstate6: ;状态6clr led_g1clr led_y1setb led_r1 ;东西路口红灯亮clr led_g2clr led_r2setb led_y2 ;南北路口黄灯亮retdisplay: ;数码显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出租车安全夏天培训内容课件
- 急救知识培训考试试卷及答案
- 出海作业安全培训课件
- 2025合同范本合同法规定
- 《市场营销学》作业考核试题及答案
- 2025标准汽车租赁合同样本
- 道法考试试题分析模板及答案
- 2025《合同风险评估与控制》
- 冲焊部员工安全培训课件
- 高中化学必修第三章第四节基本营养物质
- 2025年法制副校长演讲稿(7篇)
- 第1课 追求向上向善的道德
- 生物质颗粒购销合同
- 第01讲 意象、画面与意境 练习 中考语文复习
- 2025年湖南水利水电职业技术学院单招职业技能测试题库附答案
- 第四章药品调剂质量控制第二节用药错误管理课件
- 幼儿园酸奶牛奶采购合同
- 高中化学拔尖创新人才早期培养路径
- 2025年四川宽窄实业有限责任公司招聘笔试参考题库含答案解析
- 《中药提取物生产技术》课件-中药常用的粉碎方法
- Unit 1 完形填空训练8篇-2023-2024学年英语八年级上册单元冲刺满分题型训练(人教版)
评论
0/150
提交评论