基于89C51单片机的十字路口交通灯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书
题目十字路口交通灯设计
学院名称 xxxxxxxxxxxxxxxxx 指导教师 xxxx
班级 14级电梯1班
学号 *********xxxxx
学生姓名xxxxxxxx
目录
1 设计目的和方案 (3)
1.1设计目的 (3)
1.2设计方案 (4)
1.3设计任务 (5)
1.4设计流程图 (5)
2 功能说明 (6)
3 硬件设施及简介 (6)
4 电路原理及说明 (7)
4.1 总电路原理图 (7)
4.2 系统仿真及实际调试 (8)
5 总结 (8)
6 附录 (9)
基于AT89C51单片机的十字路口交通灯设计
xxxx 2016 6
1 设计目的和方案
1.1设计目的
近年来随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先导的信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效的结合并发挥其作用。单片机作为计算机技术的一个分支,正在不断的应用到实际生活中,同时带动传统控制检测的更新。在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件使用,针对具体应用对象的特点,配以其它器件来加以完善。现代社会有越来越多的人开始有了自己的私家车,同时,便有了交通拥挤的问题,如何在车流量巨大的十字路口保证车辆畅行,交通灯便起到了巨大的作用。实际上,1858年,英国伦敦就有了最早的然煤气交通灯,至今,交通灯已经普及到世界各地,成为社会生活中不可或缺的装置。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1.2设计方案
设计方案如下表所示。
1.3设计任务
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三个指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。红灯和绿灯的设计时间各13秒,直走和右转灯为13秒,左转灯为5秒,黄灯为闪烁2秒。
程序设计确定为交通灯后,
根据设计要求,通过ISIS
画出电路图,由电路图和
设计要求通过keil编写汇
编语句并调试,调试成功
生成*.HEX文件,打开ISIS
选择单片机将*.HEX文件添
加进源文件,然后进行调
2 功能说明
该电子产品实现的功能:本系统除基本交通灯功能以外,还有倒计时等功能,较好的模拟了十字路口出现的状况。
具体功能如下:
(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,
此道车辆通过,行人禁止通行。时间为13秒。
(2)黄灯闪烁2秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道可供直走和右转车辆通行;南北方向为红灯,南北道车辆禁止通过,可行人通行,时间为13秒。东西方向车流大通行时间长。15秒后东西南北红灯人行道灯红灯全亮,5秒时间可供东西方向的车辆左转。
(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
3 硬件设施及简介
L E D红黄绿灯 4 交通灯红绿灯
电源 1
地线 1
导线若干连接各种部件
红色和黄色的LED灯若干转向灯和人行道
灯
电阻若干连接各种LED灯
4 电路原理及说明
4.1总电路原理图
绘制出所做作品的原理图如下图所示。
4.2 系统仿真及实际调试
程序仿真是基于proteus软件的,仿真结果如下图所示
5 总结
在进行过程中遇到的问题及解决方法:
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
在进行过程中,遇到很多困难与问题,例如程序不会写,仿真不出结果,结果不正确等问题,但是困难总是有办法解决的,通过查询网络,请教同学等方式,改编出了源程序,请教同学做出来了仿真结果。为以后的课设继续进行打好了基础。
作为一名电梯专业的大二学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。
我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。
6 附录
程序如下
#include
#define uchar unsigned char
#define uint unsigned int
uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; sbit RED_A=P0^0;
sbit YELLOW_A=P0^1;
sbit GREEN_A=P0^2;
sbit RED_B=P0^3;
sbit YELLOW_B=P0^4;
sbit GREEN_B=P0^5;
sbit GREEN_Vgo=P0^6;
sbit GREEN_Tgo=P0^7;
sbit RED_Vstop=P3^1;
sbit RED_Tstop=P3^2;
sbit Turn_VL=P3^3;
sbit Turn_TL=P3^4;
sbit Turn_V=P3^5;
sbit Turn_T=P3^6;
uchar Flash_Count=0;
uchar num=0;
Operation_Type=1;
void DelayMS(uint x)