单片机原理与接口技术 课程设计-基于单片机的多模式交通灯设计.doc

上传人:西安人 文档编号:5094308 上传时间:2020-02-01 格式:DOC 页数:23 大小:2.47MB
返回 下载 相关 举报
单片机原理与接口技术 课程设计-基于单片机的多模式交通灯设计.doc_第1页
第1页 / 共23页
单片机原理与接口技术 课程设计-基于单片机的多模式交通灯设计.doc_第2页
第2页 / 共23页
单片机原理与接口技术 课程设计-基于单片机的多模式交通灯设计.doc_第3页
第3页 / 共23页
单片机原理与接口技术 课程设计-基于单片机的多模式交通灯设计.doc_第4页
第4页 / 共23页
单片机原理与接口技术 课程设计-基于单片机的多模式交通灯设计.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《单片机原理与接口技术 课程设计-基于单片机的多模式交通灯设计.doc》由会员分享,可在线阅读,更多相关《单片机原理与接口技术 课程设计-基于单片机的多模式交通灯设计.doc(23页珍藏版)》请在三一文库上搜索。

1、 课 程 设 计 课程名称 单片机原理与接口技术 题目名称 基于单片机的多模式交通灯设计学生学院 信息工程学院 专业班级 学 号 学生姓名 指导教师 联系方式 2011 年 06 月 24 日基于单片机的多模式交通灯设计摘要:十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本设计是关于单片机控制的交通灯模拟系统的设计。该设计中用光二极管来模拟信号灯,紧急停止请求信号由外部中断技术来模拟。要求使AT89C52定时/计数器0作为定时器,要求对通行时间进行倒计时,从P0口输出,在数码管上显示并进行递减,

2、以此来实现十字路口交通灯的指示功能。关键字 单片机 交通灯系统 LED显示 夜间模式 紧急停止 模式切换1 概述1.1 设计的意义由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题。交通发展标志着城市的发达,相对交通的管理则显得越来越重要。交通灯是城市交通中的重要指挥系统,它与人们日常生活密切相关随着人们生活水平的提高,对交通管制也提出了更高的

3、要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。单片机自问世以来,性能不断提高和完善,其资源又能满足很多场合的应用,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、性能可靠、价格低廉,其易于产品化、抗干扰能力强、可在各种恶劣环境下可靠的工作等特点。特别是它强大的面向控制能力,使它在工业控制领域,智能仪表、外设控制、家用电器、机器人、军事装置等方面得到了广泛的应用。考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用MC

4、S - 51系列的单片机来实现十字路口交通信号灯的控制。 正常情况下,十字路口的红绿灯应交替变换;考虑紧急情况下,如发生交通意外或交通维修时,可以通过按键来使交通停止。通过此次单片机的课程设计,我们可以进一步认识单片机在控制系统中的重要性。在完成理论学习和必要的实验后,学生掌握了单片机的基本原理和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。这次单片机的课程设计既让学生巩固了课本学到的理论,还让学生学习了单片机硬件电路设计和用户程序设计的整个过程,同时学习了查阅资料、参考资料的方法。单片机的课程设计

5、主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试用户程序,来加深对单片机的认识,充分发挥学生的个体创新能力。1.2 单片机课程设计任务一、 课程设计题目:单片机应用系统设计 基于单片机的题目自拟二、 总体要求:本课程设计的题目机设计内容自选,学生可以根据平时的观察、了解单片机实际的应用系统,弄清其结构和功能,结合单片机课程及其他相关课程的知识,充分发挥自身的想象力和创造力,自行选定设计项目,但总体应达到以下要求:1、 用89S51CPU,12M时钟,常规的上电和手动复位电路2、 包括3个以上的独立式按键3、 至少2位LED数码显示器及其接口4、 一路蜂鸣器输出5、 至少有2

6、路输入信号,可以是模拟量或数字量三、 课程设计具体要求:选定好设计项目后,课程设计应达到以下要求1、 编写项目功能说明书,确定应用系统的功能和具体参数2、 设计电路原理图3、 制作硬件4、 设计和调试程序5、 课程设计报告四、 课程设计报告内容及要求1、 课程设计任务书2、 设计项目简介3、 电路原理图4、 系统功能描述5、 程序框图6、 程序清单7、 收获与体会五、 验收及评分标准1、 硬件制作20%2、 课程设计报告 60%3、 功能展示及答辩 20%六:参考题目:1、 基于单片机的智能电风扇控制器2、 基于单片机的多功能洗衣机程序控制器3、 基于单片机的多功能灯光控制器4、 基于单片机的

7、单片机多机通信系统5、 基于单片机的智能温度控制系统6、 基于单片机的多功能数字电子钟7、 基于单片机的多功能防盗报警装置2 设计方案2.1 设计的思想交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯, 加上一个倒计时的显示计时器来控制行车, 对于一般情况下的安全行车、车辆分流发挥着作用, 但根据实际行车过程中出现的情况, 如何全面有效地利用交通灯指示交通情况,我们尝试用单片机来控制交通灯,在软、硬件方面采取一些改进措施,,使交通灯在控制中灵活而有效。硬件系统是指构成单片机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和

8、输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。该交通灯拟系统的硬件部分主要由按键、显示和运算部分组成。按照题目的设计要求,本课题需要使用LED数码管显示和扩展按键。在该交通灯系统的设计中采用AT89C52单片机。2.2 设计满足的基本功能本系统由单片机系统、键盘、LED数码管显示、流水灯演示系统组成。最后,系统要求实现如下的交通灯的功能:1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,南北方向设有红绿黄灯

9、和转向灯,东西方向只设有红绿黄灯,不设转向灯(如果有需要可以取消警报灯D6来设置)。主干道绿灯同行时间为40s,转向灯通行时间为30s。支干道每次通行间为40s,时间可在初始化中设置修改。2)南北方向在绿灯转为转向灯时,要求黄灯先闪3s;在转向转为红灯时,要求黄灯先闪5s。东西方向在绿灯转为黄灯时,要求黄灯先闪5s。3)东西方向、南北方向每次灯亮的时间都用显示器进行显示(采用倒计时的方法)。4)复位按键S1,能在任何情况下返回初始设置5)发生紧急情况,如交通意外或道路施工,需要车辆禁止通行时,系统能通过K1按键指挥交通停止,南北和东西方向同时显示红灯,并鸣响警报、亮起警报灯,提示行人车辆。进入

10、紧急模式并保留当时交通灯运行的情况,可以通过第二次按下K1恢复原来状态。6)深夜路上没有行车的路口,可以设置夜间模式,系统通过K2按键切换到黄灯不停闪烁的模式,数码管只显示0000,不进行倒计时。可以通过复位键进行返回。7)当交通一个方向上有车而另另一个方向上无车时,系统能通过K3立即让有车道放行。如果是东西通道无车而南北通道有车,按下K3能直接切换到南北绿灯;如果是南北通道无车而东西方向上有车,按下K3能直接切换到东西绿灯。根据设计功能及要求,我们可得系统的原理框图如图所示。根据系统的原理框图,分别分析各部分电路的元器件的功能以及选择合适的元件。2.1.1 显示部分电路设计该设计采用如下所示

11、的数码管,分别显示东西和南北灯的剩余时间,左边两位为东西,右边两位为南北。该数码管为共阳接法(0脉冲有效),片选部分接单片机管脚的P2口和数码段显示部分接单片机管脚的P0口,具体的下见图。 2.1.2 时钟部分电路设计 时钟电路用于产生MCS-51单片机工作时所必须的时钟控制信号。其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。本设计采用12MHz晶振和两个33Pf电容,他们构成一个稳定的自激振荡器。该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快

12、速性。为单片机提供标准时钟。其中两个电容起微调作用。 如图所示:2.1.3 复位部分电路设计复位引脚RESET通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。 复位电路通常采用上电自动复位和按钮复位两种方式,该设计采用的是上电直接复位。其连接图如下图所示: 2.1.4 按键电路和流水灯电路键盘是最常用的输入设备,本设计中键盘数目较少,且为安装方便,因此在本设计中采用独立式接法,由P3.2、P3.3、P3.4口控制。独立式实际上就是一组独立的按键,这些按键可直接与单片机的I/O

13、口连接,即每个按键独占一条口线,这种接法简单。本设计采用P1口控制二极管的发光情况,口线送低电平有效。3 软件设计3.1 交通灯亮灯方案该交通信号灯控制系统的三种工作状态:状态一:东西方向红灯亮,南北方向绿灯亮。表示东西方向上的车辆禁止通行,南北方向B车道允许通行。最后3s的时候南北黄灯开始闪烁,表示南北方向上未过停车线的车辆停止通行,已过停车线的车辆继续通行。状态二:东西方向红灯,南北方向转向灯亮。表示东西方向上的车辆禁止通行,南北方向B车道允许转向。黄灯亮足规定时间间隔时,控制器发出状态转换信号,转到下一工作状态。正常情况下该状态会持续30s,最后5s的时候南北黄灯开始闪烁。状态三:东西方

14、向绿灯亮,南北方向红灯亮。表示东西方向允许通行,东西方向上的车辆禁止通行,正常情况下该状态会持续40s,最后3s的时候南北黄灯开始闪烁。3.2按键功能介绍本设计中采用独立式接法,由P3.2、P3.3、P3.4口控制。按键键名功能P3.2K1键紧急停止键P3.3K2键夜间模式键P3.4K3键转换模式键当按下启动按钮K1并释放后,系统就进入紧急停止模式,东西和南北方向上都亮起红灯,并亮起警报灯,鸣响警报。表示发生紧急状况,两边道路都禁止通车。当按下启动按钮K2并释放后,系统就进入夜间模式,东西和南北方向上都为黄灯不停闪烁,能有效的节约能源,并依旧能起到提醒过往车辆和行人的效果。当按下启动按钮K3并

15、释放后,系统就进入转换模式,当一个方向上有车而另另一个方向上无车时,系统能立即让有车道放行。如果是东西通道无车而南北通道有车,按下K3能直接切换到南北绿灯;如果是南北通道无车而东西方向上有车,按下K3能直接切换到东西绿灯。 紧急停止模式 夜间模式交通灯的状态表如下:(其中0代表灯亮,1代表灯灭,0/1代表灯闪)状态(默认左东西右南北)东西方向南北方向持续时间绿黄警报红绿黄转向灯红D8D7D6D5D4D3D2D1红 绿1110011140s南北黄灯闪111000/1113s红 转1110110130s南北黄灯闪111010/1015s绿 红0111111040s东西黄灯闪00/11111105s

16、紧急停止红红11001110键控夜间模式黄黄10/11110/111键控3.3主程序流程图4 课程设计心得课程设计是我们在课堂以外的另一种学习,它是对我们在课堂上所学的理论知识的深化。每一次的课程实训都会给我带来很大的收获,这一次也不例外。这次课程设计使我对以前所学的理论知识有了更近一步的理解,让我看到了书本知识在实际生活中的应用。我和我的同学们都设计出了各种各样的东西,如密码锁、电子琴、抢答器等等,原来我们身边一些很常见的东西,它的内部程序就是这样的,真的让人欣喜万分,觉得很神奇。在平时的理论学习中虽然我们能够分析书中所列出的程序,说出它所能实现的功能,但是在实现实际电路时却不如我们所想的那

17、样,很多元器件在受到外界干扰的情况下,在性能方面会受到很大的影响,因此就得软硬件结合来平衡这种影响,使其能够正常工作。经过这一个月的反复琢磨与修改,从查资料,整理资料到读程序,写程序,改程序,调试直至现在出成果,一切都充满了刻苦与艰辛,其间充满了挫折可是同时又伴随着欢乐。令我感触最深的就是同学们倾心的帮助,一开始我写出来的程序怎么都运行不了,在板上运行时,数码管的显示只是一闪就消失了,让我很费解,我改了几天都解决不了,我几乎都要放弃了。后来只好请教同学,原来是我的黄灯闪烁的程序造成了一个死循环,所以一运行到那里,程序就卡住了,不能再往下运行了,也无法调用display程序,所以没有显示。在同学

18、们的帮助下,我的问题得以解决,他们的无私精神更令我感动不已!这次课程设计不仅培养我们的创新精神和和工程实践能力,提高我们的综合素质,还巩固我们在课堂上所学的知识,在实践中学习和进步,强化我们的实际动手操作能力。现在我们将要步入大四了,经过这三年的对专业知识的学习,使我们对通信工程专业有了较为全面的认识和理解,通过这次的课程设计,我认识到只是学习理论知识是远远不足的,我们要真正切身感受本专业的实际应用才能真正有利于我们专业知识的学习。参考文献1 单片机原理与接口技术肖金球主编,清华大学出版社出版社2 MCS-51系列单片机原理及应用.张毅刚,刘杰. 哈尔滨工业大学出版社附录一:源程序代码 ORG

19、 0000H LJMP MAIN ORG 0003H ;外部中断入口 LJMP INT0 ORG 000BH ;定时中断入口 LJMP TT0 NBF EQU 00H ;南北通行标志位 DXF EQU 01H ;东西通行标志位 STOP EQU 02H ;紧急停止标志位 ZHF EQU 03H ;立即转换标志位 NIG EQU 04H ;夜间模式标志位 YEL EQU 05H ;夜间模式时,黄灯闪烁标志位 ORG 0030HMAIN: CLR NBF CLR DXF SETB STOP CLR ZHF CLR NIG CLR YEL MOV R2,#20 ;定时器中断20次为1s MOV TM

20、OD,#01H ;初始化定时器 MOV TL0,#0B0H MOV TH0,#3CH SETB EA ;中断允许 SETB ET0 ;T0中断允许 SETB TR0 ;T0定时器开始计数 SETB EX0 ;外部中断0允许 SETB IT0 ;设置外部中断0的触发方式,为边沿触发 MOV DPTR,#TAB ;数值首地址放入DPTR中 MOV 25H,#40 ;南北和东西通行时间初始化 MOV 26H,#70 MOV 30H,#40 MOV 31H,#70 MOV 32H,#30 ;南北左转灯时的时间初值 MOV 33H,#40 ;南北变成红灯,东西变成绿灯的时间处置 MOV P1,#0E7H

21、 ;灯的初始化 MOV 27H,#0E7HLOOP: LCALL DISPLAY ;循环执行显示子程序 AJMP LOOP;延时5ms与1msDELAY5ms: MOV R1,#1 MOV R0,#250DELAY1: DJNZ R0,$ DJNZ R1,DELAY1 RETDELAY1ms: MOV R1,#2 MOV R0,#250DELAY2:DJNZ R0,$ DJNZ R1,DELAY2 RET;数码管显示程序DISPLAY: MOV P2,#0F7H ;选中东西方向的十位数码管(为数码管左起第一位) MOV A,26H ;送入数码管显示 MOV B,#10 DIV AB MOVC

22、A,A+DPTR MOV P0,A LCALL DELAY1ms MOV P2,#0FBH ;选中东西方向的个位数码管(为数码管左起第二位) MOV A,B MOVC A,A+DPTR MOV P0,A LCALL DELAY1ms MOV P2,#0FDH ;选中南北方向的十位数码管(为数码管左起第三位) MOV A,25H ;把显示数据送入数码管显示 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P0,A LCALL DELAY1ms MOV P2,#0FEH ;选中南北方向的个位数码管(为数码管左起第四位) MOV A,B ;送入数码管显示 MOVC A,A+DP

23、TR MOV P0,A LCALL DELAY1ms;按键扫描程序KEY_SCAN:SETB P3.3 SETB P3.4 JNB P3.3,KEY_K2 ;查询第二个按键K2是否按下 JNB P3.4,KEY_K3 ;查询第三个按键K3是否按下 AJMP KEY_R ;没有键按下则返回KEY_K2:LCALL DELAY5ms JNB P3.3,MODE_NIGHT AJMP KEY_RMODE_NIGHT:CPL NIG ;K2进入夜间模式 AJMP KEY_RKEY_K3:LCALL DELAY5ms JNB P3.4,MODE_SWITCH AJMP KEY_RMODE_SWITCH:

24、CPL ZHF ;K3进入立即转换模式KEY_R:RET;定时中断处理程序WAIT_1S: LJMP TT0_R TT0: PUSH ACC ;保护现场 PUSH PSW CLR TR0 ;关定时器及中断标志位并重新赋值 CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,WAIT_1S ;判断1s时间是否到达 MOV R2,#20 ;到达重新赋值 JNB NIG,SWITCH ;夜间模式,黄灯闪烁NIGHT:MOV 25H,#0 ;倒计时置0 MOV 26H,#0 CPL YEL JNB YEL,NO_LIGHT ;设置黄灯的闪烁 MOV P1,#0DDH

25、;黄灯亮 MOV 27H,#0DDH LJMP TT0_RNO_LIGHT:MOV P1,#0FFH ;黄灯灭 MOV 27H,#0FFH LJMP TT0_R ;立即转换模式SWITCH:JNB ZHF,CXD_OUT ;ZHF=1进入该模式 JB DXF,CXD ;通过判断标志位,选择切换模式 MOV 25H,#41 ;转换成东西绿,南北红 MOV 26H,#41 MOV P1,#7EH MOV 27H,#7EH CLR NBF SETB DXF AJMP CXD_OUTCXD:MOV 25H,#41 ;转换成东西红,南北绿 MOV 26H,#71 MOV P1,#0E7H MOV 27H

26、,#0E7H CLR DXF CXD_OUT:CLR ZHF ;清除标志位 ;POINT1:DEC 25H ;南北方向通行时间减1 MOV A,25H JUDGE1: JB DXF,POINT2 ;判断是否东西通行 ;南北方向上的绿灯变成转向灯,黄灯闪3sYELLOW11:CJNE A,#3,YELLOW12 ;倒数第3s,黄灯亮 JB NBF,YELLOW12 MOV P1,#0C7H MOV 27H, #0C7H YELLOW12:CJNE A,#2,YELLOW13 ;倒数第2s,黄灯灭 JB NBF,YELLOW13 MOV P1,#0E7H MOV 27H, #0E7HYELLOW1

27、3:CJNE A,#1,YELLOW21 ;倒数最后1s,黄灯亮 JB NBF,YELLOW21 MOV P1,#0C7H MOV 27H, #0C7H ;南北方向上的转向变成红灯,黄灯闪5sYELLOW21:CJNE A,#5,YELLOW22 ;倒数第5s,黄灯亮 JNB NBF,YELLOW22 MOV P1,#097H MOV 27H, #097H YELLOW22:CJNE A,#4,YELLOW23 ;倒数第4s,黄灯灭 JNB NBF,YELLOW23 MOV P1,#0B7H MOV 27H, #0B7HYELLOW23:CJNE A,#3,YELLOW24 ;倒数第3s,黄灯

28、亮 JNB NBF,YELLOW24 MOV P1,#097H MOV 27H,#097H YELLOW24:CJNE A,#2,YELLOW25 ;倒数第2s,黄灯灭 JNB NBF,YELLOW25 MOV P1,#0B7H MOV 27H, #0B7HYELLOW25:CJNE A,#1,TestA1 ;倒数最后1s,黄灯亮 JNB NBF,TestA1 MOV P1,#097H MOV 27H, #097H ;TestA1:JNZ POINT2 CPL NBF ;如果通行时间结束则对标志位取反JUDGE2:JB NBF,TURN_1 ;判断(25H)为0后该进入的下一状态 MOV 25

29、H,33H ;设置东西绿,南北红的初始时间 MOV P1,#7EH MOV 27H,#7EH POINT2:DEC 26H ;东西方向通行时间减一 MOV A,26H ;东西方向上变红灯,黄灯闪5s YELLOW31:CJNE A,#5,YELLOW32 ;倒数第5s,黄灯亮 JNB DXF,YELLOW32 MOV P1,#07CH MOV 27H, #07CHYELLOW32:CJNE A,#4,YELLOW33 ;倒数第4s,黄灯灭 JNB DXF,YELLOW33 MOV P1,#07EH MOV 27H, #07EHYELLOW33:CJNE A,#3,YELLOW34 ;倒数第3s

30、,黄灯亮 JNB DXF,YELLOW34 MOV P1,#07CH MOV 27H, #07CHYELLOW34:CJNE A,#2,YELLOW35 ;倒数第2s,黄灯灭 JNB DXF,YELLOW35 MOV P1,#7EH MOV 27H, #7EHYELLOW35:CJNE A,#1,TESTA2 ;倒数最后1s,黄灯亮 JNB DXF,TESTA2 MOV P1,#7CH MOV 27H, #7CH ;TESTA2:JNZ TT0_R ;检测东西方向时间是否结束,没有则返回 CPL DXF JUDGE3:JB DXF,TURN_2 ;判断(26H)为0后该进入的下一状态 MOV

31、25H,30H ;一次循环结束,重新恢复初始值 MOV 26H,31H MOV P1,#0E7H ;恢复初始交通灯亮的情况 MOV 27H,#0E7H AJMP TT0_RTURN_1: MOV 25H,32H ;设置南北转向灯的初试时间 MOV P1,#0B7H ;东西红,南北转向灯 MOV 27H, #0B7H AJMP POINT2TURN_2: MOV 26H,33H ;东西方向开始通行,赋值予显示存储单元TT0_R: SETB TR0 POP PSW ;恢复现场 POP ACC RETI;紧急停止程序INT0: PUSH ACC ; 保护现场 PUSH PSW CLR IE0 CLR TR0 CPL STOP ; 紧急停止标志位取反 JB STOP,STOP_R ; 紧急结束 MOV P1,#73H ; 红灯亮 AJMP INT0_RSTOP_R:SETB TR0 ; 恢复正常交通 MOV A,27H MOV P1,AINT0_R: POP PSW ; 恢复现场 POP ACC RETI;查表指令(数码管为共阳接法)TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H ,82H,0F8H, 80H, 90H;END附录二:系统原理图- 23 -

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1