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

下载本文档

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

文档简介

精品文档 。 - 0 -欢迎下载- 0 -欢迎下载 单片机系统课程设计报告单片机系统课程设计报告 专 业: 自动化 073 班 学 生 姓 名: XXXX XXX 学 号: 2007023323 2007023328 指 导 教 师: XXXX XXXX 完成日期:2010 年 7 月 7 日 精品文档 。 - 1 -欢迎下载- 1 -欢迎下载 目目 录录 1 1 设计任务和性能指标设计任务和性能指标.1 1 1.1 设计任务 .1 1.2 性能指标 .1 2 2 设计方案设计方案.2 2 2.1 任务分析 .2 2.2 方案设计 .2 3 3 系统硬件设计系统硬件设计.3 3 3.1 单片机的最小系统 .3 3.2 电源电路 .4 3.3 数码管显示时间电路设计 .4 3.4 信号灯控制电路设计 .5 4 4 系统软件设计系统软件设计.5 5 4.1 主程序设计 .5 5 5 调试及性能分析调试及性能分析.6 6 5.1 调试分析 .6 5.1.1 软件调试 .6 5.1.2 硬件调试 .6 5.1.3 系统功能调试 .6 6 6 心得体会心得体会.6 6 参考文献参考文献.8 8 附录附录 1 1 系统原理图系统原理图 .9 9 附录附录 2 2 系统仿真图系统仿真图 .1 10 0 附录附录 3 3 程序清单程序清单 .1 11 1 精品文档 。 - 1 -欢迎下载- 1 -欢迎下载 1 1 设计任务和性能指标设计任务和性能指标 1.1 设计任务 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道 和一条支干道汇合成十字路口,在每 个入口处设置红、绿、黄三色信号灯, 红灯亮禁止通行,绿灯亮允许通行, 黄灯亮则给行驶中的车辆有时间停在 禁行线外。用红、绿、黄发光二极管作 信号灯。如图上图所示。设东西向为 主干道,南北为支干道。 1.2 性能指标 (1)处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时, 支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2)干道均有车时,两者交替允许通行,主干道每次放行 60 秒,支干道每次 放行 40 秒,设立 60 秒、40 秒计时、显示电路。 (3)绿灯亮到红灯亮的转换过程中,要亮 5 秒黄灯作为过渡。黄灯亮时,原红 灯按 1Hz 的频率闪烁。 (4)支干道通行时间及黄灯亮的时间均可在 099 秒内任意设置。 2 2 设计方案设计方案 2.12.1 任务分析 南 北 东 西 精品文档 。 - 2 -欢迎下载- 2 -欢迎下载 模拟交通灯控制器就是使用单片机来控制一些 LED 和数码管,模拟真实交通灯 的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字 路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等 2.22.2 方案设计方案设计 根据设计的要求可知,系统的硬件原理框图如下图所示。 单单 片片 机机 键键盘盘 LED显显示示 三三色色指指示示灯灯 系统硬件框图 单片机可选用 AT89C51,它与 8051 系列单片机全兼容,但其内部带有 4KB 的 FLASH RO M,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用 2 个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系 统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的 IO 口不够用 时,可以考虑扩展 8255 或 8155 满足系统的要求。 2. 软件方案 根据设计要求,程序框图如图 1 所示。软件可由汇编语言完成,也可由 C 语言完成。软 件设计可以分为以下几个功能模块: 主程序:初始化及键盘监控。 计时程序模块:为定时器的中断服务子程序,完成 0.1 秒(或其他时间)和 1 秒的时间 定时。 显示程序模块:完成 60 个发光二极管(实际上只需驱动 30 个)和 8 个 LED 数码管的显 示驱动。 开始 初始化 判断当前状态 调用正常 运行子程序 调用紧急 状态子程序 精品文档 。 - 3 -欢迎下载- 3 -欢迎下载 程序流程图 3 3 系统硬件设计系统硬件设计 3.1 单片机的最小系统 ATMEL 公司生产的 AT89C52 单片机它是硬件电路的核心部分,时钟电路晶 振使用 12MHz,复位电路采取按键复位方式。具体连接图 3.1 和图 3.2。 单片机系统的时钟电路 单片机系统的复位电路 3.2 电源电路设计 电源用 5V 直流变压器直接供电。 精品文档 。 - 4 -欢迎下载- 4 -欢迎下载 3.3 数码管显示电路 显示电路采用 8 个共阴数码管,P1 口作为数码管的输入, P3.4、P3.5、P3.6 P3.7 分别作为东西南北四路数码管的位选端。 数码管显示电路 3.4 信号灯控制电路 应急电路 精品文档 。 - 5 -欢迎下载- 5 -欢迎下载 4 4 系统软件设计系统软件设计 4.1 主程序设计 系统程序流程图 5 5 调试及性能分析调试及性能分析 5.1 调试分析 5.1.15.1.1 软件调试软件调试 软件调试主要是利用 proteus 仿真软件完成电路的搭建,运行以发现设计 中的错误及时改正。 5.1.25.1.2 硬件调试硬件调试 硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及 测试结果如下: (1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导 线是否完全连接,对未连接的进行修复。 (2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊, 经测试,各连接不存在问题。 (3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。 开始 参数初始化 显示子程序 中断处理 紧急中断子程序 精品文档 。 - 6 -欢迎下载- 6 -欢迎下载 5.1.35.1.3 系统功能调试系统功能调试 通过软件仿真显示,系统基本能完成要求,由于设计思路出现问题,键盘 没有正确的做出来,没有键盘电路,紧急情况也可以通过一个按钮来采取相关 的动作。 6 6 心得体会心得体会 这次单片机课程设计历时一个学期的时间,在这次设计过程里我们体验了 从设计、画板、编程、焊板到调试的整个过程。 对于交通灯这个题目,由于以前学单片机这个课程时,做过类似相关的实验, 觉得这个比较简单而且做出的东西也比较直观,在确定题目之后,查阅了大量 的资料,初步完成了电路设计方案。 接着就是用 AD6 这个软件来画电路板,这个软件的应用上学期也学过了,但 是学的时候感觉很简单,但是到了具体设计的时候,问题不断的出来,比如有 的器件库里面没有封装,要自己花封装,这时候就很容易出问题,比如焊盘的 大小,有的器件上焊盘大小不一样,有个别大的是用来固定的,这个很容易被 忽略。 下来就是程序的设计了,虽然感觉交通灯程序没什么难的,就是数码管倒计 时显示加几个闪烁的二极管就完事,但是也许是起初想的太简单,设计时到了 细节处,也出了不少问题,而且很难被检查出来,但是最后经过我们的不断努 力,还是写出来正确的代码。 上周学校终于把板子给做回来了,怀着紧张的心情一个器件一个器件的完成 板子的焊接,最后通过串口线把程序下载到板子上,但是板子却没有意料中的 效果,而且没一点现象,用万用表检查单片机的电压差不多为零,查出了问题 所在松了口气,后来在网上查资料知道原来变压器的接口那三个引脚,两个 GND 必须短接,要不就不能正常供电,本以为短接后就正常了,但是数码管还 是没反应,二极管基本可以正常显示,这时候真是一种煎熬,差了很久找不到 原因,后来对照着原理图一个个的检查,最后发现原来是数码管封装错了,板 子上的数码管公共极是 3、8 两个引脚,但是原理图上封装的事 1、6,当时也 没有注意,以为只要是共阴管就没问题了,没想到软件本身就存在错误。 通过这次课设,对以前学过的知识进行了巩固,加深了理解,提高了应用 的能力,而且提高了我们的发现、分析、解决问题的能力。经历了从最初的设 计到最后做出产品的开发过程,提高了对专业的认识及兴趣,对于我们工科来 说,对以后就业有及其重大的影响。 精品文档 。 - 7 -欢迎下载- 7 -欢迎下载 参考文献参考文献 1 徐维祥.单片微型机原理及应用 大连理工大学出版社,2006.12 2 胡汉才.单片机原理与接口技术M.北京: 清华大学大学出版社,2004.1-505. 3 闫胜利.Altium Designer 6.中文版使用教程 电子工业出版社 2007.6 精品文档 。 - 8 -欢迎下载- 8 -欢迎下载 附录附录 1 1 系统原理图系统原理图 精品文档 。 - 9 -欢迎下载- 9 -欢迎下载 附录附录 2 2 系统仿真图系统仿真图 精品文档 。 - 10 -欢迎下载- 10 -欢迎下载 附录附录 3 3 程序清单程序清单 ;- ;程序实现功能 ;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道 在内的道路交通状态。 ;某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。 ;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。 ;工作寄存器及存储单元分配 ;1.工作寄存器 ;R2 设置为定时器定时中断次数,R6、R7 用于延时程序中的寄存器 ;2.片内存储单元 ;30H、31H 作为两组数码管显示数据存储单元;32H、33H 作为交通灯初始状态存储单元; 40H、41H 作为交通灯显示数据存储单元 ;3.标志位 ;00H:南北通行标志位 ; 01H:东西通行标志位;02H:紧急事件标志位 ;- SNF EQU 00H ;南北通行标志位 EWF EQU 01H ;东西通行标志位 URF EQU 02H ;紧急事件标志位 ORG 0000H LJMP MAIN ;上电转主程序 ORG 000BH ;定时中断入口 LJMP DSZD ORG 0003H ;紧急中断入口 LJMP URZD ORG 0030H MAIN: LCALL INIT ;调用初始化子程序 LOOP: LCALL DIS ;循环执行显示子程序 AJMP LOOP ;/初始化程序 INIT: SETB SNF SETB EWF SETB URF MOV R2,#20 ;定时器中断 20 次为 1s MOV TMOD,#01H ;初始化定时器 MOV TL0,#0B0H MOV TH0,#3CH SETB EA ;开定时中断与紧急中断 精品文档 。 - 11 -欢迎下载- 11 -欢迎下载 SETB ET0 SETB TR0 SETB EX0 SETB IT0 ;设置中断程控方式 MOV DPTR,#TAB ;数值首地址放入 DPTR 中 MOV 40H,#40 ;东南西北通行时间设置 MOV 41H,#40 MOV 30H,#40 ;通行时间初始化 MOV 31H,#60 MOV P0,#4CH ;初始化时南北通行并把交通灯状态分别放在 32H 和 33H 中 MOV 32H,#4CH MOV P2,#15H MOV 33H,#15H RET ;/显示子程序 DIS: MOV P3,#0DFH ;选中南北方向的十位数码管 MOV A,30H ;把显示数据送人数码管显示 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P1,A ; LCALL D1MS MOV P3,#0EFH ;选中南北方向的个位数码管 MOV A,B ;送入数码管显示 MOVC A,A+DPTR MOV P1,A LCALL D1MS MOV P3,#7FH ;选中第东西方向的十位数码管 MOV A,31H ;送入数码管显示 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P1,A LCALL D1MS MOV P3,#0BFH ;选中第东西方向的个位数码管 MOV A,B MOVC A,A+DPTR MOV P1,A LCALL D1MS SETB P3.0 SETB P3.1 JNB P3.0,DIS_S ;查询是否第一个按键按下 精品文档 。 - 12 -欢迎下载- 12 -欢迎下载 JNB P3.1,DIS_E ;查询是否第二个按键按下 AJMP DIS_R ;没有键按下则返回 DIS_S:LCALL D5MS ;按键去抖 JNB P3.0,DIS_SN AJMP DIS_R DIS_SN:MOV 40H,#50 ;对通行时间从新分配,南北通行时间加长 MOV 41H,#30 AJMP DIS_R DIS_E:LCALL D5MS ;按键去抖 JNB P3.1,DIS_EW AJMP DIS_R DIS_EW:MOV 40H,#30 ;东西通行时间加长 MOV 41H,#50 DIS_R:RET ;/定时中断处理程序 DS_C: LJMP DS_R ;接力跳转 DSZD: PUSH ACC ;保护现场 PUSH PSW CLR TR0 ;关定时器及中断标志位并重新赋值 CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,DS_C ;判断 1m 时间是否到达 MOV R2,#20 ;到达重新赋值 DEC 30H ;南北方向通行时间减一 MOV A,30H ;把减一后的时间送入显示存储单元 ;南北通行到达最后 4 秒时黄灯闪烁 DS_10:CJNE A,#4,DS_11 ;如果通行时间剩余 4 秒 JNB SNF,DS_11 ;判断是否是南北通行 MOV P0,#8AH MOV 32H, #8AH ;把交通灯状态存入存储单元(后面类似) DS_11:CJNE A,#3,DS_12 ;不是剩余 3 秒,返回 JNB SNF,DS_12 ;不是南北通行时间,返回 MOV P0,#88H MOV 32H, #88H DS_12:CJNE A,#2,DS_13 JNB SNF,DS_13 MOV P0,#8AH MOV 32H, #8AH DS_13:CJNE A,#1,DS_14 JNB SNF,DS_14 MOV P0,#88H MOV 32H, #88H ;- 精品文档 。 - 13 -欢迎下载- 13 -欢迎下载 DS_14:JNZ DS_NE ;通行时间没有结束转向改变东西方向的数码管 CPL SNF ;如果通行时间结束则对标志位取反 JNB SNF,DS_1 ;判断是否南北通行 MOV 30H,40H ;是,点亮相应的交通灯 MOV P0,#4CH MOV 32H,#4CH ;存储交通灯状态 MOV P2,#15H MOV 33H, #15H ;存储交通灯状态 DS_NE:DEC 31H ;东西方向通行时间减一 MOV A,31H ;把通行剩余时间送入显示存储单元 ;东西方向通行时间剩余 4 秒钟黄灯闪烁(程序注释与南北方向类似 略) DS_20:CJNE A,#4,DS_21 JB EWF,DS_21 MOV P0,#51H MOV 32H, #51H DS_21:CJNE A,#3,DS_22 JB EWF,DS_22 MOV P0,#41H MOV 32H, #41H DS_22:CJNE A,#2,DS_23 JB EWF,DS_23 MOV P0,#51H MOV 32H, #51H DS_23:CJNE A,#1,DS_24 JB EWF,DS_24 MOV P0,#41H MOV 32H, #41H ;- DS_24:JNZ DS_R ;东西方向时间没有结束,返回 CPL EWF ;对通行状态取反 JNB EWF,DS_2 ;东西方向通行时间到来,跳转 MOV 31H,#80 ;东西方向通行结束,重新显示时间 MOV P0,#89H ;点亮相应的交通灯 MOV 32H, #89H MOV

温馨提示

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

评论

0/150

提交评论