【无标题】基于AT89C52单片机十字路口交通灯设计报告

avatar
作者
猴君
阅读量:0

目录

1.设计目的、作用

(1)目的

(2)作用

2.设计要求

3.设计的具体实现

3.1设计原理

3.2系统设计

3.3系统实现

3.4软件设计

参考文献

附录

附录1

附录2

基于AT899C52单片机交通灯设计报告

1.设计目的、作用

(1)目的

交通灯课程设计的主要目的是为了让我们在实际操作中理解和掌握交通灯的工作原理和设计理念。通过这个课程设计,我们将深入了解交通灯的控制系统,包括如何通过编程实现红、黄、绿三种颜色的转换,以及如何根据车流量和道路状况调整信号灯的配时。此外,这个课程设计还能帮助我们培养解决实际问题的能力,提高他们的创新思维和实践能力。

(2)作用

增强理论知识:交通灯课程设计能够让我们在实际操作中运用所学的理论知识,例如电路设计、编程语言和信号处理等。通过实践,我们可以更深入地理解这些理论知识,并将其转化为实际操作能力。

提高动手能力:这个课程设计需要我们亲自动手进行电路设计和编程等操作,这将极大地提高我的动手能力和操作技能。这些技能在学生未来的工作和学习中都将发挥重要作用。

培养创新思维:在交通灯课程设计中,学生需要根据实际情况自行设计解决方案,这将有助于培养学生的创新思维和解决问题的能力。在当今社会,创新思维和解决问题的能力已经成为评价人才的重要标准。

提升职业竞争力:通过参与交通灯课程设计,我们能够获得宝贵的实践经验,这将有助于提升他们的职业竞争力。在求职过程中,有实践经验的学生往往更受欢迎。

服务社会:交通灯是城市交通管理的重要工具,通过设计合理的交通灯控制系统,可以提高道路的通行效率,减少交通拥堵和事故。因此,交通灯课程设计还有助于为社会做出贡献。

总的来说,交通灯课程设计是电子信息工程专业的一门重要实践课程,通过这门课程的学习和实践,我们将能够获得丰富的理论知识和实践经验,提高我们的职业竞争力,并为社会的交通管理做出贡献。

2.设计要求

按键1为交通灯“深夜模式”开/关,按下后进入深夜模式,4个方向LED(黄)闪烁;再次按下后则退出深夜模式,交通灯正常运行。

按键2为“时间调整”开/关,上电后,交通灯正常运行,按下此按键后,进入调时模式,此时按键3和4均有效。

按键3为通行“时间加”,按键4为通行“时间减”。

设定好通行时间后,按键2再次按下,退出调时模式。

交通灯设置好正常运行时,按键3和按键4均无效。

3.设计的具体实现

3.1设计原理 

(1)AT89C52单片机

AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

图3-1 P1.0,P1.1功能

图3-2 AT89C52引脚图

数码管

数码管也称LED数码管,数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个(8)可分为1位、2位、3位、4位、5位、6位、7位等数码管。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

驱动方式:分静态显示驱动和动态显示驱动两种方式。静态驱动也称直流驱动。

图3-3 数码管段选示意图

图3-4数码管共阴与共阳字符段码示意图

3.2系统设计

(1)时钟电路

此次设计的时钟电路由一个12MHz的晶振和两个30PF的陶瓷贴片电容组成。AT89C52芯片内部有一个高增益反相放大器,用于构成振荡器。引线XTAL1和XTAL2分别为反向放大器的输入和输出,两端跨接石英晶体及两个电容就可构成稳定的自激振荡器。而电容器C6,C7起稳定振荡频率,并对振荡频率有微调作用,C6和C7可在20-100PF之间取值,这里取30PF。电路如图3-5所示。

图3-5 时钟电路

(2)复位电路

在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可

以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。按键按下的时候复位原理:

在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。

图3-6 复位电路

(3)数码管显示电路

数码管有段选与位选两个使能端,由于采用共阴极数码管,要把数码管点亮,就必须给位选选通,至于显示什么数字,只需给段选输入数据即可。通过给AT89C52单片机P2口送入初始值,并用P2来控制段选位,P3.0、P3.1、P3.6、P3.7口来控制位显来实现动态显示,来显示各灯所在状态的显示时间。AT89C52单片机的P1口的三个端口接主干道的红、绿、黄灯,显示燃亮情况,通过4个八段显示器显示每个灯的燃亮时间,使灯和显示器时间同步。

在设计中,我们采用LED数码管动态显示,用P2口驱动显示。其中单片机P2口与数码管各引脚之间的连接关系分别为:

Ø P2.0------a

Ø P2.1------b

Ø P2.2------c

Ø P2.3------d

Ø P2.4------e

Ø P2.5------f

Ø P2.6------g

Ø P2.7------h

Ø P3.0-----1

Ø P3.1-----2

P3.6-----3

Ø P3.7-----4

图3-7 数码管显示电路

(4)开关控制电路

本次开关控制电路运用了四个开关,开关一是用来控制进入深夜模式,开关二是进入调时模式,开关三是进入调时模式后的时间加,开关四是进入调时模式后的时间减。

开关对应AT89C52单片机引脚:

P3.2------开关一

P3.3------开关二

P3.4------开关三

P3.5------开关四

当按一次开关二后,红绿灯进入调节南北绿灯时间,按开关三增加南北绿灯通行时间,按开关四减少南北绿灯通行时间。

当按两次开关二后,红绿灯进入调节东西绿灯时间,按开关三增加东西绿灯通行时间,按开关四减少东西绿灯通行时间。再按一次开关二进入正常模式,红绿灯正常闪烁。

图3-8 开关控制电路

(5)红绿灯显示电路

红绿灯显示电路由四组红绿灯组成,每个红绿灯接入一个100欧的电阻,防止LED灯被损坏,东西两组红绿灯和南北两组红绿灯分别组成两大组红绿灯。因为当绿灯快结束时,会变成黄灯,所以红灯的秒数比绿灯要快4秒,当南北的绿灯倒计时结束时,南北的绿灯会变成黄灯,并生成三秒倒计时,黄灯三秒倒计时结束时,南北变成红灯,东西变成绿灯,并再次进行循环。还可以通过开关来控制红绿灯是否进入深夜模式和东西南北方向的绿灯通行时间。

红绿灯对应AT89C52单片机引脚:

P1.0------南北红灯

P1.1------南北黄灯

P1.2------南北绿灯

P1.3------东西红灯

P1.4------东西黄灯

P1.5------东西绿灯

图3-9 红绿灯显示电路

3.3系统实现

(1)实物图

该实物图由1块AT89C52单片机、4组红黄绿灯、4个调节开关、1个复位开关、1个4位共阴极数码管、2个电容、1个晶振、1个电解电容、12个100欧姆的电阻、1个10k欧姆的电容、若干导线组成。

数码管段选接单片机P2脚,数码管位选接单片机的P3.0、P3.1、P3.6、P3.7脚。晶振接单片机18、19脚。单片机20脚接地,40脚接+5v。

东南红绿灯由P1.0、P1.1、P1.2控制,南北红绿灯由P1.3、P1.4、P1.5控制,开关1接P3.2为深夜模式开关,控制深夜模式的开启与结束,开关按下后4个方向LED(黄)闪烁。开关2接P3.3为时间调整开关上电后,交通灯正常运行,按下此按键后,进入调时模式,此时按键3和4均有效。开关3为通行“时间加”,开关4为通行“时间减”。设定好通行时间后,开关2再次按下,退出调时模式。交通灯设置好正常运行时,按键3和按键4均无效。

图3-10 实物图

(2)正常模式

接通电源后红绿灯开始工作,数码管的第一和第二位显示南北方向的时间,数码管第三第四位显示东西方向的时间,因为当绿灯结束时该方向上的黄灯会亮四秒,所以另外一个方向上的红灯倒计时会比这个方向上的绿灯倒计时多四秒。

图3-11 正常模式原运行图

图3-12 正常模式运行图

(3)深夜模式

当按下开关1时交通灯进入深夜模式,红灯和绿灯熄灭,黄灯进入不断闪烁状态,下图为深夜模式下交通灯黄灯交替闪烁实物图

图3-13深夜模式黄灯灭

图3-14 深夜模式黄灯亮

(4)调时模式

南北调时

进入调时模式后按一下开关2首先进入南北调时,此时开关3与开关4将可以对南北的绿灯时间进行增加和减少。再按两下将退出东西调时进入正常模式。

图3-15 南北调时原值

图3-16 南北调时增加

东西调时

进入调时模式后按两下开关2将进入东西调时,此时开关3与开关4将可以对东西的绿灯时间进行增加和减少,再按一下将退出东西调时进入正常模式。

图3-17 东西调时原值

图3-18 东西调时增加

3.4软件设计

(1)定义引脚,编写数码管数字显示代码,定义红绿灯的显示时间和自由调整时间代码。

图3-19 定义引脚

(2)延时函数,控制红绿灯亮灭,设置红绿灯出初始时间。

图3-20 延时函数,控制路灯

(3)数码管显示各个路口红灯和绿灯的剩余时间程序。

图3-21 显示路口时间

(4)主程序,设置定时器,调节东西时间程序,调节南北时间程序。

图3-22 主程序

图3-23 主程序

图3-24 主程序

(5)深夜模式程序

图3-25 深夜模式

总结

在这次单片机交通灯课程设计中,我深入地学习了单片机的应用,以及如何通过编程实现交通灯的控制。整个过程充满了挑战,但也让我收获颇丰。

单片机,作为一种微型计算机,在各种控制系统中发挥着至关重要的作用。在交通灯控制中,单片机能够根据预设的程序,对红绿灯的亮灭进行精确控制,确保交通流畅且安全。在课程设计中,我首先学习了单片机的硬件结构和工作原理,了解了其与外围设备的接口技术。接着,我通过编程语言对单片机进行编程,实现交通灯的红、黄、绿三种颜色的亮灭控制。同时,我还学习了如何使用Kei软件进行程序的编写和调试。

在实践过程中,我遇到了许多问题。例如,如何确保红绿灯的切换时间准确无误?如何可以让某一个方向的绿灯通行时间增加或者减少?如何让深夜模式可以完美的运行不出现错误?这些问题让我不断地思考和尝试,通过反复试验和调整,我逐渐找到了解决的方法。

通过这次课程设计,我深刻地认识到了单片机在交通控制中的重要性。同时,我也学会了如何运用所学知识解决实际问题。这不仅提高了我的动手能力,也增强了我的创新思维和解决问题的能力。未来,我希望能够进一步深入研究单片机的应用,探索其在智能交通系统中的更多可能性。我相信,随着科技的发展,单片机将在我们的生活中发挥更加重要的作用。

参考文献

[1]·李广弟等·单片机基础·北京航空航天出版社· 2001.7

[2]·楼然苗等·51 系列单片机设计实例·北京航空航天出版社,·2003.3

[3]·唐俊翟等·单片机原理与应用·冶金工业出版社· 2003.9

[4]·刘瑞新等·单片机原理及应用教程·机械工业出版社· 2003.7

[5]·吴国经等·单片机应用技术·中国电力出版社·2004.1

[6]·李全利,迟荣强编著·单片机原理及接口技术·高等教育出版社·2004.1

[7]·侯媛彬等·凌阳单片机原理及其毕业设计精选v2006年·科学出版社

[8]·罗亚非·凌阳十六位单片机应用基础2003年·北京航空航天大学出版社

[9]·北京北阳电子有限公司·061A凌阳单片机及其附带光盘·2003年

[10]·张毅刚等·MCS-51单片机应用设计·哈工大出版社·2004年第2版

附录

附录1

原理图

实物图正面

实物图反面

附录2

名称

规格

数量

名称

规格

数量

电阻

10k

1

按键

5

电阻

100Ω

13

红色LED

4

瓷片电容

30p

2

黄色LED

4

晶振

12MHz

1

绿色LED

4

数码管

0.4寸

1

单片机

STC89C52

1

以下是完整程序

#include<reg51.h>

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!