51单片机c语言交通灯设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

xxxxxxxxx

基于AT89S52交通灯设计

学院:电子信息工程

专业班级: xxxxxxxxxxxxxx

姓名: xx xx

学号: xxxxxxxxxxx

指导老师: xxxxxxxxxx

摘要

交通灯在我们日常生活中随处可见,它在交通系统中处于至关重要的位置。交通灯的使用大大减少了交通繁忙路口的事故发生,给行人和车辆提供一个安全

的交通环境,人们的生命和财产安全有了保障。本设计旨在模拟十字路口的交通灯,以AT89S51单片机为基础,结合按键和数码管等元器件设计出一个简单且完全的交通灯系统。

关键词:交通灯 AT89S52 单片机

目录

一、设计任务 (4)

二、AT89S52单片机及其他元器件简介 (4)

(1)AT89S52单片机 (4)

三、系统硬件电路设计 (6)

(1)时钟电路设计 (6)

(2)复位电路设计 (6)

(3)灯控制电路设计 (7)

(4)按键控制电路设计 (7)

四、元件清单及实物图 (8)

1、程序清单 (8)

2、原理图 (9)

五、实验心得 (9)

附1 源程序代码 (10)

附2 原理图 (16)

一、设计任务

(1)、设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两条交叉道路上的车辆交替运行,每次通行时间都设30秒,时间可设置修改。

(2)、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道,且黄灯亮时,要求每秒亮一次。

(3)、有紧急车辆要求通过时,系统要能禁止东西和南北两条路上所有的车辆通行。

二、AT89S52单片机及其他元器件简介

(1)AT89S52单片机

AT89S52是一种低功耗、高

性能CMOS8位微控制器。片上

Flash允许程序存储器在系统可

编程,亦适于常规编程器。在单芯

片上,拥有灵巧的8位CPU和在系

统可编程Flash,使得AT89S52为

众多嵌入式控制应用系统提供高

灵活、超有效的解决方案。AT89S52

具有以下标准功能:8K字节

Flash,256字节RAM,32位I/O

口线,看门狗定时器,2个数据指

针,三个16位定时器/计数器,一

个6位向量2级中断结构,全双工

串行口,片内晶振及时钟电路。空

闲模式下,CPU停止工作,允许

RAM、定时器计数器、串口、中断

继续工作。鉴于以上的优点本系统

采用AT89S52作为主控芯片,实现

对整个系统的控制。

(2)芯片74LS245

74LS245是我们常用的芯片,用来驱动led

或者其他的设备,它是8路同相三态双向总线收

发器,可双向传输数据。当19脚E为H时,A、B

为高阻。E为L时,DIR为L时,数据由B传向A;

DIR为H时,由A传向B。

(3)两位共阴数码管

16脚和11脚对应A、15

脚和10脚对应B、3脚和8脚

对应C、2脚和6脚对应D、1

脚和5脚对应E、18脚和12脚

对应F、17脚7脚对应G、4脚

和9脚对应DP。公共脚为14

脚和13脚,分别对应左边和右

边显示的数字。

三、系统硬件电路设计

(1)时钟电路设计

如图所示,采用内部

时钟产生方式,在XTAL1

和XTAL2两端跨接晶体或

陶瓷振荡器,与内部反相

器构成稳定的自击震荡。

其发出的时钟脉冲直接送

入片内定时控制部件。(2)复位电路设计

如上图所示,采用上电+按钮电平复位方式,当按下按钮时,RST管脚高电平触发。为保证复位可靠,RC时间常数应大于两个机器周期,电容取10uf,电阻取1000欧。

(3)灯控制电路设计

如上图所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。通过软件编程,可使路口交通变化情况为:南北方向和东西方向两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒。在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;黄灯亮时每秒闪亮一次。

(4)按键控制电路设计

开关控制由7个连接到单片机的控制按钮组成。通过软件编程,使得各个开关的功能如上图所示,基本满足了交通灯的需要。

四、元件清单及实物图

1、程序清单

2、原理图

五、实验心得

这次交通灯的制作是我学会了不少的东西,首先是proteus和keil的使用。单片机程序的编写和原理图的仿真都是在这两个软件的运行下才可以进行的。这个实验最重要的是让我对51系列的单片机有了更深层次的了解,这一学期开接触单片机的时候觉得这是一门极其高深的课程,老师讲的什么基本完全不懂,课后看仍旧是一头雾水。通过交通灯的学习和制作,对单片机有了初步的了解,知道了它的组成、工作原理等等。

在软件编写这一块,开始时遇到了很大的难题,因为两百行的程序,哪怕有一个错误,修改起来也不是十分方便。时常没有心思去寻找和改正错误,所以软件这一块花了很大的一部分时间。几次调试后总算出现“0 warning”和“0 error”的字样。

焊接也是比较麻烦,由于万能板买小了,再加上需要连接的线有很多根,所以首先必须考虑到元器件的排布问题,尽量让自己的焊接的时候方便一点。借鉴别人的经验,数码管和排阻之间用排线相连接,很大程度上节省焊接的时间,并且让板子看起来更加整洁、美观。

除了学会很多东西以为,也发现了自己的不足。由于自己在这一方面只是的短缺,所以很多问题都需要查阅资料或者向别的同学请教。比如说proteus和keil的使用方法,都是看着别人操作几遍之后才慢慢学会。还有在焊接这一方面也存在着很大问题。由于焊接在万能板反面,所以有时候会把单片机的引脚看

相关文档
最新文档