单片机交通灯课程设计报告 下载本文

目录

1设计任务 ---------------------------------------------------------- 1 2 设计方案---------------------------------------------------------- 1

2.1任务分析----------------------------------------------------- 1 2.2方案设计----------------------------------------------------- 1 2.3硬件方案----------------------------------------------------- 1 2.4软件方案----------------------------------------------------- 2 3 系统硬件设计------------------------------------------------------ 3 3.1单片机的最小系统 -------------------------------------------- 3

3.2电源电路设计------------------------------------------------- 3 3.3数码管显示电路----------------------------------------------- 3 4 系统软件设计------------------------------------------------------ 4

4.1 主程序设计 -------------------------------------------------- 4 4.2系统程序----------------------------------------------------- 4 5 调试及性能分析---------------------------------------------------- 4

5.1软件调试----------------------------------------------------- 4 5.2硬件调试----------------------------------------------------- 4 5.3系统功能调试------------------------------------------------- 5 6 遇到的问题及解决-------------------------------------------------- 5 7 心得体会---------------------------------------------------------- 5 附录:-------------------------------------------------------------- 6 总结--------------------------------------------------------------- 10

0

1设计任务

利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。

2 设计方案 2.1任务分析

模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。红、黄、绿交替点亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。

2.2方案设计

我们设计的是十字路口的红绿灯,有东西,南北两个走向,前两个灯是东西的红灯和绿灯,后两个是南北的红灯和绿灯,前两个灯不会同时亮,后两个灯不会同时亮,第1个和第3个不会同时亮,暂时没有黄灯的功能。

2.3硬件方案

根据设计的要求可知,系统的硬件原理框图如下图所示

图1 硬件原理框图

1

单片机 数码管显示 LED数码管显示 晶振电路 复位电路 单片机可选用STC89C52,它与8051系列单片机全兼容,但其内部带有8KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。按键可以根据系统的需要进行复位。用三极管驱动数码管显示,三极管控制共阳位选端,控制数码管的显示。

2.4软件方案

首先南北方向红灯、东西方向绿灯亮,南北方向红灯15秒、东西方向绿灯10秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间5秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为10秒,东西方向有黄灯跳转为红灯,时间为15秒。当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。进入开始的状态,循环执行。

根据设计要求,程序框图如图所示。软件可由汇编语言完成,也可由C语言完成。软件设计可以分为以下几个功能模块: 数码管显示模块

动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。 LED红绿灯显示模块

状态1,东西绿灯亮,南北红灯亮 状态2,东西黄灯亮,南北红灯亮 状态3,东西红灯亮,南北绿灯亮 状态4,东西红灯亮,南北黄灯亮

2

结构框图

图2 LED红绿灯显示框图

结束 状态4 状态3 状态2 状态1 程序初始化 3 系统硬件设计 3.1单片机的最小系统

STC公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。

3.2电源电路设计

电源用5V直流变压器直接供电,usb接口供电。

3.3数码管显示电路

显示电路采用4个共阳数码管,用74HC244做驱动器,P0口作为数码管的输入,ULN2803作为控制位选端,P2.0,P2.1,P2.2, P2.3分别作为东西,南北四路数码管的位选端。

3

4 系统软件设计 4.1 主程序设计

系统程序流程图

图3 系统程序流程图

中断处理 显示子程序 程序初始化 开始 4.2系统程序

根据设计方案,设计满足要求的程序,并将程序烧写进单片机,运行程序,观察现象是否符合要求,若不符合要求继续修改程序。直至能达到要求。程序清单见附录

5 调试及性能分析 5.1软件调试

软件调试主要是利用protus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。

5.2硬件调试

硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:

(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。(3)以上两项检查

4