单片机课程设计报告--带计时的交通灯的实现

上传人:aa****6 文档编号:38379979 上传时间:2018-05-01 格式:DOC 页数:14 大小:1.16MB
返回 下载 相关 举报
单片机课程设计报告--带计时的交通灯的实现_第1页
第1页 / 共14页
单片机课程设计报告--带计时的交通灯的实现_第2页
第2页 / 共14页
单片机课程设计报告--带计时的交通灯的实现_第3页
第3页 / 共14页
单片机课程设计报告--带计时的交通灯的实现_第4页
第4页 / 共14页
单片机课程设计报告--带计时的交通灯的实现_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《单片机课程设计报告--带计时的交通灯的实现》由会员分享,可在线阅读,更多相关《单片机课程设计报告--带计时的交通灯的实现(14页珍藏版)》请在金锄头文库上搜索。

1、单片机应用技术课程设计论文论论文文题题目目: :带带计计时时的的交交通通灯灯的的实实现现学 院 汽车学院 专 业 电气工程及其自动化班 级 2011 级 04 班 姓名学号 崔晓晨 3 吴佳怡 6 王金石 1 成 绩 2013 年 12 月 4 日【 【摘要摘要】 】本设计是设计一款基于单片机的带计时的交通灯,主要是十字路口的交通灯的实现。其中的单片机是控制的核心,通过 P 口送出信号去控制相应的交通灯及计时用的数码管。本报告简要介绍了基于单片机技术的计时交通灯的原理,并根据系统的基本原理制作出了仿真模型。本控制系统主要由以下几个模块组成:数码管显示模块、交通灯运行模块以及单片机控制模块。单片

2、机控制模块的采用 AT89S51 芯片,并配以单片机的最小系统电路,晶振模块、复位模块,通过 P2 口控制红绿灯的点亮,通过 P1 口控制数码管的计时显示。红黄绿交通灯采用发光二极管,并采用驱动芯片 7404 驱动其亮灭,数码管的驱动采用两片具有译码与驱动双重功能的 CD4511 芯片。本设计采用了 Protues7.8 版仿真软件对其进行仿真,实现了与Keil 软件的联合调试。关键词关键词:单片机;AT89C51;交通灯;数码管显示;Proteus 仿真;Keil 软件目目 录录1 设计任务 .12 系统硬件设计 .22.1 器件选择 .22.2 硬件原理图 .23 系统软件设计 .33.1

3、 程序设计思路.33.2 软件流程图.43.3 软件清单.54 设计总结 .6参考文献 .7附 1:源程序代码.8附 2:系统原理图. 10单片机应用技术课程设计论文11 设计任务设计任务任务要求:任务要求:设计制作一个模拟的十字路口交通信号灯控制系统,要求:1、 正常情况下东西与南北两个方向轮流点亮红、绿信号灯,每次持续时间60s,中间有 3s 的黄灯过渡。2、 东西、南北两个方向各设一个紧急切换按钮。某方向按钮按下时,该方向紧急切换为绿灯,以利于特种车辆通过。3、 用数码管显示已点亮灯的剩余时间。红黄绿绿黄红红黄绿绿黄红北北南南东东西西十字路口交通状态图本小组人员分工:本小组人员分工:崔晓

4、晨:程序设计,软件仿真吴佳怡:参与程序设计,整理报告王金石:搜集参考材料,帮忙整理报告单片机应用技术课程设计论文22 系统硬件设计系统硬件设计2 21 1 器件选择器件选择AT89C51 单片机及其最小系统,红、黄、绿 3 种颜色的发光二极管各 4 个,LED 数码管 2 个,译码驱动芯片 CD4511 2 个,驱动芯片 7404 6 个,电阻若干2.22.2 硬件原理图硬件原理图51 单片机复位电路晶振电路紧急切换译码器 CD4511发光二极管构成的十字 路口交通灯译码器 CD4511LED 数码管 显示电路图 2.2.2 51 单片机及其最小系统图 2.2.3 晶振电路图 2.2.4 复位

5、电路图 2.2.1 原理框图单片机应用技术课程设计论文33 系统软件设计系统软件设计3.13.1 程序设计思路程序设计思路系统正常运行时,十字路口交通灯的执行情况是:东西方向绿灯,南北方向红灯 60 秒,接着黄灯 3 秒,然后东西方向红灯,南北方向绿灯 60 秒,再黄灯 3秒;之后循环这个过程。若出现紧急状况,则需紧急切换,(正常情况下紧急开关是断开的):若此时十字路口为东西方向绿灯,南北方向红灯,一切换,P0.0=1(按下紧急开关P0.0) ,经程序判断后会跳转,判断 P0.1 的值(开关 P0.1 开与断) ;P0.1=0,程序顺序执行,使交通灯切换到东西红灯,南北绿灯;直到 P0.1=1

6、,交通灯才会再次切换回来。图 2.2.6 计时数码管驱动图 2.2.5 紧急切换电路图 2.2.6 发光二极管驱动单片机应用技术课程设计论文43.23.2 软件流程图软件流程图开始保护现场0.1s 单元加 10.1s 单元=10?0.1s 单元清 0 秒单元加 1秒单元=基制?秒单元清 0基制=2 基制=60?P2.2 置 1基制=60R2=00?R2+1R2=00恢复现场P2.1 置 1P2.0 置 1中断返回图 3.2.1 T0 中断服务程序流程图NNNNYY单片机应用技术课程设计论文5开始端口初始 化定时器工作方式、初 值开中断启动定时器东西紧急切换P2 01H南北紧急切换P2 02HY

7、NNY图 3.2.2 主程序流程图3.23.2 软件清单软件清单软件名称软件功能Keil uVision4编写程序并调试Proteus7.8单片机及其外围电路仿真Word文字编辑,流程图、原理框图绘制单片机应用技术课程设计论文64 设计总结设计总结本设计比较简单,只是东西、南北方向轮流点亮信号灯,且都持续 60s,中间一个 3s 黄灯过渡,另外一个东西、南北方向的紧急切换按钮。硬件电路只有三个模块,比较简单;软件采用定时器延时的方法,即通过单片机内部定时器 T0 产生中断来实现;紧急切换按钮接在 P0.0、P0.1 上,通过在主程序中查询这两个端口的状态来决定是否进行紧急切换。功能简单,可以说

8、相对较少,还可以改善。例如,增加人行道的信号灯;使红绿灯持续点亮的时间不一致,可以切换不同的时间,以适应路况;延时方法改为软件延时,先编写 1s 的子程序,再循环,等等,我们的设计还有很大的提升空间。学无止境,并且人的潜力是无限的,以上所说的几个功能是非常那个值得我们继续研究,学习的。还有,这次报告中的程序、原理框图,我们没有用专业绘图软件,只用了Word,效果可能不是特别好,但是让我们学会了更多的 Word 技巧,运用也更加熟练了。专业绘图软件的学习也是有必要的,在以后的工作中,以备不时之需。另外,因我之前用过 Multisim 这个软件,有了仿真的经验,我们组选择了仿真,并没有做实物,这一

9、点有利也有弊吧。我们从网上下载了软件Proteus7.8 进行学习,并且仿真成功了,让我们从中学到了不少,不过,遗憾的是 PCB 布线我们并没有学会,这部分还需继续努力。虽做仿真让我们学会了不少知识,但做实物而获得的动手实践能力,却没有得到锻炼。我们现阶段的课程主要是学习理论,实践的机会相对较少,再有这样的机会定要牢牢把握住,提高自己的动手能力,把专业知识与动手实践相结合, 以不断提高、深化、丰富自己。单片机应用技术课程设计论文7参考文献 1 张迎新.单片机初级教程-单片机基础.-2 版 北京:北京航空航天大学出版社,2006.82 李雅轩.单片机实训教程. 北京:北京航空航天大学出版社,20

10、06.83 康华光.电子技术基础-数字部分.-5 版 北京:高等教育出版社,2006.14 楼然苗.单片机课程设计指导. 北京:北京航空航天大学出版社,2007.75 周润景.Proteus 在 MCS-510.1s 计数单元 ;*定义 SECOND DATA 27H;秒计数单元 STORE DATA 2BH;存放计时秒数 NUMBER1 EQU 60;红绿灯计时秒数 NUMBER2 EQU 3H;黄灯计时秒数 ;* ORG 0000HLJMP MAIN ;转主程序 ORG 000BHLJMP CLOCK ;转定时器 T0 中断 ;*主程序 ORG 1000H MAIN: MOV SP,#5A

11、H ;堆栈指针MOV STORE,#NUMBER1 ;调计时秒数MOV COUNT,#00H ;0.1S 计数单元清 0MOV SECOND,STORE ;计时秒数进秒计数单元MOV TMOD,#01H ;设定计时器工作方式 1MOV TL0,#0B0H ;设置 T0 初值 (3CB0H=0.05s)MOV TH0,#3CH SETB EA ;开中断SETB ET0 ;定时器 T0 中断允许MOV TCON,#10H ;启动定时器 T0MOV R2,#01H ;先设东西向绿灯亮MOV P2,#01H ;输出东西绿灯、南北红灯 QIEH: JB P0.0,QIEH1 ;判断 P0.0=1,跳转;

12、P0.0=0,顺序执行MOV P2,#01H ;输出东西绿灯、南北红灯SJMP QIEH QIEH1: JB P0.1,QIEH2 ;判断 P0.1=1,跳转;P0.1=0,顺序执行MOV P2,#02H ;输出南北绿灯、东西红灯 QIEH2: SJMP QIEH ;*定时器 T0 中断子程序 ORG 1400H CLOCK: PUSH PSW ;保护PUSH ACCSETB RS0MOV R0,#00HMOV R1,#00HMOV TL0,#0B0H ;再设置 T0 初值MOV TH0,#3CHINC COUNTMOV A,COUNTCJNE A,#0EH,DONE ;0.1s 计数单元不满

13、 20 则转单片机应用技术课程设计论文9MOV COUNT,#00H ;0.1s 计数单元满 20 则清 0DJNZ SECOND,OUT2 ;秒计数单元减 1 不为 0 则转 OUT2 十进制转换程序,为 0 顺序执行MOV A,SECONDJMP OUT OUT2: MOV A,SECOND ;开始十进制转换程序 OUT0: CLR CSUBB A,#0AHJC OUT1INC R0JMP OUT0 OUT1: ADD A,#0AHMOV R1,AMOV A,R0SWAP AANL A,#0F0HADD A,R1 OUT: MOV P1,A ;剩余秒数 BCD 码由 P1 口输出CJNE A,#00H,DONE ;剩余秒数不为 0 则跳转MOV A,STORE ;剩余秒数为 0 则转换计时秒数CJNE A,#NUMBER1,LOOP0MOV STORE,#NUMBER2MOV SECOND,STOREMOV P2,#04H ;输出黄灯LJMP DONE LOOP0: MOV STORE,#NUMBER

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号