基于单片机的交通灯设计论文.doc

上传人:good****022 文档编号:116645125 上传时间:2022-07-06 格式:DOC 页数:22 大小:853.52KB
返回 下载 相关 举报
基于单片机的交通灯设计论文.doc_第1页
第1页 / 共22页
基于单片机的交通灯设计论文.doc_第2页
第2页 / 共22页
基于单片机的交通灯设计论文.doc_第3页
第3页 / 共22页
点击查看更多>>
资源描述
现代电子技术综合实验论文 基于单片机交通灯的设计系别:电子工程系专 业 名 称:07电子信息工程班 级 分 组:第一组学 生 学 号:学 生 姓 名:27010202003陈建榕(组长)27010202 陈高扬270102020 许 强指 导 教 师 姓 名:李飞鹏(完成日期 2010年 5 月 14 日)II 基于单片机的交通设计摘 要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本设计是介绍一种基于基于单片机的交通灯控制系统。系统采用单片机和七段LED数码管作为交通灯的控制和显示核心,并通过单片机实现对交通灯各状态持续时间的控制。系统采用上电自动复位,利用二个数码管和蜂鸣器来显示和告知各状态的剩余时间,时间显示采用倒计时的方式,四组红、黄、绿、蓝四色灯用发光二极管作为模拟交通信号灯,呈四种状态交替出现。系统通过USB接头提供+5V的直流电源。该交通系统控制方便,禁行通行时间可通过改变程序才调整,有一定的实用价值,而且还能体现一定的人性关怀,体现为在你通过人行道的时候,没有车从两边转过来,更能保证你的生命安全。 关键词: 时钟频率 单片机 LED数码显示目 录摘 要11、设计目标32、系统方案与实现321单片机概述322芯片简介43、系统硬件设计73、1交通管理的方案论证73、2系统硬件设计94、系统工作原理105、控制器的软件设计105.1每秒钟的设定105.2计数器硬件延时105.2.1 计数器初值计算105.2.2 计算公式105.2.3 秒的方法105.2.4相应程序代码115.3 软件延时135.4 时间及信号灯的显示原理135.4.1显示原理135.4.2 P0口、P1口输出信号接信号灯135.4.3 P3口数码管的连接136、程序源代码以实物图146.1程序源代码146.2实物图196.2.1实物正面196.2.2实物反面207、结论218、实验体会21参考文献211、设计目标当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。本设计的主要设计工作如下:(1)介绍显示系统的各个组成部分,各个元器件的工作原理。(2)介绍交通灯电路的原理。(3)介绍硬件原理图的设计。(4)给出显示系统的软件设计。2、系统方案与实现本章围绕系统的总体设计,介绍系统组成框图、主控芯片单片机的内部硬件资源和接口设置,以及整个显示控制系统所用到的其它元器件的介绍。21单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。22芯片简介 8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图1程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构: 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。下图是MCS-51系列单片机的内部结构示意图2。 图2 MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:如图3 图3Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图4Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。在编程时,EA/Vpp脚还需加上21V的编程电压。3、系统硬件设计3、1交通管理的方案论证 图5东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿、蓝四色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行,蓝灯亮允许转弯。黄灯亮提示人们注意红、绿、蓝灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。示意图如上图图5,指示灯燃亮的方案如表2。表2 车道 灯亮时间东、西南、北25s绿灯亮红灯亮5s黄灯亮黄灯亮25红灯亮绿灯亮5s黄灯亮黄灯亮15s东车道红灯、西车道绿灯北车道左转、南车道右转5s黄灯亮黄灯亮15s东车道绿灯、西车道红灯北车道右转、南车道左转5s黄灯亮黄灯亮15s西车道右转、东车道左转北车道绿灯、南车道红灯5s黄灯亮黄灯亮15s西车道左转、东车道右转北车道红灯、南车道绿灯5s黄灯亮黄灯亮表2说明:(1)、当东、西车道绿灯时,南、北车道红灯;东、西车道直走,南、北车道停止通行,人行道南、北通行,数码管倒数25秒;(2)、第一步延时25秒后,东、西、南、北车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;(3)、当东、西车道红灯时,南、北车道绿灯;东、西车道停止通行,南、北车道直走,人行道东、西通行,数码管倒数25秒;(4)、第三步延时25秒后,东、西、南、北车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;(5)、西车道绿灯时,东车道红灯,南、北车道蓝灯,西车道直走,南车道左转,北车道右转,东车道停止通行,数码管倒数15秒;(6)、第五步延时15秒后,东、西、南、北车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;(7)、东车道绿灯时,西车道红灯,南、北车道蓝灯,东车道直走,南车道右转,北车道左转,西车道停止通行,数码管倒数15秒;(8)、第七步延时15秒后,东、西、南、北车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;(9)、南车道绿灯时,北车道红灯,东、西车道蓝灯,南车道直走,西车道右转,东车道左转,北车道停止通行,数码管倒数15秒;(10)、第九步延时15秒后,东、西、南、北车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;(11)、北车道绿灯时,南车道红灯,东、西车道蓝灯,北车道直走,西号车道左,东车道右转,南车道停止通行,数码管倒数15秒;(12)、第十一步延时15秒后,东、西、南、北车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;(13)、循环(1)-(13)。3.2系统硬件设计选用芯片STC-89C51单片机,两位共阳极的七段数码管,蜂鸣器,USB接头,12MHz晶振,红、黄、绿、交通灯若干个,开关键盘、连线若干。交通灯硬件线路图如下图图6。 4、系统工作原理(1)芯片STC-89C51单片机作为系统控制芯片,通过各个Port口控制整个系统;(2)通过芯片的第九管脚控制复位电路,按通轻触键可使系统复位;(3)由STC-89C51单片机P0口、P1口控制灯的亮灭,P3口控制两位共阳极的七段数码管,P25控制蜂鸣器的鸣灭;(4)通过USB接口输入5V电源,驱动芯片和各个元器件。、控制器的软件设计5.1每秒钟的设定 延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。5.2计数器硬件延时5.2.1 计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3为285.2.2 计算公式 T=(MTC)T计数 或T计数T计数是单片机时钟周期的倍;为定时初值如单片机的主脉冲频率为,经过分频方式213微秒毫秒方式216微秒毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题5.2.3 秒的方法我们采用在主程序中设定一个初值为的软件计数器和使定时毫秒这样每当到毫秒时就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序。5.2.4相应程序代码()主程序#include#define uint unsigned int#define uchar unsigned charsbit dula=P26;sbit wela=P27;uchar code table10= 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x83,0 xf8,0 x80,0 x98;uchar t,t0,shi,ge;void init();void display(uchar shi,uchar ge);void delay(uint x);void main() init(); while(1) display(shi,ge); void init()t=25;TMOD=0 x01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;EA=1;ET0=1;TR0=1;void time0() interrupt 1TH0=(65536-10000)/256;TL0=(65536-10000)%256;t0+;if(t0=100)t0=0;if(t!=0)shi=t/10;ge=t%10;t-;elseshi=t/10;ge=t%10;t=25;void display(uchar shi,uchar ge)dula=1;P3=tableshi;dula=0;P3=0 xff;wela=1;P3=0 xfe;wela=0;delay(5);dula=1;P3=tablege;dula=0;P3=0 xff;wela=1;P3=0 xfd;wela=0;delay(5);void delay(uint x)uint i,j;for(i=x;i0;i-)for(j=110;j0;j-);5.3 软件延时 MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。 具体的延时程序分析: #include#define uint unsigned int#define uchar unsigned charvoid delay(uint x)uint i,j;for(i=x;i0;i-)for(j=110;j0;j-);5.4 时间及信号灯的显示原理5.4.1显示原理:当程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后 ,重新进入循环。 5.4.2 P0口、P1口输出信号接信号灯:P0口、P1口控制灯的亮灭,由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所以可以用置位方法点亮红,绿,黄,蓝色发光二极管。5.4.3 P3口数码管的连接:LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 dp,g,f,e,d,c,b,a 管角上加上0 x80,dp为高电平,所以全亮则显示为8,具体见下表表3。采用共阳级连接:其中 P30-a,P31-b, P32-c,P33-d,P34-e, P35-f,P36-gP37-dp 显示数值dp g f e d c b a 驱动代码(16进制)01 1 0 0 0 0 0 00 xc01 1 1 1 1 1 0 0 10 xf92 1 0 1 0 0 1 0 00 xa43 1 0 1 1 0 0 0 00 xb04 1 0 0 1 1 0 0 10 x995 1 0 0 1 0 0 1 00 x926 1 0 0 0 0 0 1 10 x837 1 1 1 1 1 0 0 00 xf88 1 0 0 0 0 0 0 00 x809 1 0 0 1 1 0 0 00 x98 表 3 驱动代码表6、程序源代码以实物图 6.1程序源代码#include #include #define uchar unsigned char#define uint unsigned intuchar code table= 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x83,0 xf8,0 x80,0 x98;sbit left_1 = P03;/代表道路1的蓝灯,表示可以向左转弯sbit RED_1 = P05;/代表道路1的红灯sbit GREEN_1 = P04;/代表道路1的绿sbit YELLOW_1 = P06;/ 代表道路1的黄灯sbit right_1 = P07;/代表道路1的蓝灯,表示可以向右转弯sbit left_2 = P17;/代表道路2的蓝灯,表示可以向左转弯sbit RED_2 = P14;/代表道路2的红灯sbit GREEN_2 = P11;/代表道路2的绿sbit YELLOW_2 = P16;/ 代表道路2的黄灯sbit right_2 = P10;/代表道路2的蓝灯,表示可以向右转弯 sbit left_3 = P12;/代表道路3的蓝灯,表示可以向左转弯sbit RED_3 = P00;/代表道路3的红灯sbit GREEN_3 = P01;/代表道路3的绿sbit YELLOW_3 = P13;/ 代表道路3的黄灯sbit right_3 = P02;/代表道路3的蓝灯,表示可以向右转弯sbit left_4 = P23;/代表道路4的蓝灯,表示可以向左转弯sbit RED_4 = P20;/代表道路4的红灯sbit GREEN_4 = P21;/代表道路4的绿sbit YELLOW_4 = P22;/ 代表道路4的黄灯sbit right_4 = P15;/代表道路4的蓝灯,表示可以向右转弯 sbit fmq=P25;sbit smg1=P26;sbit smg2=P27;void delay(uint z) /延时函数 uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void xianshi(uint m , w) /倒计时函数 uchar n,i,j,k; i=w;j=m; while(1) k-;n=80; while(n) n-; smg1=0;P3=tablei; delay(5);smg1=1; smg2=0;P3=tablej; delay(5);smg2=1; if(i=0 x00) i=0 x0a;j=j-1; i=i-1; if(j=0)&(i=0) break; /* 主函数第一步:当1、2车道绿灯时,3、4车道红灯;1、2车道直走,3、4车道停止通行,人行道3、4通行,数码管倒数25秒.第二步:第一步延时25秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;第三步:当1、2车道红灯时,3、4车道绿灯;1、2车道停止通行,3、4车道直走,人行道1、2通行,数码管倒数25秒;第四步:第三步延时25秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;第五步:1车道绿灯时,2车道红灯,3、4车道蓝灯,1车道直走,3车道左转,4车道右转,2车道停止通行,数码管倒数15秒;第六步:第五步延时15秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;第七步:2车道绿灯时,1车道红灯,3、4车道蓝灯,2车道直走,3车道右转,4车道左转,1车道停止通行,数码管倒数15秒;第八步:第七步延时15秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;第九步:3车道绿灯时,4车道红灯,1、2车道蓝灯,3车道直走,1车道右转,2车道左转,4车道停止通行,数码管倒数15秒;第十步:第九步延时15秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;第十一步:4车道绿灯时,3车道红灯,1、2车道蓝灯,4车道直走,1号车道左,2车道右转,3车道停止通行,数码管倒数15秒;第十二步:第十一步延时15秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒;第十三步:循环第一步-第十二步。*/void main() while(1)/第十三步:循环第一步-第十二步 uint k; fmq=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; /第一步:当1、2车道绿灯时,3、4车道红灯;1、2车道直走,3、4车道停止通行,人行道3、4通行,数码管倒数25秒. GREEN_1=GREEN_2=0; RED_3=RED_4=0; xianshi(2,5); /数码管倒数25秒 /第二步:第一步延时25秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒; GREEN_1=GREEN_2= RED_3=RED_4=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延时5秒 /第三步:当1、2车道红灯时,3、4车道绿灯;1、2车道停止通行,3、4车道直走,人行道1、2通行,数码管倒数25秒; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; RED_1=RED_2=GREEN_3=GREEN_4=0; xianshi(2,5); /数码管倒数25秒 /第四步:第三步延时25秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒; GREEN_3=GREEN_4= RED_1=RED_2=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延时5秒 / 第五步:1车道绿灯时,2车道红灯,3、4车道蓝灯,1车道直走,3车道左转,4车道右转,2车道停止通行,数码管倒数15秒; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; GREEN_1=RED_2=left_3=right_4=0; xianshi(1,5);/数码管倒数15秒 / 第六步:第五步延时15秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒; GREEN_1=RED_2=left_3=right_4=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延时5秒 /第七步:2车道绿灯时,1车道红灯,3、4车道蓝灯,2车道直走,3车道右转,4车道左转,1车道停止通行,数码管倒数15秒 YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; GREEN_2=RED_1=right_3=left_4=0; xianshi(1,5);/数码管倒数15秒 /第八步:第七步延时15秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒 GREEN_2=RED_1=right_3=left_4=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延时5秒 /第九步:3车道绿灯时,4车道红灯,1、2车道蓝灯,3车道直走,1车道右转,2车道左转,4车道停止通行,数码管倒数10秒; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; GREEN_3=RED_4=right_1=left_2=0; xianshi(1,5);/数码管倒数15秒 /第十步:第九步延时15秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒; GREEN_3=RED_4=right_1=left_2=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延时5秒 /第十一步:4车道绿灯时,3车道红灯,1、2车道蓝灯,4车道直走,1号车道左,2车道右转,3车道停止通行,数码管倒数15秒; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; GREEN_4=RED_3=left_1=right_2=0; xianshi(1,5);/数码管倒数15秒 /第十二步:第十一步延时15秒后,1、2、3、4车道同时亮黄灯,蜂鸣器响,(滴5声)倒数5秒; GREEN_4=RED_3=left_1=right_2=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延时5秒 6.2实物图6.2.1实物正面6.2.2实物反面7、结论本系统统采用MSC-51系列单片机STC-89C51来设计交通灯控制器,实现了能根据实际车流量通过程序小改动就可以设置红、绿、黄、蓝灯燃亮时间的功能;红绿灯循环点亮,倒计时剩25秒(交通灯信号通过P0、P2口输出,显示时间通过P3口输出至双位数码管进行显示);黄灯闪烁警示,蜂鸣器鸣叫;该系统得亮点之处是能控制车的左、右转,左右转也根据实际车流量通过程序小改动就可以设置蓝灯燃亮时间。本系统的不足之处在于没有通过外设按键来调节红、绿、黄、蓝亮灭时间的功能以及自动根据车流改变红绿灯时间等。这是由于自身知识的不足以及时间的有限,如果有需要可以设计扩充原系统来实现 。8、实验体会通过这次现代电子技术综合实验,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼;使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是C语言)的掌握方面都能向前迈了一大步,也进一步激起我对电子实验、学习的兴趣,为日后成为合格的应用型人才打下良好的基础。参考文献1、张毅坤. 单片微型计算机原理及应用,西安电子科技大学出版社 1998 2、余锡存 曹国华.单片机原理及接口技术M.陕西:西安电子科技大学出版社2000.73、雷丽文 .微机原理与接口技术M.北京:电子工业出版社 1997.24、张义和 .例说51单片机(C语言版) 人民邮电出版社 2008 4第 20 页 共21页
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 机械理论


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!