十字路口交通灯单片机课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(论文)
课程名称:单片机原理及应用
题目:十字路口交通灯
院(系):信息与控制工程学院
专业班级:
姓名:
学号:
指导教师:
2013年6月28日
西安建筑科技大学课程设计
分组情况
十字路口交通灯控制系统可分为硬件和软件两大模块,由xx同学负责硬件的完成。
对于软件部分,包含为主程序和子程序,子程序可分为中断子程序、延时子程序、交通控制子程序以及白天、夜间子程序。
xx同学负责主程序以及部分交通控制子程序的完成,xx同学负责中断子程序、延时子程序、白天、夜间子程序和剩余的交通控制子程序。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51为中心器件来设计交通灯控制器,实现了能根据白天、夜间设置不同工作状态,使红、绿灯燃亮时间做出相应改变的功能;并且在紧急状况下,采用外部中断,使A、B 道的红灯成常亮状态。
本系统实用性强、操作简单、扩展功能强。
关键字:交通灯、ATSC51、外部中断
摘要 (2)
1. 概述 (4)
1.1目的及要求 (4)
1.2设计内容 (4)
1.3设计要求 (4)
2.十字路口交通灯总体设计 (5)
2.1单片机交通控制系统通行方案设计 (5)
2.2单片机交通控制系统的基本构成及原理 (6)
3. 十字路口交通灯控制系统的硬件设计 (8)
3.1 AT89C51单片机简介 (8)
3.1.1 AT89C51单片机的主要特性 (8)
3.1.2 主要引脚功能 (9)
3.1.3 MCS—51的中断源 (10)
3.2 交通灯中的中断处理流程 (11)
3.3 系统硬件总电路构成及原理 (11)
3.3.1系统硬件电路构成 (12)
3.3.2系统工作原理 (12)
3.4十字路口交通灯控制系统电路图 (13)
3.4.1复位电路 (13)
3.4.2晶振电路 (14)
3.4.4外部中断电路 (15)
4.小结 (16)
5.参考文献 (18)
1.1目的及要求
本次课程设计是自动化专业学生在学习了《单片机原理及应用》课程及《模拟电子线路》、《数字电子线路》等专业基础课程之后进行的一次综合性训练,其主要目的是加深学生对单片机软硬件技术和相关理论知识的理解,进一步熟悉51单片机系统设计的基本理论、方法和技能;掌握工程应用的基本内容和要求,力争做到理论与实际的统一;同时培养学生分析问题、解决问题的能力和独立完成系统设计的能力,并按要求编写相关的技术文档和设计报告等。
1.2设计内容
(1)选择51单片机,晶振采用12MHz。
(2)白天正常工作时(K1闭合时):主道A中的绿灯亮45s,黄灯亮5s,支道B中的绿灯亮25s,黄灯亮5s。
(3)夜间工作时(K1断开时):主道A和支道B中的黄灯呈1s间歇闪烁状态。
(4)紧急情况时(K2闭合时):主道A和支道B均禁止通行,即A道和B道中的红灯呈常亮状态。
1.3设计要求
(1)按照任务书的要求完成系统分析及方案设计。
(2)完成硬件原理图的设计,并选择相关元器件。
(3)完成控制软件流程图的设计,编写相应的单片机控制程序。
(4)撰写设计报告。
2.十字路口交通灯总体设计
2.1单片机交通控制系统通行方案设计
设在十字路口,分为主道A 和支道B,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
其具体状态如下图所示。
说明:黑色表示亮,白色表示灭。
交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图(图2-1)所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:
支
道
B
图2-1交通状态
※支道B红灯灭,同时绿灯亮,主道A黄灯灭,同时红灯亮,倒计时25秒。
此状态下,主道A禁止通行,支道B允许通行。
※支道B绿灯灭,同时黄灯亮,主道A红灯亮,倒计时5秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
※主道A红灯灭,同时绿灯亮,支道B黄灯灭,同时红灯亮,倒计时45秒。
此状态下,主道A允许通行,支道B禁止通行。
※主道A绿灯灭,同时黄灯亮,支道B红灯亮,倒计时5秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
下面我们可以用图表表示灯状态和行止状态的关系如下:
表2-1交通状态及红绿灯状态
状态1 状态3 状态4 状态6 支道B 通行等待变换禁止等待变换
主道A 禁止等待变换通行等待变换
B红灯0 0 1 1
B黄灯0 1 0 0
B绿灯 1 0 0 0
A红灯 1 1 0 0
A绿灯0 0 1 0
A黄灯0 0 0 1
四个路口均有红绿黄3灯,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。
状态及红绿灯状态如表1.1所示。
说明:0表示灭,1表示亮。
2.2单片机交通控制系统的基本构成及原理
单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行.本系统在此基础上,加入了紧急情况处理功能。
单片机最小系统按键控制电路
红绿黄
信号灯图2-2系统的总体框图
单片机晶振电路
复位电路LED显示中断按键
图2-3 系统电路总体设计
据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块接受输出。
系统的总体框图如上所示。
单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,在此过程中随时可以调用紧急控制按键。
3. 十字路口交通灯控制系统的硬件设计
3.1 AT89C51单片机简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.1.1 AT89C51单片机的主要特性
与MCS-51 兼容,4K字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源(两个外部中断源和3个内部中断源),可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
·时钟电路:
时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。
·中断系统:
中断系统的作用主要是对外部或内部的终端请求进行管理与处理。
AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。
图3-1 AT89C51系列单片机的内部结构示意图
3.1.2 主要引脚功能
图3-2 AT89C51引脚图
·VCC:电源电压
·GND:接地
·P0口:P0口是一组8位双向I/0口。
P0口即可作地址/数据总线使用,又可以作为通用的I/O口使用。
当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。
在访问期间激活要使用上拉电阻。
·P1口:Pl 是一个带内部上拉电阻的8准位双向I/O口,P1作为通用的I/O口使用。
·P2 口:P2 是一个带有内部上拉电阻的8 位准双向I/O 口,P2即可作为通用的I/O 口使用,也可以作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。
·P3 口:P3 口是一组带有内部上拉电阻的8 位准双向I/0 口。
P3 口除了作为通用的I/O口使用之外,每个引脚还具有第二功能,具体分配如表2-1
表3-1 具有第二功能的P3口引脚
端口引脚第二功能:
P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.2 /INT0(外中断0) P3.3 / INT1(外中断1) P3.4 T0(定时/计数器0外部输入) P3.5 T1(定时/计数器1外部输入) P3.6 / WR (外部数据存储器写选通) P3.7
/ RD 外部数据存储器读选通)
·RST :复位输入。
当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。
WDT 溢出将使该引脚输出高电平,设置SFR AUXR 的DISRT0 位(地址8EH )可打开或关闭该功能。
DISRT0位缺省为RESET 输出高电平打开状态。
·ALE /PROG ————
:当访问外部程序存储器或数据存储器时,ALE (地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。
对F1ash 存储器编程期间,该引脚还用于输入编程脉冲(PROG )。
如有必要,可通过对特殊功能寄存器(SFR )区中的8EH 单元的D0 位置位,可禁止ALE 操作。
该位置位后,只有一条M0VX 和M0VC 指令ALE 才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 无效。
·PSEN ————
程序储存允许(PSEN ————
)输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN ————
有效,即输出两个脉冲。
当访问外部数据存储器,没有两次有效的PSEN ————
信号。
·EA ——
/VPP :外部访问允许。
欲使CPU 仅访问外部程序存储器(地址为0000H -FFFFH ),EA 端必须保持低电平(接地)。
需注意的是:如果加密位LB1被编程,复位时内部会锁存EA 端状态。
如EA 端为高电平(接VCC 端),CPU 则执行内部程序存储器中的指令。
F1ash 存储器编程时,该引脚加上+12V 的编程电压Vcc 。
·XTAL1:振荡器反相放大器及内部时钟发生器的输入端。
3.1.3 MCS —51的中断源
8051有5个中断源,它们是两个外中断INT0(P3.2)和INT1(P3.3)、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这几个中断源由TCON 和SCON两个特殊功能寄存器进行控制,其中5个中断源的程序入口地址如表2-2所示:
表3-2中断源程序入口
中断源的服务程序入口地址
中断源入口地址
外中断0 0003H
定时/计数器0 000BH
外中断1 0013H
定时/计数器0 001BH
串行口中断0023H
3.2 交通灯中的中断处理流程
(1)现场保护和现场恢复:
有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场
(2)中断打开和中断关闭:
为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。
(3)中断服务程序:
有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容:
(4)中断返回:
执行完中断服务程序后,必然要返回,即回交通灯信号回到中断前状态,显示时间也和中断前一样。
3.3 系统硬件总电路构成及原理
实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,若干按键组成时间设
置和紧急按钮。
3.3.1系统硬件电路构成
本系统以单片机为核心,系统硬件电路由状态灯、按键组成。
其具体的硬件电路总图如图2-3所示。
其中P0用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P3.2即INT0紧急情况处理按键,P3.3即INT1接控制按键,决定交通灯的工作状态是白天还是夜晚。
3.3.2系统工作原理
系统上电或手动复位之后,系统先显示状态灯,将状态码值送显P1口,时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值。
当然,还要开启两个外部中断,其一为紧急情况处理中断,一旦信号有效,即K2键为低电平时进入中断服务子程序,主道A及支道B的红灯全亮禁止全部通行。
其二为工作状态调整中断,若K1按键闭合,则交通灯为白天正常工作状态,如果K1断开,交通灯进入相应的中断子程序,进行夜间工作状态。
3.4十字路口交通灯控制系统电路图
图3-3 基于单片机的交通灯控制系统总电路图3.4.1复位电路
图3-4 复位电路原理图
当8051的ALE及/PSEN两引脚输出高电平,RST引脚高电平到时,单片机复位。
RST/VPD 端的高电平,若直接由启动瞬间产生,则为启动复位,若通过按动按钮产生高电平复位称手动复位。
图中,上电时,接通电源,电容器C相当于瞬间短路,+5V加到了RST/VPD端,该高电平使8051全机复位。
若运行过程中,需要程序从头执行,只需按动按钮开关,则直接把+5V加到了RST/VPD端,从而复位。
3.4.2晶振电路
图3-5 晶振电路原理图
晶振电路采用外部晶振电路,使用两个30pF电容并联接地,并在中间再并联晶振,保持外部晶振电路的振荡频率与8051的内部频率一致,保持了电路中所提供的始终频率稳定。
3.4.3信号灯显示电路
图3-6 信号灯显示电路原理图
每个路口都采用了三个LED灯来显示,分别代表了红黄绿三种灯,来模拟路口交通灯
的变换。
3.4.4外部中断电路
图3-7 外部中断电路原理图
采用开关来控制进入中断,可以在路口出现紧急情况时,拉动开关,来使得红绿灯发生相应的改变,已处理紧急情况下的车辆通行。
4.小结
这次的单片机课程设计大概用了一周的时间,在这一周的时间当中,虽然开始遇到了很多的困难,但是由于合理地进行设计安排,分工合作,并各自查阅了相关的资料,最后在大家共同努力下我们顺利地完成了本次单片机课程设计,同时也学到了很多东西。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
这次的单片机课程设计是通过实践操作和理论相结合,提高动手实践能力,提高科学的思维能力。
与此同时,我们也对分工合作有了进一步的认识,只有通过合理的分工合作,我们们才能够在短短一周的时间内完成设计任务,相信这对以后在社会上工作和学习会有很多帮助,让我们能更好的进入工作状态。
最重要的是,这次课程设计也增加了我们对问题的研究和探讨,们以后的学习中会有更多的帮助。
单片机为我们的主要专业课之一,对我们还是很有帮助的,课程设计也是为我们以后的工作提前进行了一次练手,也是我们学习生活之中少有的一次自己探索、研究,发现问题、解决问题的机会。
当然要做好一个课程设计也不是很简单的,我认为有以下几步:(1)在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;
(2)要有一个清晰的思路和一个完整的的软件流程图,善于将大的程序段缩小为每个子函数来实现;
(3)在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;
(4)要养成注释程序的好习惯,写程序是应该思路清晰,结构明了,应该让人一看就能明白你的思路,方便资料的保存和交流;
(5)我们们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的;
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
我们们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,或者与其他小组成员讨论,共同解决,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
通过这次课程设计我们也发
现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
通过这次课程设计使我更加懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正将一个东西学好学透,从而提高自己的实际动手能力和独立思考的能力。
我想这对于我今后的学习生活和工作都会是有很大帮助的!
5.参考文献
[l]李建忠. 单片机原理及应用[J].西安电子科技大学出版社,2008.
[2]胡建. 单片机原理及接口技术实践教程[J].机械工业出版社,2004.
[3]尹毅峰,刘江龙.单片机原理及应用[J]. 北京理工大学出版社,20010。