单片机系统课程设计报告-基于单片机系统的交通灯设计

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

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

1、单片机系统课程设计报告题目: 基于单片机系统的交通灯设计 专业: 姓 名 学号:同组人:指 导 教 师: 完成日期:2010 年 12 月 26 日1 设计任务和性能指标1.1 设计任务利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图右图所示。设东西向为主干道,南北为支干道。1.2 性能指标(1 )处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红

2、灯。(2 )干道均有车时,两者交替允许通行,主干道每次放行 60 秒,支干道每次放行 40 秒,设立 60 秒、40 秒计时、显示电路。(3 )绿灯亮到红灯亮的转换过程中,要亮 5 秒黄灯作为过渡。黄灯亮时,原红灯按 1Hz 的频率闪烁。(4 )支干道通行时间及黄灯亮的时间均可在 099 秒内任意设置。2 设计方案2.1 任务分析模拟交通灯控制器就是使用单片机来控制一些 LED 和数码管,模拟真实交通灯的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等2.2 方案设计根据设计的要求可知,系统的硬件原理框图如下图所示。单片机

3、键 盘L E D 显 示三 色 指 示 灯系统硬件框图单片机可选用 AT89C51,它与 8051 系列单片机全兼容,但其内部带有 4KB 的 FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用 2 个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的 IO 口不够用时,可以考虑扩展 8255 或 8155 满足系统的要求。2. 3 软件方案 根据设计要求,程序框图如图所示。软件可由汇编语言完成,也可由 C 语言完成。软件设计可以分为以下几个功能模块:南北东

4、西主程序:初始化及键盘监控。计时程序模块:为定时器的中断服务子程序,完成 0.1 秒(或其他时间)和 1 秒的时间定时。 显示程序模块:完成 60 个发光二极管(实际上只需驱动 30 个)和 8 个 LED 数码管的显示驱动。程序流程图3 系统硬件设计3.1 单片机的最小系统ATMEL 公司生产的 AT89C52 单片机它是硬件电路的核心部分,时钟电路晶振使用 12MHz,复位电路采取按键复位方式。具体连接图 3.1 和图 3.2。单片机系统的时钟电路开始初始化判断当前状态调用正常运行子程序调用紧急状态子程序 单片机系统的复位电路3.2 电源电路设计电源用 5V 直流变压器直接供电。3.3 数

5、码管显示电路显示电路采用 8 个共阴数码管, P1 口作为数码管的输入,P3.4、P3.5 、P3.6 P3.7 分别作为东西南北四路数码管的位选端。数码管显示电路3.4 信号灯控制电路应急电路4 系统软件设计4.1 主程序设计系统程序流程图 5 调试及性能分析5.1 调试分析5.1.1 软件调试软件调试主要是利用 proteus 仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。5.1.2 硬件调试硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:(1 )检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。(2 )参

6、照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。开始参数初始化显示子程序中断处理中断处理紧急中断子程序(3 )以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。5.1.3 系统功能调试通过软件仿真显示,系统基本能完成要求,由于设计思路出现问题,键盘没有正确的做出来,没有键盘电路,紧急情况也可以通过一个按钮来采取相关的动作。6 心得体会由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。经过这次单片机设计,我认识到自己在这方面的很大不足,还好有同学的帮助,一起研究,同时查阅了许多资

7、料,最后终于把这个交通灯的设计搞出来。以前我们做实验也做出来过交通灯这个项目,但是那跟这个相比很容易了,因为那只需要输入并不需要芯片的程序设计,而这个设计则完全是我们一手起草并借鉴前人经验而做成的,很有成就感,感觉单片机这门课真的很重要,因为它功能太强大了,我们学好了可以做许多有用的东西。以前对单片机还心里面一直对单片机害怕,感觉太深奥了不好理解。但是经过这次仿真,给人以很真实的感觉,它确实就是这样,从现象观察发现,我们的思维是对的,程序是正确的,因此,感觉单片机又不是那样难以理解,我以后要更加的努力学习更多的关于单片机设计的知识,把它学好,以后能够用到的。我相信自己是能够做到的!参考文献1李

8、朝青.单片机原理及接口技术(第 3 版).北京:北京航空航天大学出版社2 徐维祥.单片微型机原理及应用 大连理工大学出版社3 胡汉才.单片机原理与接口技术M.北京: 清华大学大学出版社4 闫胜利.Altium Designer 6.中文版使用教程电子工业出版社附录 1 系统原理图 附录 2 系统仿真图 附录 3 程序清单;-;程序实现功能;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。;某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。;工作寄存器及存储单元分配;1.工作寄存器;

9、R2 设置为定时器定时中断次数 ,R6、R7 用于延时程序中的寄存器;2.片内存储单元;30H、31H 作为两组数码管显示数据存储单元;32H、33H 作为交通灯初始状态存储单元;40H、41H 作为交通灯显示数据存储单元;3.标志位;00H:南北通行标志位 ; 01H:东西通行标志位;02H:紧急事件标志位 ;-SNF EQU 00H ;南北通行标志位EWF EQU 01H ;东西通行标志位URF EQU 02H ;紧急事件标志位ORG 0000HLJMP MAIN ;上电转主程序ORG 000BH ;定时中断入口LJMP DSZD ORG 0003H ;紧急中断入口LJMP URZDORG

10、 0030H MAIN: LCALL INIT ;调用初始化子程序LOOP: LCALL DIS ;循环执行显示子程序AJMP LOOP;/初始化程序INIT: SETB SNF SETB EWF SETB URF MOV R2,#20 ;定时器中断 20 次为 1sMOV TMOD,#01H ;初始化定时器MOV TL0,#0B0HMOV TH0,#3CHSETB EA ;开定时中断与紧急中断SETB ET0SETB TR0SETB EX0SETB IT0 ;设置中断程控方式MOV DPTR,#TAB ;数值首地址放入 DPTR 中MOV 40H,#40 ;东南西北通行时间设置MOV 41H

11、,#40MOV 30H,#40 ;通行时间初始化MOV 31H,#60MOV P0,#4CH ;初始化时南北通行并把交通灯状态分别放在 32H 和 33H中MOV 32H,#4CHMOV P2,#15HMOV 33H,#15HRET;/显示子程序DIS: MOV P3,#0DFH ;选中南北方向的十位数码管MOV A,30H ;把显示数据送人数码管显示MOV B,#10DIV ABMOVC A,A+DPTRMOV P1,A ;LCALL D1MSMOV P3,#0EFH ;选中南北方向的个位数码管MOV A,B ;送入数码管显示MOVC A,A+DPTR MOV P1,ALCALL D1MS

12、MOV P3,#7FH ;选中第东西方向的十位数码管MOV A,31H ;送入数码管显示MOV B,#10DIV ABMOVC A,A+DPTRMOV P1,ALCALL D1MSMOV P3,#0BFH ;选中第东西方向的个位数码管MOV A,BMOVC A,A+DPTRMOV P1,ALCALL D1MSSETB P3.0SETB P3.1JNB P3.0,DIS_S ;查询是否第一个按键按下JNB P3.1,DIS_E ;查询是否第二个按键按下AJMP DIS_R ;没有键按下则返回DIS_S:LCALL D5MS ;按键去抖JNB P3.0,DIS_SNAJMP DIS_R DIS_S

13、N:MOV 40H,#50 ;对通行时间从新分配,南北通行时间加长MOV 41H,#30AJMP DIS_RDIS_E:LCALL D5MS ;按键去抖JNB P3.1,DIS_EW AJMP DIS_RDIS_EW:MOV 40H,#30 ;东西通行时间加长MOV 41H,#50DIS_R:RET ;/定时中断处理程序DS_C: LJMP DS_R ;接力跳转DSZD: PUSH ACC ;保护现场PUSH PSWCLR TR0 ;关定时器及中断标志位并重新赋值CLR TF0MOV TL0,#0B0HMOV TH0,#3CHDJNZ 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_1

展开阅读全文
相关资源
相关搜索

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

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