单片机交通灯课程设计报告_第1页
单片机交通灯课程设计报告_第2页
单片机交通灯课程设计报告_第3页
单片机交通灯课程设计报告_第4页
单片机交通灯课程设计报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 单片机系统课程设计报告专业:自动化073班学生姓名:闫乐于绿淼学号:指导教师:赵凤强付立军完成日期:2010年7月7日目录TOC o 1-5 h z HYPERLINK l bookmark6 1设计任务和性能指标11.1设计任务11.2性能指标1 HYPERLINK l bookmark8 2设计方案22.1任务分析2 HYPERLINK l bookmark10 2.2方案设计2 HYPERLINK l bookmark14 3系统硬件设计33.1单片机的最小系统33.2电源电路43.3数码管显示时间电路设计43.4信号灯控制电路设计5 HYPERLINK l bookmark16 4系

2、统软件设计5主程序设计5 HYPERLINK l bookmark18 5调试及性能分析6调试分析65.1.1软件调试65.1.2硬件调试65.1.3系统功能调试6 HYPERLINK l bookmark20 6心得体会6 HYPERLINK l bookmark22 参考文献8 HYPERLINK l bookmark24 附录1系统原理图9附录2系统仿真图10 HYPERLINK l bookmark32 附录3程序清单11 1设计任务和性能指标1.1设计任务利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号

3、灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。设东西向为主干道,南北为支干道。1.2性能指标(1)处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。(2)干道均有车时,两者交替允许通行,主干道每次放行60秒,支干道每次放行40秒,设立60秒、40秒计时、显示电路。(3)绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz的频率闪烁。(4)支干道通行时间及黄灯亮的时间均可在099秒内任意设置。2设计方案2.1任务分析模拟交通灯控制器就是使用

4、单片机来控制一些LED和数码管,模拟真实交通灯的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等2.2方案设计根据设计的要求可知,系统的硬件原理框图如下图所示。键盘单片机LED显示三色指示灯系统硬件框图单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASHROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的IO口不

5、够用时,可以考虑扩展8255或8155满足系统的要求。2.软件方案根据设计要求,程序框图如图1所示。软件可由汇编语言完成,也可由C语言完成。软件设计可以分为以下几个功能模块:主程序:初始化及键盘监控。计时程序模块:为定时器的中断服务子程序,完成0.1秒(或其他时间)和1秒的时间定时。显示程序模块:完成60个发光二极管(实际上只需驱动30个)和8个LED数码管的显示驱动。初始化判断当前状态调用正常调用紧急运行子程序状态子程序程序流程图3系统硬件设计3.1单片机的最小系统ATMEL公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。具体连接图

6、3.1和图3.2。II112MC2Cap30pF1Cap3Opl-单片机系统的时钟电路SIqvcc|iCapPoE珂D|I120uFEll11R_esSemiiox单片机系统的复位电路3.2电源电路设计电源用5V直流变压器直接供电。3.3数码管显示电路显示电路采用8个共阴数码管,P1口作为数码管的输入,P3.4、P3.5、P3.6P3.7分别作为东西南北四路数码管的位选端。数码管显示电路3.4信号灯控制电路4系统软件设计4.1主程序设计系统程序流程图5调试及性能分析调试分析5.1.1软件调试软件调试主要是利用proteus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。5.1.2硬件调

7、试硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。5.1.3系统功能调试通过软件仿真显示,系统基本能完成要求,由于设计思路出现问题,键盘没有正确的做出来,没有键盘电路,紧急情况也可以通过一个按钮来采取相关的动作。6心得体会这次单片机课程设计历时一个学期的时间,在这次设计过程里我们体验了从设计、画板、编程、焊板到

8、调试的整个过程。对于交通灯这个题目,由于以前学单片机这个课程时,做过类似相关的实验,觉得这个比较简单而且做出的东西也比较直观,在确定题目之后,查阅了大量的资料,初步完成了电路设计方案。接着就是用AD6这个软件来画电路板,这个软件的应用上学期也学过了,但是学的时候感觉很简单,但是到了具体设计的时候,问题不断的出来,比如有的器件库里面没有封装,要自己花封装,这时候就很容易出问题,比如焊盘的大小,有的器件上焊盘大小不一样,有个别大的是用来固定的,这个很容易被忽略。下来就是程序的设计了,虽然感觉交通灯程序没什么难的,就是数码管倒计时显示加几个闪烁的二极管就完事,但是也许是起初想的太简单,设计时到了细节

9、处,也出了不少问题,而且很难被检查出来,但是最后经过我们的不断努力,还是写出来正确的代码。上周学校终于把板子给做回来了,怀着紧张的心情一个器件一个器件的完成板子的焊接,最后通过串口线把程序下载到板子上,但是板子却没有意料中的效果,而且没一点现象,用万用表检查单片机的电压差不多为零,查出了问题所在松了口气,后来在网上查资料知道原来变压器的接口那三个引脚,两个GND必须短接,要不就不能正常供电,本以为短接后就正常了,但是数码管还是没反应,二极管基本可以正常显示,这时候真是一种煎熬,差了很久找不到原因,后来对照着原理图一个个的检查,最后发现原来是数码管封装错了,板子上的数码管公共极是3、8两个引脚,

10、但是原理图上封装的事1、6,当时也没有注意,以为只要是共阴管就没问题了,没想到软件本身就存在错误。通过这次课设,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力。经历了从最初的设计到最后做出产品的开发过程,提高了对专业的认识及兴趣,对于我们工科来说,对以后就业有及其重大的影响。参考文献徐维祥.单片微型机原理及应用大连理工大学出版社,2006.12胡汉才单片机原理与接口技术M.北京:清华大学大学出版社,2004.1-505.闫胜利.AltiumDesigner6.X中文版使用教程电子工业出版社2007.6附录1系统原理图111LiTlU|1-.

11、AujrESm;*UlLEJI4muJ1Jlaik_干一.J,*iiXiskJ413E-MSTTHETaLEJape4T3VUMrLTEK壬PL2;LLIII、4Lu-樹04QCLUML.1M-conflMH監ns*42hlM卩谕fIL231卩專UYII筒I匸附录2系统仿真图附录3程序清单;程序实现功能;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。;某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。;工作寄存器及存储单元分配;1.工作寄存器;R2设置为定时器定时中断次数,R6、

12、R7用于延时程序中的寄存器;2.片内存储单元;30H、31H作为两组数码管显示数据存储单元;32H、33H作为交通灯初始状态存储单元;40H、41H作为交通灯显示数据存储单元;3.标志位;00H:南北通行标志位;01H:东西通行标志位;02H:紧急事件标志位SNFEQU00HEWFEQU01HURFEQU02HORG0000HLJMPMAINORG000BHLJMPDSZDORG0003H;南北通行标志位;东西通行标志位;紧急事件标志位;上电转主程序;定时中断入口;紧急中断入口LJMPURZDORG0030HMAIN:LCALLINITLOOP:LCALLDIS;调用初始化子程序;循环执行显示

13、子程序AJMPLOOP;/初始化程序INIT:SETBSNFSETBEWFSETBURFMOVR2,#20MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#3CHSETBEA;定时器中断20次为1s;初始化定时器;开定时中断与紧急中断SETBET0SETBTR0SETBEX0SETBIT0;设置中断程控方式MOVDPTR,#TAB;数值首地址放入DPTR中MOV40H,#40;东南西北通行时间设置MOV41H,#40MOV30H,#40;通行时间初始化MOV31H,#60MOVP0,#4CH;初始化时南北通行并把交通灯状态分别放在32H和33H中MOV32H,#4CHMOVP2,

14、#15HMOV33H,#15HRET;/显示子程序DIS:MOVP3,#0DFH;选中南北方向的十位数码管MOVA,30H;把显示数据送人数码管显示MOVB,#10DIVABMOVCA,A+DPTRMOVP1,ALCALLD1MSMOVP3,#0EFH;选中南北方向的个位数码管MOVA,B;送入数码管显示MOVCA,A+DPTRMOVP1,ALCALLD1MSMOVP3,#7FH;选中第东西方向的十位数码管MOVA,31H;送入数码管显示MOVB,#10DIVABMOVCA,A+DPTRMOVP1,ALCALLD1MSMOVP3,#0BFH;选中第东西方向的个位数码管MOVA,BMOVCA,A

15、+DPTRMOVP1,ALCALLD1MSSETBP3.0SETBP3.1JNBP3.0,DIS_S;查询是否第一个按键按下JNBP3.1,DIS_E;查询是否第二个按键按下AJMPDIS_R;没有键按下则返回DIS_S:LCALLD5MS;按键去抖JNBP3.0,DIS_SNAJMPDIS_RDIS_SN:MOV40H,#50;对通行时间从新分配,南北通行时间加长MOV41H,#30AJMPDIS_RDIS_E:LCALLD5MS;按键去抖JNBP3.1,DIS_EWAJMPDIS_RDIS_EW:MOV40H,#30;东西通行时间加长MOV41H,#50DIS_R:RET;/定时中断处理程

16、序DS_C:LJMPDS_R;接力跳转DSZD:PUSHACC;保护现场PUSHPSWCLRTR0;关定时器及中断标志位并重新赋值CLRTF0MOVTL0,#0B0HMOVTH0,#3CHDJNZR2,DS_C;判断1m时间是否到达MOVR2,#20;到达重新赋值DEC30H;南北方向通行时间减一MOVA,30H;把减一后的时间送入显示存储单元;南北通行到达最后4秒时黄灯闪烁DS_10:CJNEA,#4,DS_11;如果通行时间剩余4秒JNBSNF,DS_11;判断是否是南北通行MOVP0,#8AHMOV32H,#8AH;把交通灯状态存入存储单元(后面类似)DS_11:CJNEA,#3,DS_

17、12;不是剩余3秒,返回JNBSNF,DS_12;不是南北通行时间,返回MOVP0,#88HMOV32H,#88HDS_12:CJNEA,#2,DS_13JNBSNF,DS_13MOVP0,#8AHMOV32H,#8AHDS_13:CJNEA,#1,DS_14JNBSNF,DS_14MOVP0,#88HMOV32H,#88HDS_14:JNZDS_NE;通行时间没有结束转向改变东西方向的数码管CPLSNF;如果通行时间结束则对标志位取反JNBSNF,DS_1;判断是否南北通行MOV30H,40H;是,点亮相应的交通灯MOVP0,#4CHMOV32H,#4CH;存储交通灯状态MOVP2,#15H

18、MOV33H,#15H;存储交通灯状态DS_NE:DEC31H;东西方向通行时间减一MOVA,31H;把通行剩余时间送入显示存储单元;东西方向通行时间剩余4秒钟黄灯闪烁(程序注释与南北方向类似略)DS_20:CJNEA,#4,DS_21JBEWF,DS_21MOVP0,#51HMOV32H,#51HDS_21:CJNEA,#3,DS_22JBEWF,DS_22MOVP0,#41HMOV32H,#41HDS_22:CJNEA,#2,DS_23JBEWF,DS_23MOVP0,#51HMOV32H,#51HDS_23:CJNEA,#1,DS_24JBEWF,DS_24MOVP0,#41HMOV32H,#41HDS_24:JNZDS_R;东西方向时间没有结束,返回CPLEWF;对通行状态取反JNBEWF,DS_2;东西方向通行时间到来,跳转MOV31H,#80;东西方向通行结束,重新

温馨提示

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

评论

0/150

提交评论