单片机交通灯课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机系统课程设计报告
专业:自动化073班
学生姓名:XXXX XXX
学号:2007023323 2007023328
指导教师:XXXX XXXX
完成日期:2010年7月7日
目录
1 设计任务和性能指标 (1)
1.1设计任务 (1)
1.2性能指标 (1)
2 设计方案 (2)
2.1任务分析 (2)
2.2方案设计 (2)
3 系统硬件设计 (3)
3.1单片机的最小系统 (3)
3.2电源电路 (4)
3.3数码管显示时间电路设计 (4)
3.4信号灯控制电路设计 (5)
4 系统软件设计 (5)
4.1主程序设计 (5)
5 调试及性能分析 (6)
5.1调试分析 (6)
5.1.1 软件调试 (6)
5.1.2 硬件调试 (6)
5.1.3 系统功能调试 (6)
6 心得体会 (6)
参考文献 (8)
附录1 系统原理图 (9)
附录2 系统仿真图 (10)
附录3 程序清单 (11)
1 设计任务和性能指标
1.1设计任务
利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。设东西向为主干道,南北为支干道。
1.2性能指标
(1)处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。
(2)干道均有车时,两者交替允许通行,主干道每次放行60秒,支干道每次放行40秒,设立60秒、40秒计时、显示电路。
南 北
东
西
(3)绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz 的频率闪烁。
(4)支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。
2 设计方案
2.1任务分析
模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等
2.2方案设计
根据设计的要求可知,系统的硬件原理框图如下图所示。 单片
机键盘LED 显示三色指示灯
系统硬件框图
单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB 的FLASH ROM ,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的IO 口不够用时,可以考虑扩展8255或8155满足系统的要求。
2. 软件方案
根据设计要求,程序框图如图1所示。软件可由汇编语言完成,也可由C 语言完成。软件设计可以分为以下几个功能模块:
主程序:初始化及键盘监控。
计时程序模块:为定时器的中断服务子程序,完成0.1秒(或其他时间)和1秒的时间定时。
显示程序模块:完成60个发光二极管(实际上只需驱动30个)和8个LED 数码管的显示驱动。
程序流程图
3 系统硬件设计
3.1单片机的最小系统
ATMEL 公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz ,复位电路采取按键复位方式。具体连接图3.1和图3.2。
单片机系统的时钟电路
开始 初始化 判断当前状态 调用正常 运行子程序 调用紧急 状态子程序
单片机系统的复位电路
3.2电源电路设计
电源用5V直流变压器直接供电。
3.3数码管显示电路
显示电路采用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)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。
(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。
5.1.3 系统功能调试
通过软件仿真显示,系统基本能完成要求,由于设计思路出现问题,键盘没有正确的做出来,没有键盘电路,紧急情况也可以通过一个按钮来采取相关的动作。
6 心得体会
这次单片机课程设计历时一个学期的时间,在这次设计过程里我们体验了从设计、画板、编程、焊板到调试的整个过程。
对于交通灯这个题目,由于以前学单片机这个课程时,做过类似相关的实验,觉得这个比较简单而且做出的东西也比较直观,在确定题目之后,查阅了大量的资料,初步完成了电路设计方案。
接着就是用AD6这个软件来画电路板,这个软件的应用上学期也学过了,但是学的时候感觉很简单,但是到了具体设计的时候,问题不断的出来,比如有的器件库里面没有封装,要自己花封装,这时候就很容易出问题,比如焊盘的大小,有的器件上焊盘大小不一样,有个别大的是用来固定的,这个很容易被忽略。
下来就是程序的设计了,虽然感觉交通灯程序没什么难的,就是数码管倒计时显示加几个闪烁的二极管就完事,但是也许是起初想的太简单,设计时到了细节处,也出了不少问题,而且很难被检查出来,但是最后经过我们的不断努力,还是写出来正确的代码。
上周学校终于把板子给做回来了,怀着紧张的心情一个器件一个器件的完成板子的焊接,最后通过串口线把程序下载到板子上,但是板子却没有意料中的效