智能交通灯设计与实现.docx

上传人:b****7 文档编号:10517060 上传时间:2023-02-17 格式:DOCX 页数:16 大小:18.84KB
下载 相关 举报
智能交通灯设计与实现.docx_第1页
第1页 / 共16页
智能交通灯设计与实现.docx_第2页
第2页 / 共16页
智能交通灯设计与实现.docx_第3页
第3页 / 共16页
智能交通灯设计与实现.docx_第4页
第4页 / 共16页
智能交通灯设计与实现.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

智能交通灯设计与实现.docx

《智能交通灯设计与实现.docx》由会员分享,可在线阅读,更多相关《智能交通灯设计与实现.docx(16页珍藏版)》请在冰豆网上搜索。

智能交通灯设计与实现.docx

智能交通灯设计与实现

Companynumber:

【WTUT-WT88Y-W8BBGB-BWYTT-19998】

 

智能交通灯设计与实现

辽宁工程技术大学

集成电路EDA技术课程设计报告

题目:

智能交通灯设计与实现

指导教师:

李淑艳

院(系、部):

电子与信息工程学院

专业班级:

电子09—2

学号:

姓名:

穆加林

日期:

智能交通灯设计与实现

摘要:

智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。

在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行。

交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

本文为了实现交通道路的管理,力求交通管理先进性、科学化。

分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。

关键词:

交通信号灯单片机

一.技术指标

1)设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行。

2)每次绿灯变红灯时,要求黄灯先亮5S,才能变换运行车辆。

3)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。

4)同步设置人行横道红、绿灯指示。

5)考虑到特殊车辆情况,设置紧急转换开头。

二.智能交通灯的方案选择

1)智能交通灯的研究现状

其实,用红黄绿三色来作交通讯号和人的视觉机能结构和心理反应有关。

  我们的视网膜含有杆状和三种锥状感光细胞。

杆状细胞对黄色的光特别敏感,三种锥状细胞则分别对红光、绿光及蓝光最敏感。

由于这种视觉结构,人最容易分辨红色与绿色。

虽然黄色与蓝色也容易分辨,但因为眼球,对蓝光敏感的感光细胞较少,所以分辨颜色,还是以红、绿色为佳。

  颜色也有活动的含意,要表达热或剧烈的话,最强是红色,其次是黄色。

绿色则有较冷及平静的含意。

因此,人们常以红色代表危险,黄色代表警觉,绿色代表安全。

 而且,由于红光的穿透力最强,其他颜色的光很容易被散射,在雾天里就不容易看见,而红光最不容易被散射,即使空气能见度比较低,也容易被看见,不会发生事故。

所以我们用红色表示禁止。

2)智能交通灯的设计方案

针对道路交通拥挤,交叉路口经常出现拥堵的情况。

利用单片机控制技术提出了软件和硬件

由于AT89S51单片机自单带有2计数器,6个中断源,能满足系统的设计要求。

用单片机设计不但设计简单,而且成本低,用其设计的交通灯也满足了要求,所以本文采用单片机设计交通灯,系统构图如图1所示:

图1系统结构框图

三.智能交通灯方案的实现

根据设计任务和要求,可画出该控制器的原理框图,为确保十字路口的交通安全,往往都采用交通灯自动控制系统来控制交通信号。

其中红灯亮,表示禁止通行;黄灯亮表示暂停;绿灯亮表示允许通行。

1)控制器的系统框图如图2所示

图2交通灯控制器系统框图

2)电路图

智能交通灯电路图如图3所示。

3)智能交通灯系统的组成

交通灯系统由四部分组成:

车检测电路,信号灯电路,时间显示电路,紧急转换开关。

4)工作原理

十字路口的红绿灯指挥着行人和各种车辆的安全通行。

有一个主干道和一个支干道的十字路口如图3-1所示。

每边都设置了红、绿、黄色信号灯。

红灯亮表示禁止通行,绿灯亮表示可以通行,在绿灯变红灯时先要求黄灯亮几秒钟,以便让停车线以外的车辆停止运行。

Ⅰ、信号灯电路

信号灯用来显示车辆通行状况,下面以一个十字路口为例,说明一个交通灯的四种状态见图5。

每个路口的信号的的转换顺序为:

绿——>黄——>红,绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。

红灯表示禁止通行,绿灯的时间为20秒,红红最短时间为25秒,黄灯时间为5秒。

Ⅱ、时间显示电路

在交通信号灯的正上方安装一个可以显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路是一种很好的方法。

由于东往西方向和西往东方向显示的时间相同,南往北方向和北往南方向显示的时间也相同,所以只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以时间的时间为0-99秒完全可以满足系统的要求。

四.智能交通灯方案的仿真图

五.结束语:

1、能实现的功能

交通灯的状态转换和计时时间的显示,基本能实现甲、乙道路直行和转弯灯的显示功能。

2、不足之处

设计过程中用的芯片太多。

传统的定时交通灯控制还是起到了一定的作用,但随着社会的高速发展,城市化日益完善,车的数量必然增多,给交通的压力也增大,这是传统的交通控制等已经无法满足现在的通行状况,功能还不够完善。

交通灯红、黄、绿时间还不能按交通紧松完成手控调整,软件编写实现功能还不能很好控制硬件。

通过这次设计,掌握了对Proteus的基本使用方法,掌握了一些单片机的使用及构造知识,对单片机有进一步的认识。

设计中遇到的问题也可以通过自己的查询和同学的帮助解决,锻炼了自己的独立思维能力和动手动脑能力。

要有一个明确的目标和一颗团结合作的心,还要保持一个良好的心态,才能把设计做得更好!

参考文献:

1、陈大钦主编《电子技术基础实验》高等教育出版社2004年

2、陈梓城主编《电子技术实训》机械工业出版社2003年

3、吴黎明主编《单片机原理及应用技术》科学出版社2003年

4、李学海主编《标准80C51单片机基础教程》北京航空航天大学出版社2006年

5、刘乐善主编《微型计算机接口技术及应用》华中科技大学出版社2004年

附录:

附智能交通灯控制程序:

ORG0000H

A_BITEQU20H;用于存放南北十位数

B_BITEQU21H;用于存放南北十位数

C_BITEQU22H;用于存放东西十位数

D_BITEQU23H;用于存放东西位数

TEMP1EQU24H;用于存放第一二南北状态要显示的时间

TEMP2EQU25H;用于存放第一二东西状态要显示的时间

TEMP3EQU26H;用于存放第三第四南北状态要显示的时间

TEMP4EQU27H;用于存放第三第四南北状态要显示的时间

LJMPMAIN

CLR

CLR;南北通行,东西禁止通行

CLR

CLR

MOVP1,#0FFH;清除先前状态

MOVP2,#0FFH

CLR

CLR

CLR;东西通行,南北禁止通行

CLR

ORG0100H;初始情况

MOVP1,#0FFH

MOVP2,#0FFH;灭所有灯

MOVTMOD,#55H;计数方式方式1

MOVTEMP1,#20;

MOVTEMP2,#25

MOVTEMP3,#25

STAR:

MOVP1,#0FFH

MOVP2,#0FFH;灭所有灯

MOVA,24H;将显示时间送A

CJNEA,#20,T40T;判断时间,选初始值

T20T:

;南北通行要显示的时间为20的计数器初始值

CLRTF0;清TF0

CLRTF1;清TF1

MOVTH1,#0FFH;送20秒时的初始值

MOVTH0,#0FFH

MOVTL0,#0FCH

LJMPTEMP20;跳到20秒

TEMP20:

;TEMP1=20情况

SETBTR0;开始计数

SETBTR1

CLR

CLR;南北通行,东西禁止通行

CLR

CLR

MOVTEMP1,#20;南北要显示的时间,

MOVTEMP2,#25;东西要显示的时间

STLOP:

ACALLDISPLAY1;调用显示

DECTEMP1;时间够一秒显示时间减1

DECTEMP2

MOVA,TEMP1

CJNEA,#0,NEXT;若显示时间不为0保持现在状态

LJMPSTAR2;若显示时间为0跳到第二状态

NEXT:

LJMPSTLOP

STAR2:

;状态1

SETB

CLR;南北黄灯,东西禁止通行

SETB

CLR

MOVTEMP1,#05;南北要显示的时间,

MOVTEMP2,#05;东西要显示的时间,

STLOP2:

ACALLDISPLAY1;调用显示

DECTEMP1;时间够一秒显示时间减1

DECTEMP2

CJNEA,#0,NEXT2;若显示时间不为0保持现在状态

JBTF1,T40;判断南北是否多车

JBTF0,T40;判断北南是否多车

MOVTEMP1,#20;少车下次显示时间为20秒

LJMPSTAR3;若显示时间为0跳到第三状态

NEXT2:

LJMPSTLOP2

SETBTR0;开始计数

SETBTR1

CLR

CLR;南北通行,东西禁止通行

CLR

CLR

MOVTEMP1,#20;南北要显示的时间,

MOVTEMP2,#25;东西要显示的时间

STLOP11:

ACALLDISPLAY1;调用显示

DECTEMP1;时间够一秒显示时间减1

DECTEMP2

MOVA,TEMP1

CJNEA,#0,NEXT11;若显示时间不为0保持现在状态

LJMPSTAR22;若显示时间为0跳到第二状态

NEXT11:

LJMPSTLOP11

STAR22:

;状态1

SETB

CLR;南北黄灯,东西禁止通行

SETB

CLR

MOVTEMP1,#05;南北要显示的时间,

MOVTEMP2,#05;东西要显示的时间,

STLOP22:

ACALLDISPLAY1;调用显示

DECTEMP1;时间够一秒显示时间减1

DECTEMP2

MOVA,TEMP1

CJNEA,#0,NEXT22;若显示时间不为0保持现在状态

LJMPSTAR3;若显示时间为0跳到第三状态

NEXT22:

LJMPSTLOP22

STAR3:

MOVA,26H

CJNEA,#25,T40T1;判断时间,选初始值

T20T1:

;南北通行要显示的时间为20的计数器初始值

CLRTF0;清溢出位

CLRTF1

MOVTH1,#0FFH;给初值

MOVTL1,#0FCH

MOVTH0,#0FFH

MOVTL0,#0FCH

LJMPTEMP320

CLRTF0;

CLRTF1

MOVTH1,#0FFH;给初值

MOVTL1,#0F8H

MOVTH0,#0FFH

MOVTL0,#0F8H

LJMPTEMP340

TEMP320:

;状态三

SETBTR1;南北停止计数

SETBTR0;东西开始计数

SETB;东西通行,南北禁止通行

CLR

SETB

CLR

SETB

CLR

SETB

CLR

MOVTEMP3,#25;南北要显示的时间,

MOVTEMP4,#20;东西要显示的时间,

STLOP33:

ACALLDISPLAY;调用显示

DECTEMP3;时间够一秒显示时间减1

DECTEMP4

MOVA,TEMP4

CJNEA,#0,NEXT33;若显示时间不为0保持现在状态

LJMPSTAR34;若显示时间为0跳到第四状态

NEXT33:

LJMPSTLOP33

STAR34:

;状态四

SETB

CLR

SETB;东西黄灯,南北禁止通行

CLR

MOVTEMP3,#05;南北要显示的时间,

MOVTEMP4,#05;东西要显示的时间,

STLOP34:

ACALLDISPLAY;调用显示

DECTEMP3;时间够一秒显示时间减1

DECTEMP4

MOVA,TEMP4

CJNEA,#0,NEXT34;若显示时间不为0保持现在状态

JBTF1,T402

JBTF0,T402

MOVTEMP3,#25

NEXT34:

LJMPSTLOP34

TEMP340:

SETBTR1;南北停止计数

SETBTR0;东西开始计数

SETB;东西通行,南北禁止通行

CLR

SETB

CLR

SETB

CLR

SETB

CLR

MOVTEMP3,#25;南北要显示的时间,

MOVTEMP4,#20;东西要显示的时间,

STLOP43:

ACALLDISPLAY;调用显示

DECTEMP3;时间够一秒显示时间减1

DECTEMP4

MOVA,TEMP4

CJNEA,#0,NEXT43;若显示时间不为0保持现在状态

LJMPSTAR44;若显示时间为0跳到第四状态

NEXT43:

LJMPSTLOP43

STAR44:

;状态四

SETB

CLR

SETB;东西黄灯,南北禁止通行

CLR

MOVTEMP3,#05;南北要显示的时间,

MOVTEMP4,#05;东西要显示的时间,

STLOP44:

ACALLDISPLAY;调用显示

DECTEMP3;时间够一秒显示时间减1

DECTEMP4

MOVA,TEMP3

CJNEA,#0,NEXT44;若显示时间不为0保持现在状态

JBTF1,T403

JBTF0,T403

MOVTEMP3,#25

LJMPSTAR

T403:

MOVTEMP3,#25

LJMPSTAR

NEXT44:

LJMPSTLOP44

;显示

DISPLAY1:

MOVA,TEMP1;将南北要显示的数存放到A

MOVB,#10;B=10

DIVAB;A除以B商存A,余数B

MOVB_BIT,A;将A放到20H

MOVA_BIT,B;将B放到21H

MOVA,TEMP2;将东西要显示的数存放到A

MOVB,#10;B=10

DIVAB;A除以B商存A,余数B

MOVC_BIT,A;将A放到22H

MOVD_BIT,B;将B放到23H

MOVDPTR,#NUMT;

MOVR0,#2;R0=2

DPL11:

MOVR1,#250;R1=250

DPLOP1:

MOVA,A_BIT;将南北要显示的10位数送A

MOVCA,@A+DPTR;查表

MOVP0,A;显示南北10位数

CLR

ACALLD1MS;延时1MS

SETB;灭南北10位数

MOVA,B_BIT;将南北要显示的个位数送A

MOVCA,@A+DPTR;查表

MOVP0,A;显示南北个位数

CLR

ACALLD1MS;延时1MS

SETB;灭南北个位数

MOVA,C_BIT;将东西要显示的10位数送A

MOVCA,@A+DPTR;查表

MOVP0,A;显示东西10位数

CLR

ACALLD1MS;延时1MS

SETB;灭东西10位数

MOVA,D_BIT;将东西要显示的个位数送A

MOVCA,@A+DPTR;查表

MOVP0,A;显示东西东西位数

CLR

ACALLD1MS;延时1MS

SETB;灭东西个位数

DJNZR1,DPLOP;循环扫描

DJNZR0,DPL1

RET;等待1秒返回

;显示

DISPLAY:

MOVA,TEMP3;将南北要显示的数存放到A

MOVB,#10;B=10

DIVAB;A除以B商存A,余数B

MOVB_BIT,A;将A放到20H

MOVA_BIT,B;将B放到21H

MOVA,TEMP4;将东西要显示的数存放到A

MOVB,#10;B=10

DIVAB;A除以B商存A,余数B

MOVC_BIT,A;将A放到22H

MOVD_BIT,B;将B放到23H

MOVDPTR,#NUMT;

MOVR0,#2;R0=2

DPL1:

MOVR1,#250;R1=250

DPLOP:

MOVA,A_BIT;将南北要显示的10位数送A

MOVCA,@A+DPTR;查表

MOVP0,A;显示南北10位数

CLR

ACALLD1MS;延时1MS

SETB;灭南北10位数

MOVA,B_BIT;将南北要显示的个位数送A

MOVCA,@A+DPTR;查表

MOVP0,A;显示南北个位数

CLR

ACALLD1MS;延时1MS

SETB;灭南北个位数

MOVA,C_BIT;将东西要显示的10位数送A

MOVCA,@A+DPTR;查表

MOVP0,A;显示东西10位数

CLR

ACALLD1MS;延时1MS

SETB;灭东西10位数

MOVA,D_BIT;将东西要显示的个位数送A

MOVCA,@A+DPTR;查表

MOVP0,A;显示东西东西位数

CLR

ACALLD1MS;延时1MS

SETB;灭东西个位数

DJNZR1,DPLOP;循环扫描

DJNZR0,DPL1

RET;等待1秒返回

D1MS:

MOVR7,#250;1MS延时程序

DJNZR7,$

RET;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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