单片机课程设计交通灯控制系统设计.docx

上传人:b****7 文档编号:9452965 上传时间:2023-02-04 格式:DOCX 页数:29 大小:218.71KB
下载 相关 举报
单片机课程设计交通灯控制系统设计.docx_第1页
第1页 / 共29页
单片机课程设计交通灯控制系统设计.docx_第2页
第2页 / 共29页
单片机课程设计交通灯控制系统设计.docx_第3页
第3页 / 共29页
单片机课程设计交通灯控制系统设计.docx_第4页
第4页 / 共29页
单片机课程设计交通灯控制系统设计.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

单片机课程设计交通灯控制系统设计.docx

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

单片机课程设计交通灯控制系统设计.docx

单片机课程设计交通灯控制系统设计

 

单片机课程设计报告

 

交通灯控制系统设计

 

摘要

本设计是针对交通灯系统的设计,由单片机AT89C51〔实物用AT89S52〕、键盘、LED显示、交通灯演示系统组成。

单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。

AT89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS8位单片机,40个引脚,片内含4KBFlashROM和128BRAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。

本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟产生方式。

对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。

对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。

系统包括人行道、左转、右转、以及根本的交通灯的功能.具体功能是假设A道和B道上均有车辆要求通过时,A、B道轮流放行。

A道放行25秒,B道放行20秒。

一道有车而另一道无车,交通灯控制系统能立即让有车道放行。

有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2开关模拟。

绿灯转换为红灯时黄灯亮1秒钟。

系统除根本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

 

附1:

源程序代码……………………………………………………………………………-13-

1概述

本设计是根据单片使机原理就交通灯的系统作出的,由于车辆的增多,所以交通灯在现代道路交通中起着越来越重要的作用。

为了解决这些问题,我们更应该提高交通控制和管理水平,合理使用现有交通设施,充分发挥其能力,提高交通效率,促进和谐交通的建立。

1.1交通灯的重要作用

交通灯在城市交通中起着重要的作用,它与人们日常生活密切相关,是人们出行的平安保障。

如今随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、平安、便捷的多功能交通灯控制系统有着现实的必要性。

该设计在熟练掌握单片机原理及其应用技术的使用方法根底上,综合应用单片机原理、微机原理、微机接口技术、proteus软件等课程方面的知识,设计一个采用AT89C51单片机控制的交通灯控制电路。

能方便的对交通灯进行控制,使交通更和谐。

1.2该交通灯系统的特点

本系统结构简单,操作方便;可实现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。

本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。

 

系统总体方案及硬件设计

2.1原理框图

根据设计功能及要求,我们可得系统的原理框图如图〔1〕所示。

2.2设计功能

1.完成交通灯的根本功能,结合实际情况,控制红、黄、绿交通灯的亮和灭.其工作流程是:

绿、黄、红分时间段开通,循环往复,计时电路以秒为单位作倒计时,计数为0时进行切换,计时时间可由LED数码管显示〔需符合交通规那么〕;

2.红、黄、绿交通灯的亮和灭的时间可调节;

3.假设有交通异常情况,可以通过按键处理目前的紧急状态;

4.采用LED数码管显示红或绿交通信号灯亮的剩余时间;

5.通过按键设定红和绿交通信号灯亮一次的总时间;

6.控制东西方向和南北方向的红、黄、绿交通灯的亮和灭;

7.夜间控制功能,按键进入夜间模式,黄灯闪亮;

8.控制系统的原理图和接线图采用PROTEL,PROTEUS等专用绘图软件绘制。

2.3交通灯控制系统各局部硬件组成

2.3.1复位局部

复位电路采用上电+按钮电平复位是上电复位与按钮复位的组合,当振荡频率是6MHz时,电容C取22

uf,R取1K

,Rs取200

左右。

上电瞬间复位端〔RST/Vpd〕的电位与Vcc相同,随着充电电路电流的减少,RST/Vpd的电位下降,最后为0V,当按钮按下后,电源Vcc通过电阻R,施加在单片机复位端RST/Vpd上实现复位,电路连接图如图〔2〕:

复位电路〔2〕

2.3.2时钟电路局部

本系统采用内部时钟产生方式:

在和两端跨接陶瓷谐振器,与内部反相器构成稳定的自激振荡器采。

晶振采用12MHz的振荡频率和两个30Pf瓷片电容C1、C2,两个电阻对频率有微调作用。

其电路如图〔3〕

时钟电路〔3〕

2.3.3路口指示灯局部

采用红黄绿三种颜色的发光二极管共12个分为4组代表路口的交通灯〔电路图中用两组示意〕.其中每两组控制一个路口,具体时序如表1:

表1:

方向

灯色

东西

南北

红灯

5

4

黄灯

1

1

绿灯

3

4

2.3.4显示局部

采用四位一体共阴数码管,分别显示南北和东西灯的剩余时间.片选局部和数码段显示局部,分别接单片机管脚的P2口和P0口,具体的共阴数码管管脚分布位置见图〔4〕.

2.4元器件清单

如表2:

器件名称

型号大小

数量

单片机

AT89S52

1

晶振

12MHz

1

LED数码管

四联共阴

1

电解电容

22uF

1

瓷片电容

30pF

2

排阻

470Ω

1

电阻

470Ω

1

发光二极管

4

4

绿

4

开关

按键式

4

3软件设计

3.1

交通灯控制系统软件流程图及程序分析

3.1.1主程序流程图及程序模设计

该交通信号灯控制系统的四中工作状态如图〔5〕所示〔南北方向的交通灯为例〕:

〔1〕东西方向车道红灯亮,南北方向车道绿灯亮。

表示东西方向车道上的车辆禁止通行,南北方向车道允许通行。

绿灯亮足规定的时间隔时,控制器发出状态信号,转到下一工作状态。

〔2〕东西方向车道红灯亮,南北方向车道黄灯闪亮。

表示南北方向车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,东西方向车道禁止通行。

黄灯闪亮足规定时间间隔时,控制器发出状态转换信号,转到下一工作状态。

   〔3〕东西方向车道绿灯亮,南北方向车道红灯亮。

表示东西方向车道允许通行,南北方向车道上的车辆禁止通行,绿灯亮足规定的时间间隔时,控制器发出状态转换信号,转到下一工作状态。

   〔4〕东西方向车道黄灯闪亮,南北方向车道红灯亮。

表示南北方向车道禁止通行,东西方向车道上位过限停车线的车辆停止通行,已过停车线的车辆继续通行。

黄灯闪亮足规定的时间间隔时,控制器发出状态转换信号,系统又转换到第〔1〕种工作状态。

3.1.2INT0中断效劳程序流程图及程序模设计

INT0与K2连接,另一端与地连接。

按下K2,东西南北四个方向全红,也就是说,东西南北四个通道都不能通车,这是紧急情况,但救护车等特殊车辆可以通过。

K0与AT89C52的25管脚相连。

K1与P2.5相接,K3与P2.6相接,K2与P3.2相接。

在按下K2的前提下,按

按下K0,如果3秒中之内没有按键,那么交通灯恢复正常。

50ms中断计算方法(适用于12MHz晶振):

T0的计数初值:

X0=M-计数值

2

=M-Tc/TP

=M-(Tc×fosc)/12

=65536-(50ms×1SMHz/12)

=15536

≈15535

=3CB0H

其中单元存放3s钟控制标志位单元存放1s控制标志位;控制标志位

60H和61H单元分别存放产生1s和3s的中断次数,当它们单元中的值为零时,分别表示1s和3s到,对单元和4F.0H单元进行置1,

由于采用工作模式1,所以每次中断后,一定在中断程序中重装记数初值.

3.2路口指示灯局部

用P1端口作为输出端口,用到端口分别控制东西和南北两组灯的状态低电平点亮,具体端口功能如下:

控制东西红灯的亮灭

控制东西绿灯的亮灭

P1.2控制东西黄灯的亮灭

控制南北红灯的亮灭

控制南北绿灯的亮灭

控制南北黄灯的亮灭

具体的程序我们以点亮东西红灯东南北绿灯为例:

MOVP1,#0EEH

其余局部根据硬件不同而修改#0EEH的值.

3.3显示局部

四位一体共阴数码管的片选局部由到提供,码段局部由到控制.

其中控制东西剩余时间的十位数的显示控制东西剩余时间的个位数的显示控制南北剩余时间的十位数的显示控制南北剩余时间的个位数的显示.低电平选中.

到控制分别控制点亮数码段的A段到H段,通过查共阴极数码段码表,将它们的数值送到P0口,与到口结合,可以显示不同方向不同位数的各个数值.

例如,显示东西剩余时间的十位程序如下:

MOVP2,#0FEH选择十位程序

MOVP0,A向P0口送段码的程序

4.Proteus软件仿真

根据设计需要和上述框图,我们可得到交通灯控制系统各过程仿真图如下列图所示

图〔7〕紧急情况时

图〔8〕东西方向变黄灯,南北方向禁行

图〔9〕南北方向通车,东西方向禁行

图〔10〕南北方向禁行,东西方向通车

5课程设计体会

该交通灯系统是以单片机89C52芯片为核心部件,实现了能根据实际车流量通过89C51芯片设置及控制红、绿灯燃亮时间来进行交通控制。

本次课程设计使我对单片机的工作原理有了更深刻的认识,例如对复位电路、晶振电路的理解。

我深刻的理解到单片机的价值在于灵活运用它的IO端口以及其千变万化的程序。

本设计中我们用IO端口驱动数码管以及引接外部开关。

掌握了许多在以前学习中混淆不清的知识点。

仿真实验,不仅锻炼了自己的动手能力,而且真正作到了理论联系实际的重要性,体会到了其中失败与成功的滋味,收益匪浅。

同时在焊接单片机电路板时使我在制作上更加的熟练,经过不断的试验二极管终于我的灯亮了,当我看到我亲手制作的板子亮时,我的心中非常冲动。

同时,我也认识到自己的知识缺乏,例如,有时不能正确认识、合理使用中断程序,这将是我以后努力提高的方面。

参考文献

[1].?

单片机原理与应用技术?

余发山主编中国矿大出版社2007

[2].?

微型计算机控制技术?

赖寿宏主编机械工业出版社2002

[3].?

单片机原理及应用?

丁元杰主编机械工业出版社2001

[4].?

单片机中级教程?

张迎春主编北京航空航天出版社2004

[5].?

基于单片机的交通信号控制系统?

欧伟民湖南大学学报(自然科学版)2002,(S2

附1:

源程序代码

ORG0000H

LJMPSTART

ORG0003H

LJMPINT0

ORG000BH

LJMPT0

ORG001BH

LJMPT1

ORG0100H

START:

MOVSP,#30H

MOV40H,#30;东西红灯时间

MOV41H,#20;东西绿灯时间

MOV42H,#25;南北红灯时间

MOV43H,#25;南北绿灯时间

MOVTMOD,#11H;定时器初始化

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTH1,#3CH

MOVTL1,#0B0H

MOV60H,#20

MOV61H,#60

MOV62H,#10

MOV63H,#2

CLR4EH

CLR4FH

CLR4DH

SETBEA

SETBEX0

SETBET0

SETBET1

SETBPT1

SETBTR0

DISPLAY1:

MOVP1,#0EEH;显示东西红灯与南北绿灯时间

MOVR3,40H

MOVR4,43H

LOOP1:

MOVA,R3

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FEH

MOVP0,A

LCALLDELAY;东西道显示时间的十位

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0FDH

MOVP0,A

LCALLDELAY;东西道显示时间的个位

MOVA,R4

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FBH

MOVP0,A

LCALLDELAY;南北显示时间的十位

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0F7H

MOVP0,A

LCALLDELAY;南北显示时间的个位

JNB4FH,LOOP1

CLR4FH

DECR3

DECR4

CJNER4,#0FFH,LOOP1

kkk1:

MOVP1,#0DEH;南北绿灯灭黄灯亮

LOOP2:

MOVA,R3

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FEH

MOVP0,A

LCALLDELAY

MOVP2,#0FBH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0FDH

MOVP0,A

LCALLDELAY

MOVP2,#0F7H

MOVP0,A

LCALLDELAY

JNB4DH,LOOP2

CLR4DH

DJNZ63H,Kkk2

MOV63H,#2

DECR3

CJNER3,#0FFH,Kkk2

LJMPA1

Kkk2:

MOVP1,#0FEH;南北绿灯灭黄灯也灭。

kkk1、Kkk2控制黄灯闪亮

A2:

MOVA,R3

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FEH

MOVP0,A

LCALLDELAY

MOVP2,#0FBH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0FDH

MOVP0,A

LCALLDELAY

MOVP2,#0F7H

MOVP0,A

LCALLDELAY

JNB4DH,A2

CLR4DH

DJNZ63H,kkk1

MOV63H,#2

DECR3

CJNER3,#0FFH,Kkk1

 

A1:

MOVP1,#0F5H;东西红灯时间到,南北绿灯亮,南北红灯亮

DISPLAY2:

MOVR3,41H;显示东西绿灯,南北红灯时间

MOVR4,42H

LOOP3:

MOVA,R3

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FEH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0FDH

MOVP0,A

LCALLDELAY

MOVA,R4

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FBH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0F7H

MOVP0,A

LCALLDELAY

JNB4FH,LOOP3

CLR4FH

DECR3

DECR4

CJNER3,#0FFH,LOOP3

KKK5:

MOVP1,#0F3H

LOOP4:

MOVA,R4;显示南北红灯,东西黄灯时间

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FEH

MOVP0,A

LCALLDELAY

MOVP2,#0FBH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0FDH

MOVP0,A

LCALLDELAY

MOVP2,#0F7H

MOVP0,A

LCALLDELAY

JNB4DH,LOOP4

CLR4DH

DJNZ63H,KKK5

MOV63H,#2

DECR4

CJNER4,#0FFH,A7

LJMPDISPLAY1

A7:

MOVP1,#0F7H;显示南北红灯,东西黄灯灭,KKK5、A7控制黄灯闪亮

A8:

MOVA,R4

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FEH

MOVP0,A

LCALLDELAY

MOVP2,#0FBH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0FDH

MOVP0,A

LCALLDELAY

MOVP2,#0F7H

MOVP0,A

LCALLDELAY

JNB4DH,A8

CLR4DH

DJNZ63H,KKK5

MOV63H,#2

DECR4

CJNER4,#0FFH,KKK5

LJMPDISPLAY1

 

;;;;;;;;;;;;定时器中断;;;;;;;;;;;;

T0:

PUSHACC

PUSHB

PUSHPSW

MOVTH0,#3CH

MOVTL0,#0B0H

DJNZ62H,OVER100

MOV62H,#10

SETB4DH

OVER100:

DJNZ60H,OVER

MOV60H,#20

SETB4FH

OVER:

POPPSW

POPB

POPACC

RETI

T1:

PUSHACC

PUSHB

PUSHPSW

MOVTH1,#3CH

MOVTL1,#0B0H

DJNZ61H,OVER1

MOV61H,#60

SETB4EH

OVER1:

POPPSW

POPB

POPACC

RETI

;;;;;;;;;;;;;INTO中断修改;;;;;;;;;;

INT0:

PUSHACC

PUSHB

PUSHPSW

MOVA,P1

PUSHACC

MOVP1,#0F6H;东西南北道红灯皆亮

CLREX0

CLRTR0

LCALLDELAY;按键消抖

JBP3.2,OK

LJMPDISPLAY3

OK:

LJMPOVER2

 

DISPLAY3:

MOVR5,40H;东西红灯南北绿灯最大时间值的数码管显示

MOVR6,43H

MOVA,R5

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FEH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0FDH

MOVP0,A

LCALLDELAY

MOVA,R6

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FBH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0F7H

MOVP0,A

LCALLDELAY

MOVA,P2

ANLA,#70H;在没按下K0的情况下,根据K1、K3按下的情况对各道的红绿灯亮的时间进行调节

CJNEA,#70H,DES3

LJMPDISPLAY3

DES3:

LCALLDELAY

CJNEA,#70H,DES4

DES4:

JNBACC.4,DES7

JNBACC.5,ADD1

JNBACC.6,DEC1

DES7:

JNBP2.4,DES7

LJMPDISPLAY5

ADD1:

JNBP2.5,ADD1

INC40H

INC43H

LJMPDISPLAY3

DEC1:

JNBP2.6,DEC1

DEC40H

DEC43H

LJMPDISPLAY3

DISPLAY5:

SETBTR1

DISPLAY4:

MOVR5,41H;东西绿灯南北红灯最大时间值的数码管显示

MOVR6,42H

MOVA,R5

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FEH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0FDH

MOVP0,A

LCALLDELAY

MOVA,R6

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP2,#0FBH

MOVP0,A

LCALLDELAY

MOVA,B

MOVCA,@A+DPTR

MOVP2,#0F7H

MOVP0,A

LCALLDELAY

MOVA,P2

ANLA,#70H

CJNEA,#70H,DES5

JNB4EH,DISPLAY4

LJMPOVER2

DES5:

LCALLDELAY

CJNEA,#70H,DES6

DES6:

JNBACC.4,DIS3;根据K1、K3按下的情况对各道的红绿灯亮的时间进行调节

JNBACC.5,ADD2

JNBACC.6,DEC2

LJMPDISPLAY4

DIS3:

JNBP2.4,DIS3

CLRTR1

MOVTH1,#3CH

MOVTL1,#0B0H

MOV61H,#60

LJMPDISPLAY3

ADD2:

JNBP2.5,ADD2

MOVTH1,#3CH

MOVTL1,#0B0H

MOV61H,#60

INC41H

INC42H

LJMPDISPLAY4

DEC2:

JNBP2.6,DEC2

MOVTH1,#3CH

MOVTL1,#0B0H

MOV61H,#60

DEC41H

DEC42H

LJMPDISPLAY4

 

OVER2:

CLR4EH

CLRTR1

MOVTH1,#3CH

MOVTL1,#0B0H

SETBEX0

SETBTR0

POPACC

MOVP1,A

POPPSW

POPB

POPACC

RETI

TAB:

DB3FH

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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