基于单片机的交通灯控制系.docx

上传人:b****5 文档编号:8383847 上传时间:2023-01-30 格式:DOCX 页数:17 大小:618.29KB
下载 相关 举报
基于单片机的交通灯控制系.docx_第1页
第1页 / 共17页
基于单片机的交通灯控制系.docx_第2页
第2页 / 共17页
基于单片机的交通灯控制系.docx_第3页
第3页 / 共17页
基于单片机的交通灯控制系.docx_第4页
第4页 / 共17页
基于单片机的交通灯控制系.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于单片机的交通灯控制系.docx

《基于单片机的交通灯控制系.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系.docx(17页珍藏版)》请在冰豆网上搜索。

基于单片机的交通灯控制系.docx

基于单片机的交通灯控制系

目录

1摘要

2系统总体方案及硬件设计………………………………………………………1

2.1设计要求………………………………………………………………………1

2.2设计任务………………………………………………………………………1

2.3总体设计………………………………………………………………………1

2.4硬件设计………………………………………………………………………1

3软件设计……………………………………………………………………………6

3.1总体流程图……………………………………………………………………7

3.2子程序流程图…………………………………………………………………8

3.3循环控制思路……………………………………………………………………8

4Proteus软件仿真…………………………………………………………………9

4.1正常运行仿真…………………………………………………………………9

4.2紧急中断仿真………………………………………………………………9

4.3南北强制通行仿真……………………………………………………………10

4.4东西强制通行仿真……………………………………………………………10

5课程设计体会……………………………………………………………………11

6参考文献…………………………………………………………………………12

7附录………………………………………………………………………………13

7.1录源程序代码附

7.2系统原理图……………………………………………………………………19

 

摘要

本设计是单片机控制的交通灯控制系统设计随着社会经济的发展,城市交通问题越来越引起人们的关注。

人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。

城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。

所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。

当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。

它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。

现在我们利用“自动控制”控制交通灯的方法。

将事先编制好的程序输入单片机,利用单片机的定时、查询、中断功能;能够根据十字路口两个方向上车辆动态状况,采用查询的方式,根据具体情况,自动给予时间通行,其中利用中断方式来处理特殊情况。

这样既方便驾驶员、路人,同时还可以紧急处理一些紧急实况。

同样具有红、黄、绿灯的显示功能,为驾驶员、路人“照明”

2系统总体方案及硬件设计

 

2.1设计要求:

1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。

2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;

3)黄灯亮时,要求每秒闪亮一次。

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

5)一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统能立即让有车道放行。

2.2设计任务:

1)东西、南北车辆交替运行,时间可设置修改。

2)绿灯转为红灯时,黄灯闪亮(间隔1秒)。

3)能显示剩余时间。

4)能对交通运行进行控制。

2.3总体设计

 

2.4硬件设计

1)单片机选型:

AT89S52

与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:

0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

功能特性描述

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业AT89S52产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

8位微控制器8K字节在系统可编程AT89S52.

P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,

P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。

在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能

  P1.0T2(定时器/计数器T2的外部计数输入),时钟输出

  P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

  P1.5MOSI(在系统编程用)

  P1.6MISO(在系统编程用)

  P1.7SCK(在系统编程用)

  P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

 P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

端口引脚第二功能

  P3.0RXD(串行输入口)

  P3.1TXD(串行输出口)

  P3.2INTO(外中断0)

  P3.3INT1(外中断1)

  P3.4TO(定时/计数器0)

  P3.5T1(定时/计数器1)

  P3.6WR(外部数据存储器写选通)

  P3.7RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

RST——复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

引脚结构图如下所示:

 

2)复位电路:

上电+按钮

     

复位电路原理图

当AT89S52的ALE及/PSEN两引脚输出高电平,RST引脚高电平到时,单片机复位。

RST/VPD端的高电平,若直接由启动瞬间产生,则为启动复位,若通过按动按钮产生高电平复位称手动复位。

图中,上电时,接通电源,电容器C相当于瞬间短路,+5V加到了RST/VPD端,该高电平使8051全机复位。

若运行过程中,需要程序从头执行,只需按动按钮S,则直接把+5V加到了RST/VPD端,从而复位。

显然,该电路即可以上电复位,也可以手动复位,是常用复位电路之一。

3)晶振电路

晶振电路原理图

4)键盘:

独立键盘+中断

5)数码管显示:

LED7段码

3软件设计

3.1总体流程图

程序组成:

 

3.2紧急中断子程序流程图

 

3.3循环流程控制思路:

 

4Proteus软件仿真

4.1正常运行仿真图

4.2紧急中断仿真图

4.3南北强制通行仿真

4.4东西强制通行仿真图

课程设计体会

一个月的单片机课程设计很快就结束了,在这一月当中,虽然开始有点困难,但是经过我们们分工合作,合理地进行设计安排,再加上老师的耐心指导,我们们终于顺利地完成了本次单片机课程设计,同时也学到了很多东西。

在本次课程设计中,我们通过动手实践操作,进一步学习和掌握了单片机原理的有关知识,特别是程序的编程方面,加深了对单片机原理及应用技术的认识,进一步巩固了对单片机知识的理解,掌握简单单片机应用系统的设计、制作、调试的方法。

在设计时根据课题要求,复习相关的知识,查询相关的资料。

根据实验条件,找到适合的方案,找到需要的元器件及工具,进行实验。

这次的单片机课程设计重点是通过实践操作和理论相结合,提高动手实践能力,提高科学的思维能力,更在一周的时间了解了更多的有关单片机的知识,使知识更加丰富,使自己更加充实。

与此同时,我们也对团队分工合作有了进一步的认识,只有通过合理的分工合作,我们们才能够在短短一周的时间内完成设计任务,相信这对以后在社会上工作和学习会有很多帮助,让我们能更好的进入工作状态。

最重要的是,这次课程设计也增加了我们对问题的研究和探讨,们以后的学习中会有更多的帮助。

单片机为我们的主要专业课之一,但要做好一个课程设计,就必须做到:

在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我们受益终身。

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

我们们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

通过这次课程设计我们也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

在完成单片机课程设计后,我们们发现我们们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。

但通过学习这一次实践,增强了我们们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。

从中增强了我们的团队合作精神,并让我们们认识到把理论应用到实践中去是多么重要。

 

参考文献

 

[1]卢艳军.单片机原理及应用系统.北京:

机械工业出版社,2005.2

[2]余发山,王福忠等.单片机原理及应用.徐州:

中国矿业大学出版社,2007.5

[3]金显贺,王昌长,王忠东等.一种用于在线检测局部放电的数字滤波技术.清华大学学报(自然科学版),1993,33(4):

62-67

[4]刘国钧,陈绍业,王凤翥.图书馆目录.北京:

高等教育出版社,1957.15-18

[5]王明亮.关于中国学术期刊标准化数据库系统工程的进展.

[6]张洪润.单片机原理及应用系统.北京:

机械工业出版社,2004.2

[7]胡雪梅.单片机原理及应用.北京:

清华大学出版社,2009.5

[8]穆兰.单片机原理及接口技术.北京:

机械工业出版社,2006.5

 

7附录

7.1源程序代码

ORG0000H

AJMPSTART

ORG0003H

LJMPINT00

ORG0013H

LJMPINT10

START:

MOVSP,#60H

SETBEX0

SETBEX1

SETBEA

;LCALLST00

MAIN:

LCALLST10

LCALLST20

LCALLST30

LCALLST40

LJMPMAIN

ST00:

MOVA,#00

MOVP2,A

ST10:

MOVR7,#30

ST11:

MOVR0,#0DEH

MOVP2,R0

LCALLDELAY1S

RET

ST20:

MOVR4,#05

ST21:

MOVR0,#0DDH

MOVP2,R0

MOVR5,#05

L22:

LCALLDELAY01S;延时0.5S

DJNZR5,L22

MOVR0,#0DFH

MOVP2,R0

MOVR5,#05

L23:

LCALLDELAY01S;延时0.5S

DJNZR5,L23

DJNZR4,ST21

RET

ST30:

MOVR7,#20

MOVR0,#0F3H

MOVP2,R0

LCALLDELAY1S

RET

ST40:

MOVR4,#05

ST41:

MOVR0,#0EBH

MOVP2,R0

MOVR5,#05

L42:

LCALLDELAY01S;延时0.5S

DJNZR5,L42

MOVR0,#0FBH

MOVP2,R0

MOVR5,#05

L43:

LCALLDELAY01S;延时0.5S

DJNZR5,L43

DJNZR4,ST41

;JMPST10

RET

DELAY1S:

MOVR3,#50;R3存循环20ms的次数(50次)

CLRA

DIS0:

MOVA,R7

LCALLX0

DJNZR3,DIS0

DJNZR7,DELAY1S

RET

DELAY01S:

MOVR7,#05;R2存循环20ms的次数(5次)

CLRA

DIS1:

MOVA,R4

LCALLX0

DJNZR7,DIS1

RET

DELAY10MS:

MOVR2,#20;键扫描10ms子程序

DEL1:

MOVR6,#248

DJNZR6,$

DJNZR2,DEL1

MOVR6,#00

MOVR2,#00

RET

TAB:

DB3FH,06H,5BH,4FH

DB66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH

DB39H,5EH,79H,71H

DB40H,00H

X0:

MOVR6,A

MOVR1,#40HR3,R4,R5,

MOVA,R6

MOVB,#10

DIVAB

MOV@R1,A

INCR1

MOV@R1,B

MOVDPTR,#TAB

MOVA,@R1

MOVCA,@A+DPTR

MOVP0,A

CLRP3.7

LCALLDELAY10MS

SETBP3.7

DECR1

MOVDPTR,#TAB

MOVA,@R1

MOVCA,@A+DPTR

MOVP0,A

CLRP3.6

LCALLDELAY10MS

SETBP3.6

RET

INT00:

MOV36H,R7

PUSH36H

MOV37H,R0

PUSH37H

MOV39H,R3

PUSH39H

MOVR7,#10;紧急情况按钮,南北停止通行,均为红灯,持续10秒。

MOVP2,#0DBH

LCALLDELAY1S

POP39H

POP37H

POP36H

MOVR7,36H

MOVR0,37H

MOVP2,R0

MOVR3,39H

RETI

INT10:

MOV36H,R7;R7----XIANSHIMIAOSHU

PUSH36H;R0----p2显示灯的状态

MOV37H,R0;

PUSH37H

MOV38H,R6

PUSH38H

MOV39H,R3

PUSH39H

;JNBP3.4,SV1

;JNBP3.5,SV2

;RET

SV1:

MOVR7,#10;南北车流量多,切换成南北方向上运行

MOVR0,#0DEH

MOVP2,R0

LCALLDELAY1S

AJMPRETN

SV2:

MOVR7,#10;东西车流量多,切换成东西方向上运行

MOVR0,#0F3H

MOVP2,R0

LCALLDELAY1S

AJMPRETN

RETN:

POP39H

MOVR3,39H

POP38H

MOVR6,38H

POP37H

MOVR0,37H

POP36H

MOVR7,36H

RETI

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

当前位置:首页 > 人文社科 > 视频讲堂

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

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