完整版单片机交通灯毕业课程设计报告含电路图源程序Word格式.docx
《完整版单片机交通灯毕业课程设计报告含电路图源程序Word格式.docx》由会员分享,可在线阅读,更多相关《完整版单片机交通灯毕业课程设计报告含电路图源程序Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
4.结束语16
5.参考文献16
6.附录17
6.1.附录1:
程序清单17
6.2.附录2:
电路设计总图22
6.3附录3:
实物图23
摘要
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本系统采用单片机AT89S52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。
本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。
本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成。
系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟实现了十字路口可能出现的状况。
软件上采用C51编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。
经过整机调试,实现了对十字路口交通灯的模拟。
关键字:
电子线路AT89S52LED交通灯
1.引言
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;
另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
2.总体设计方案
2.1.设计思路
2.1.1.设计目的
(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
(2)用单片机模拟实现具体应用,使个人设计能够真正使用。
(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
(4)提高利用已学知识分析和解决问题的能力。
(5)提高实践动手能力。
2.1.2.设计任务和内容
2.1.2.1.设计任务
单片机采用用AT89S52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口15秒,南北路口25秒,黄灯时间5秒)。
2.1.2.2.设计内容
(1)设计并绘制硬件电路图
(2)制作PCB并焊接好元器件
(3)编写程序并将调试好的程序固化到单片机中
2.1.3.方案比较、设计与论证
2.1.3.1.电源提供方案
为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。
此方案的优点是系统简明扼要,节约成本;
缺点是输出功率不高。
综上所述,我们选择第二种方案。
2.1.3.2.复位方案
复位方式有两种:
按键复位与软件复位。
由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。
2.1.3.3.输入方案
方案一:
采用89S52扩展I/O口及键盘,显示等。
该方案的优点是:
使用灵活可编程,并且有RAM,及计数器。
若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二:
直接在IO口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用2个按键,分别是K1、K2。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二
2.1.3.4.显示界面方案
该系统要求完成倒计时、状态灯等功能。
基于上述原因,我们考虑了三种方案:
完全采用数码管显示。
这种方案只显示有限的符号和数码字符,无法胜任题目要求。
完全采用点阵式LED显示。
这种方案实现复杂,且须完成大量的软件工作;
但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:
采用数码管与点阵LED相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。
设计方框图
整个设计以AT89S52单片机为核心,由数码管显示,LED数码管显示,复位电路组成。
硬件模块入图2-1。
2.1.3.5.交通管理的方案论证
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
指示灯燃亮的方案如表2。
25S
5S
……
东西道
红灯亮
绿灯亮
黄灯亮
南北道
表2说明:
(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;
南北道为绿灯,此道车辆通过,行人禁止通行。
时间为25秒。
(2)黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;
南北方向为红灯,南北道车辆禁止通过,行人通行。
(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
2.1.4.芯片简介
1.AT89S52单片机简介
其引DIP封装的脚图如下:
主要性能
与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
功能特性描述
At89s52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上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字节在系统可编程FlashAT89S52
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个
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)
时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用
8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
作为输入使用