基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式.doc

上传人:文库蛋蛋多 文档编号:4022541 上传时间:2023-04-01 格式:DOC 页数:21 大小:597KB
返回 下载 相关 举报
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式.doc_第1页
第1页 / 共21页
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式.doc_第2页
第2页 / 共21页
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式.doc_第3页
第3页 / 共21页
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式.doc_第4页
第4页 / 共21页
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式.doc》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式.doc(21页珍藏版)》请在三一办公上搜索。

1、目 录1 设计课题任务、功能要求说明及总体方案介绍11.1 设计课题任务11.2 功能要求说明11.3 设计课题总体方案介绍及工作原理说明12 硬件系统的设计32.1 硬件系统各模块功能简要介绍32.2 电路原理图、PCB图、元器件布局图32.3 元器件清单33 软件系统的设计43.1 单片机资源使用的情况43.2 软件系统模块功能介绍43.3 程序流程框图43.4 程序清单74 设计结论及误差分析84.1 数字电子钟的设计结论及使用说明84.2 误差分析85 设计总结与体会95.1设计总结95.2 教学建议9参考文献10附录A11附录B13附录C141 设计课题任务、功能要求说明及总体方案介

2、绍1.1 设计课题任务设计一个具有特定功能的十字路口交通灯。1.2 功能要求说明该交通灯上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。按开始键则开始工作,按结束键则返回“P.”状态。要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。1.3 设计课题总体方案介绍及工作原理说明1.3.1 总体方案介绍 本课程设计用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,而接入LED数码管就可以

3、显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了紧急状态下的运行。本设计系统以单片机为控制核心,连接成最小系统,由独立式键盘模块、复位电路模块、晶振电路模块产生输入,LED信号灯状态模块,数码管倒计时模块接受输出。系统的总体框图如图1所示。键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中还要实时紧急按键信号,以达到对异常状态进行实时控制的目的。图1 交通灯系统框图1.3.2 工作原理 本交通灯的所有的软件、参数均存放在AT89S52的Flash ROM和内部RAM中,减

4、少了芯片的使用数量简化了整体电路也降低了整机的工作电流。系统开始时须先显示状态灯、数码管显示“P.”,将状态码值送显P2口,将要显示的时间值的个位和十位分别送显P0和P1口,在此同时以50ms为周期,用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值。当开启紧急状态外部中断时,一旦信号有效,中断开始,进入中断服务子程序,倒计时结束后中断结束返回中断前状态。每满一个状态循环周期。 2 硬件系统的设计2.1 硬件系统各模块功能简要介绍2.1.1 各硬件模块介绍 本交通灯硬件模块主要采用以下基

5、本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块。 a.单片机最小系统模块:包括低功耗、高性能CMOS8位微控制器AT89S52、复位电路、晶振电路。本模块AT89S52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容。这样就构成一个稳定的自激振荡器。 b.输入模块:有2个按键,1个电源开关,1个复位键,单片机运行期间,利用按键完成复位操作。3个按键独立式键盘,按左键1使交通灯的正常运行,按左键2启动交通灯应急系统,按左键3键结束。键1、2任

6、一键都独自连一个I/O口线,说明它们可以独立实现相应的交通灯的功能。c.输出模块:设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。数码管驱动为三极管驱动。 d.电源模块:直流稳压电源一般由电源变压器、整流滤波电路及稳压电路组成。直流稳压电源设计的主要内容是根据性能指标,选择合适的电源变压器、集成稳压器、整流二极管及滤波电容。本设计中所需要的电源有PC机的USB口直接供电,没有设计直流稳压电源,故在此不作详细介绍。2.2 电路原理图、PCB图、元器件布局图见附录A2.3 元器件清单见附录B3 软件系统的设计3.1 单片机资源使用的情况 本设计采用独立式键

7、盘,键盘直接接在P1口上且按键的结果存贮在单片机的内部数据存储器里面。用到的LED显示器接到了单片机的P0口线上和P2口线上。3.2 软件系统模块功能介绍 本设计的软件系统主要采用以下基本模块来实现:主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块。主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。中断服务程序:主要是用于交通灯的准确运行、数据输入过程中的闪烁。数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。键扫描程序模块:主要是用于确定按键并得到特定的键码值。3.3 程序流程框图3.3.1 主程序主程序的主要功能是负责准备状态提示符

8、“P.”显示,等待按键按下进入各键功能子程序完成各项功能,其程序流程见图5所示; 图5 主程序流程框图 3.3.2 紧急通道中断服务程序图6 紧急中断服务程序流程框图3.3.3 数码管显示子程序图7 显示子程序框图 3.3.4 键扫描程序流程框图如8所示; 图8 键盘扫描子程序框3.4 程序清单 见附录C 4 设计结论及误差分析4.1 数字电子钟的设计结论及使用说明4.1.1 设计结论本课程设计课题是单片机交通灯控制,设计说明书介绍了基于AT89S52单片机的交通灯控制系统的设计,对整个硬件电路和软件程序设计做了分析,文中介绍了交通灯的设计方案选择及原理介绍,加深了51单片机的知识了解,介绍5

9、1单片机的结构、特点等。本课程设计说明书对其中的一些基本原理也做了简要的概述。本次课程设计仅仅是对交通灯控制系统做出了一个简单的设计方案,还可以添加人行道、违规检测等方案。4.1.2 使用说明(1)在正常情况下,LED循环说明:设LED灯从左至右前六个灯分别为:甲干道绿灯、黄灯、红灯;乙干道绿灯、黄灯、红灯(下面操作显示的各道路灯口皆按此设置)。交通灯上电后,8位数码管显示初始状态即最右边的一个数码管显示“P.”。按下左边第一个按键,交通灯进入运行状态,甲干道绿灯亮,乙干道红灯亮,并且同时数码管从57s开始倒计时;倒计时结束,甲干道绿灯灭,黄灯亮且闪烁,乙干道红红亮,数码管显示倒计时3S;此次

10、计时结束,甲干道红灯亮,乙干道绿灯亮,同时数码管从27s开始倒计时;倒计时结束,乙干道绿灯灭,黄灯亮且闪烁,甲干道红灯亮,计时结束,一轮循环就此完成。(2)紧急情况时:按下左边第二个键紧急键,交通灯启动紧急状态,甲、乙两干道红灯同时亮起,数码管显示10秒倒计时,倒计时结束后,交通灯系统回到启动紧急情况前的状态,恢复正常通行。4.2 误差分析交通灯在运行中存在一定的误差,误差产生有三种可能,首先是采用的计时方案是软件计时的,计时优势利用中断来实现。而你开启定时器和开启LED灯顺序上是有先后的,这个过程需时间的,所以就产生了一定的误差,当然这个误差是避免不了的,其次还有硬件系统也有一定的影响。第三

11、,设计用到12MHz的晶振,计算是满20次为一秒钟,但实际会慢很多。5 设计总结与体会5.1设计总结本次课程设计是交通灯的设计,从用Proteus画原理图、PCB图到制板,再到编程,通过本次课程设计我学会了很多。首先是学会了利用自己所学的理论知识来解决实际问题,在整个设计过程中,我们把老师以前所讲的芯片的原理、作用及性能都运用到了这次设计中,这样加强了我们对课本知识的理解和巩固。我觉得这次设计不仅加强了我们对课本知识的回顾和温故,而且锻炼了我们运用软件的能力,实现了从理论与实际的结合。其次通过这次课程设计,加强了我们的动手、思考和解决问题的能力。书中的理论有点枯燥,运用书中的知识去调试,那是一

12、种无法比拟的成就感。这样更能激发我们对我们专业的兴趣,和对我们专业知识的理解和掌握,能激发我们对电子科研技术的钻研,增加设计兴趣。当然,在本次课程设计中也遇到了很多问题,首先对汇编指令不是很了解,一直得翻书;定时器初值的设置需进行计算,定置50ms;在将程序下载在最小系统,进行实物演练时,发现跳转在甲干道黄灯亮时蜂鸣器会响,开始还以为程序设置错误,仔细检查发现是最小系统在进行实物制作的过程中,将蜂鸣器和LED灯连在了一条线上。这次课程设计由于编程能力的有限和所学知识的局限性,在这个程序和设计系统中只实现了所有的基本要求,而且这其中还有许多不完善的地方,这说明我在这方面还存在着很多不足,知识不够

13、完备和系统,在以后的学习中还有待提高。希望老师能在以后的学习和生活中对我多加指导,促使我能取得更大的进步。5.2 教学建议通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。参考文献1马忠梅,单片机的C语言Windows环境编程宝典M, 北京:北京航空航天大学出版社,2003.6 2李光飞,单片机C程序设计指导M,北京:北京航空航天大学出版社,2003.01 3李光飞,单片机课程设计实例指导M,北京:北京航空航天大学出版社,2004.94李广弟.朱月秀.冷祖祁.单片机基础M,北京:北京航空航天大学出版社.2007.15高洪志.MCS-51单片机原理及应用技术教程

14、M,北京:人民邮电出版社,2009.46周润景,张丽娜,丁莉.基于PROTEUS的电路及单片机设计与仿真M,北京:北京航空航天大学出版社,2010.01附录A电路原理图:PCB图:布局图:附录B元器件清单名称数量参数单片机1个AT89S52共阳数码管2个4位一体底座3个晶振1个12MHz发光二极管9个单排插1个40PIN蜂鸣器1个按键9个排阻2个10K下载口座子1个十芯温度传感器1个18B20六脚按键开关1个USB电源线加接口1个电阻1个200电阻1个4.7K电阻3个1K电阻24个470电解电容1个22f瓷片电容2个33p短路帽3个PCB板子1块电源白色插座1个杜邦线1个铜柱 (带螺母)4个附

15、录C ORG 0000H LJMP MAIN ORG 000BH LJMP TTC0 ORG 001BH LJMP TTC1 ORG 0030H MAIN:CLR TR0 CLR TR1 MOV P3,#0FFH MOV PSW,#00H ;初始化 MOV SP,#7FH MOV TMOD,#11H MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#3CH MOV TL1,#0B0H SETB EA SETB ET0 SETB ET1 MOV 78H,#11H MOV 79H,#10H MOV 7AH,#10H MOV 7BH,#10H MOV 7CH,#10H MOV

16、7DH,#10H MOV 7EH,#10H MOV 7FH,#10H PP:LCALL DIRSTART:LCALL KEY JB 20H.0,K0 ;按下K0,启动计时 JB 20H.2,MAIN ;运行过程中,按下K2,则结束 LJMP PP K0:SETB TR0 MOV 21H,#00H SETB 21H.1 MOV 78H,#07H MOV 79H,#05H ;计时57秒 MOV R1,#20 MOV R2,#00H KK0:JB 20H.1, LOOPX0 ;按下JINJI键,则运行紧急程序 JB 20H.2, MAIN LCALL KEY LJMP KH0LOOPX0:CLR 2

17、0H.1 LCALL JINJI KH0:LCALL DIR LJMP KK0 TTC0: PUSH PSW CLR RS0 CLR RS1 MOV TH0,#3CH MOV TL0,#0B0H DJNZ R1,KL0 ;50ms,循环20次,即1s MOV R1,#20 INC R2 MOV R0,#78H LCALL DADD1 KL0: JB 21H.1, ZHUT1 JB 21H.2, ZHUT2 JB 21H.3, ZHUT3 JB 21H.4, ZHUT4 ZHUT1:CJNE R2,#57,LOOP11 ;不等,则甲绿乙红 MOV R2,#00H CLR 21H.1 SETB 2

18、1H.2 ;相等,则亮黄灯 MOV 78H,#03H MOV 79H,#00H LJMP ZHUT2LOOP11: MOV P3,#0DEH ;甲通道亮绿灯,乙通道亮红灯 LJMP LAST10ZHUT2: CJNE R2,#03H,LOOP12 MOV R2,#00H CLR 21H.2 SETB 21H.3 MOV 78H,#07H MOV 79H,#02H LJMP ZHUT3LOOP12: CJNE R1,#10,FH1 MOV P3,#0DDH ;红灯均亮 LJMP LAST10 FH1:MOV P3,#0DFH LJMP LAST10ZHUT3: CJNE R2,#27,LOOP1

19、3 MOV R2,#00H CLR 21H.3 SETB 21H.4 MOV 78H,#03H MOV 79H,#00H LJMP ZHUT4LOOP13: MOV P3,#0F3H ; 甲通道亮红灯,乙通道亮绿灯 LJMP LAST10ZHUT4: CJNE R2,#03H,LOOP14 MOV R2,#00H CLR 21H.4 SETB 21H.1 MOV 78H,#07H MOV 79H,#05H LJMP ZHUT1LOOP14: CJNE R1,#10,FH2 ;黄灯闪烁 MOV P3,#0FBH LJMP LAST10 FH2:MOV P3,#0EBHLAST10:POP PSW

20、RETI JINJI:PUSH TH0 PUSH TL0PUSH PSWCLR RS0SETB RS1MOV R5,78H ;送R5保存MOV R6,79HMOV TH1,#3CHMOV TL1,#0B0HMOV R1,#20MOV R2,#00HMOV 78H,#00MOV 79H,#01H CLR TR0SETB TR1 GHK:LCALL DIRJB 21H.7,LAST1LCALL KEYJB 20H.2,KXLJMP KY KX:LJMP MAIN KY:CLR 21H.7 LJMP GHK LAST1:CLR TR1 MOV 78H,R5 ;送R5恢复 MOV 79H,R6 SET

21、B TR0 POP PSW POP TL0 POP TH0 RET TTC1: PUSH PSW CLR RS0 SETB RS1 CLR 21H.7 MOV TH1,#3CH MOV TL1,#0B0H DJNZ R1,LOP1 MOV R1,#20 INC R2 MOV R0,#78H LCALL DADD1 CJNE R2,#10,LOP1 SETB 21H.7 LOP1: MOV P3,#0DBH POP PSW RETI ;数码管显示子程序 DIR:PUSH DPH PUSH DPL PUSH ACC PUSH PSW SETB RS0 CLR RS1 MOV R0,#78H ;建立

22、显示缓冲区首址 MOV R5,#0FEH ;从右边开始显示 MOV A, R5 ;位控码初值 LD0:MOV DPTR,#TABLE MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P2,A LCALL DELAY INC R0 ;转向下一缓冲单元 MOV A,R5 ;位控码 JNB ACC.7,LD1 ;判断是否到最高位,到,则转移 RL A ;不到,显示左移一位 MOV R5,A ;位控码送R5保存 LJMP LD0 ;继续扫描 LD1:POP PSW POP ACC ;恢复现场 POP DPL POP DPH RETKEY: LCALL KEYC

23、HULI ;键扫程序 JZ EXIT CLR TR0 LCALL DIR LCALL KEYCHULI JZ EXIT MOV B,20HKEYSF:LCALL KEYCHULI JZ KEY1 LCALL DIR LJMP KEYSF KEY1:MOV 20H,B EXIT:RET KEYCHULI:MOV P1,#0FFH MOV A,P1 CPL A ANL A,#0FH MOV 20H,A RET DELAY: MOV R7,#01HMOV R6,#0F0H KF0: DJNZ R6,KF0MOV R6,#0FFHDJNZ R7,KF0RET;减一子程序:DADD1: PUSH ACC MOV A,R0 DEC A CJNE A,#0FFH,LGH0 LJMP LGH1LGH0: MOV R0,A LJMP LAST0LGH1: MOV A,#09H MOV R0,A INC R0 MOV A,R0 DEC A MOV R0,ALAST0: POP ACC RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H ; 0-6 DB 0F8H,80H,90H,88H,83H,0C6H,0A1H ; 7-DDB 86H,8EH,0FFH,0CH ; E-F,灭,P. END

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号