基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式_第1页
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式_第2页
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式_第3页
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式_第4页
基于单片机的交通灯控制系统设计论文毕业论文(设计)word格式_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 ;建立显示缓冲区首址 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 ;转向下一缓冲单元 m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论