ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:1.41MB ,
资源ID:18495933      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18495933.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的交通控制系统的设计Word文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的交通控制系统的设计Word文档格式.docx

1、左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。随着经济的发展,交通运输中出现了一些传统方法难以解决的问题。道路拥挤现象日趋严重,造成的经济损失越来越大,并一直保持大比例的增长。现在交通系统已不能满足经济发展的需求。由于生活水平的提高,人们对交通运输的安全性及服务水平提出了更高的要求。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上

2、尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。 中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源。使交管人员有更多的精力投入到管理整个城市交通控制,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用。1.2 设计目的及思路1.2.1 设计目的了解交通灯管理的基本工作原理,熟练掌握STC89C52的工作原理和应用编程,熟悉STC89C52单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED显示问题的解

3、决。1.2.2 设计思路(1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。(2)确定系统交通控制的总体设计,包括,十字路口具体的通行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示。(3)进行显示电路,灯状态电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。(4)进行软件系统的设计,对于本系统,本人采用语言编写程序,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。2方案选择2.1总体设计方案 根据十字路口交通灯的要求

4、,可将本系统分为三个模块,第一模块是控制模块,主要负责整个系统的控制和运算,从而使各模块正常工作,第二个模块式显示模块包括LED灯和数码管;第三是电源模块,给各模块提供电源,让各模块工作。其系统设计结构如图2.1所示:图2.1系统设计结构图2.2 控制模块选择方案方案一:由计数器74LS161级联组成,配合译码器和秒脉冲信号发生器等器件组成交通灯系统,整个系统简单,控制简单,调试容易等优点。方案二:采用单片机STC89C52作为控制器。单片机运算能力强,软件编程灵活,自由度大。采用STC89C52单片机稳定可靠、应用广泛、通用性强。方案比较:采用方案一来实现十字路口交通灯控制系统非常方便,电路

5、结构简单,控制单一,但整个系统性能不是很高,倒计时不是非常精确,如果要求系统能设置不同工作时间不容易,因而对于完成题目较困难,而方案二完全能实现设计要求,容易掌握,利于编程,易控制,I/O接口很多,易于扩展外围电路,价格便宜,故选择方案二。2.3倒计时显示界面方案该系统要求完成倒计时功能。只需显示数字,基于上述原因,我考虑了二种方案:采用全数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。综上所述,我选择第一种方案,四个路口分别采用一个二位共阳数码管。3详细设计

6、3.1 交通灯显示时序及状态转换的理论分析及程序流程图3.1.1.理论分析红绿灯状态转换图如图3.1所示。S2S1S4S3图3.1红绿灯状态转换图东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间、指示灯燃亮的方案如表3.1。表3.1 十字路口指示灯燃灯方案状态时间87s5s30s东西道红灯亮绿灯亮黄灯亮南北道表3.1说明:(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为6

7、0秒。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为80秒。 东西方向车流大 通行时间长。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车流量动态设定红绿灯初始值。共四种状态,分别设定为S1、S2、S3、S4,交通灯以这四种状态为一个周期,循环执行图3.2所示:图3.2 交通灯状态循程序就是在上述四种状态下循环转化的。3.1.2.程序流程图系统的程序流程图如图3.3所示。图3.3 程序流程图3.2系统总体硬件方案论证本设计以单片机为控制核

8、心,采用模块化设计,共分以下几个功能模块:单片机控制系统、状态显示模块、倒计时模块、电源模块。经上述各模块的方案选择与论证,十字路口交通灯控制系统的控制芯片选用单片机STC89C52作为整个系统的核心控制器件,主要负责整个系统工作的控制和运算,从而使各模块正常工作;采用七段LED数码管和LED灯作为显示器件,用七段LED数码管完成倒计时显示,用LED灯作为状态灯指示功能;以电池供电作为系统电源部分,可对各个模块供电并便于演示。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。3.3 STC89C52RC单片机STC89C52RC是ST

9、C89系列单片机中应用较为广泛的一种型号,芯片内部有8KB的闪速存储器Flash ROM。内部的8KB存储器用于存放可编程控制器监控程序。STC89C52RC单片机的40条引脚按功能来分,可以分为3部分,电源及时钟引脚、控制引脚和输入/输出引脚。 其引脚图如图3.4所示。图3.4 STC89C52单片机引脚图89C52单片机引脚功能:主电源及时钟引脚此类引脚包括电源引脚Vcc、Vss、时钟引脚XTAL1、XTAL2。(1)Vcc(40脚):接+5V电源,为单片机芯片提供电能。(2)Vss(20脚)接地。(3)XTAL1(18脚)在单片机内部,它是一个反向放大器的输入端,该放大器构成了片内的振荡

10、器,可提供单片机的时钟控制信号。(4)XTAL2(19脚)在单片机内部,接至上述振荡器的反向输出端。控制引脚此类引脚包括RESET(即RSR/VPD)、ALE、PSEN、EA,可以提供控制信号,有些具有复用功能。(1)RSR/ VPD(9脚):复位信号输入端,高电平有效,当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位(REST)。复位后应使此引脚电平保持为不高于0.5V的低电平,以保证单片机正常工作。掉电期间,此引脚可接上备用电源(VPD),以保持内部RAM中的数据不丢失。当Vcc下降到低于规定值,而VPD在其规定的电压范围内(50.5V)时,VPD就向内部RAM提供备用电源。

11、(2)ALE/PROG(30脚):ALE为地址锁存允许信号。当单片机访问外部存储器时,ALE(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存储器,ALE端仍有周期性正脉冲输出,其频率为振荡器频率的1/6。但是每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。ALE端可以驱动8个LSTTL负载。(3)PSEN(29脚):程序存储器允许输出控制端。此输出为单片内访问外部程序存储器的读选通信号。在从外部程序存储器取指令(或取常数)期间,每个机器周期均PSEN两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不会出现。

12、PSEN同样可以驱动8个LSTTL负载。(4)EA(31脚):EA功能为内外程序存储器选择控制端。当EA端保持高电平时,单片机访问内部程序存储器,但在PC(程序计数器)值超过0FFFH时将自动转向执行外部程序存储器内的程序。输入/输出引脚此类引脚包括P0口、P1口、P2口和P3口。(1)P0(P0.0P0.7)是一个8位三态双向I/O口,在不访积压处部存储器时,做通用I/O口使用,用于传送CPU的输入/输出数据,当访问外部存储器时,此口为地址总路线低8位及数据总路线分时复用口,可带8个LSTTL负载。(2)P1(P1.0P2.7)是一个8位准双向I/O口(作为输入时,口锁存器置1),带有内部上

13、拉电阻,可带4个LSTTL负载。(3)P2(P2.0P2.7)是一个8位准双向I/O口,与地址总路线高8位复用,可驱动4个LSTTL负载。 (4)P3(P3.0P3.7)是一个8位准双向I/O口,除此之外每位还具有第二功能。P3口功能表如表3.1所示。表3.1 P3口各个位的第二功能表P3口的位第二功能说明P3.0RXD串行数据接收口P3.1TXD串行数据发射口P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0计数器0计数输入P3.5T1计数器1计数输入P3.6WR外部RAM写信号P3.7RD外部RAM读信号STC89C52内部结构图如图3.5所示:图3.5 STC89C

14、52内部结构图3.4电路图交通控制系统的电路图如图3.6所示。图3.6交通控制系统电路图4系统的仿真测试交通控制系统的仿真图如图4.1所示。(a)(b)图4.1交通控制系统仿真图5作品的焊接5.1焊接过程交通控制系统的焊接图如图5.1所示。(c)图5.3 焊接图5.2具体程序#include #define uint unsigned int#define uchar unsigned charucharnight_flag=0; /深夜标志位uchartime_cl=0; /定义时间控制标志位 取0 uchar flag=0; /方向通行标志位ucharB_N_D_flag=1; /定义北南

15、通灯行标志位ucharX_D_D_flag=1; /定义西东通灯行标志位uchari,j; /定义变量iuchar t=3; /数码管动态扫描延时时间基数ucharnum=0; /时间基数初始化为0/ucharnum_night=0; /深夜模式时间基数为0uchar time=90; /time初始化定为30秒intbei,nan,xi,dong; /定义 北 南 西 东uchar code Data=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF;/定义数组 数码管 0 1 2 3 4 5 6 7 8 9 -/*定义 红黄绿灯*

16、/#define B_R P1_0 /北面 红灯#define B_Y P1_1 /北面 黄灯#define B_G P1_2 /北面 绿灯#define N_R P1_3 /南面 红灯#define N_Y P1_4 /南面 黄灯#define N_G P1_5 /南面 绿灯#define X_R P1_6 /西面 红灯#define X_Y P1_7 /西面 黄灯#define X_G P3_2 /西面 绿灯#define D_R P3_3 /东面 红灯#define D_Y P3_4 /东面 黄灯#define D_G P3_5 /东面 绿灯/*定义 数码管*/#define SMG_X

17、S P0 /数码管数据显示#define SMG_KZ P2 /数码管控制显示void delay(uint time) /扫描延时函数 uintx,y; for(x=time;x0;x-) for(y=110;yy-); void disp_init() /显示初始化 for(i=0;i3;i+) SMG_XS=Data10; /数码管显示- SMG_KZ=0x00; /允许数码管显示 P1=0x00; /北,南,西,东 红黄绿灯亮 P3=0x00; delay(300); /延时 SMG_KZ=0xff; /关闭数码管显示 P1=0xff; /关闭北,南,西,东 红黄绿灯 P3=0xff;

18、 void disp(bei,nan,xi,dong) /显示(北 南 西 东)时间函数 SMG_XS=Databei/10; /显示北的十位 SMG_KZ=0xfd; /允许北十位显示 delay(t); /小延时一下,使数码管显示更清楚 SMG_KZ=0xff; /关闭数码管显示(消隐) SMG_XS=Databei%10; /显示北的个位 SMG_KZ=0xfe; /允许北个位显示 /关闭数码管显示(消隐) SMG_XS=Datanan/10; /显示南的十位 SMG_KZ=0xf7; /允许南十位显示 SMG_XS=Datanan%10; /显示南的个位 SMG_KZ=0xfb; /允

19、许南个位显示 SMG_XS=Dataxi/10; /显示西的十位 SMG_KZ=0xdf; /允许西十位显示 SMG_XS=Dataxi%10; /显示西的个位 SMG_KZ=0xef; /允许西个位显示 SMG_XS=Datadong/10; /显示东的十位 SMG_KZ=0x7f; /允许东十位显示 SMG_XS=Datadong%10; /显示东的个位 SMG_KZ=0xbf; /允许东个位显示void Time0_init() /定时器0初始化函数 TMOD=0x01; /定时器0为方式1 TL0=(65536-50000)%256; TH0=(65536-50000)/256; /1

20、2M晶振 定时时间50ms ET0=1; /开定时器0中断 EA=1; /开总中断 TR0=1; /启动定时器0void night_mode() /深夜模式 B_R=1; B_Y=B_Y; /北 黄灯取反 B_G=1; N_R=1; N_Y=N_Y; /南 黄灯取反 N_G=1; X_R=1; X_Y=X_Y; /西 黄灯取反 X_G=1; D_R=1; D_Y=D_Y; /东 黄灯取反 D_G=1;void B_N_G() /北南通(绿灯) 西东(红灯) B_G=0; /北 绿灯亮 N_G=0; /南 绿灯亮 B_Y=1; N_Y=1; X_R=0; /西 红灯亮 D_R=0; /东 红灯

21、亮 X_Y=1; D_Y=1;void X_D_G() /西东通(绿灯) 北南(红灯) B_R=0; /北 红灯亮 N_R=0; /南 红灯亮 X_G=0; /西 绿灯亮 D_G=0; /东 绿灯亮void B_N_tong() /北南 通行 if(B_N_D_flag=1) /当北南通灯行标志位为1 B_N_G(); /北南通(绿灯) 西东(红灯) B_N_D_flag=0; /北南通灯行标志位置0 while(num=20) /当1s时间到 num=0; /num清0 bei-; /北时间 减1 nan-; /南时间 减1 xi-; /西时间 减1 dong-; /东时间 减1 if(be

22、i=0|nan=0) /当北和南时间在0到6秒之间 if(bei3|nan3) /进一步判断北和南时间是否在3到6秒之间 B_G=B_G; /北 绿灯取反 N_G=N_G; /南 绿灯取反 =3&nan=3) /进一步判断北和南时间是否在3秒以内 B_G=1; /北 绿灯不亮 N_G=1; /南 绿灯不亮 B_Y=0; /北 黄灯亮 N_Y=0; /南 黄灯亮 else /否则(即北和南时间不在0到6秒之间) B_G=0; /北 绿灯亮 N_G=0; /南 绿灯亮 B_Y=1; /北 黄灯不亮 N_Y=1; /南 黄灯不亮void X_D_tong() /西东 通行 if(X_D_D_flag=1) /当西东通灯行标志位为1 X_D_G(); /西东通(绿灯) 北南(红灯) X_D_D_flag=0; /西东通灯行标志位置0 while(num=20) /当1s时间到 /num清0 /北时间 减1 /南时间 减1 /西时间 减1 /东时间 减1 if(xi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1