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

下载本文档

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

文档简介

1、单片机交通灯设计单片机交通灯设计 洛阳理工学院洛阳理工学院 电气工程与其自动化系电气工程与其自动化系 专业:自动化专业:自动化 班 级:自动化八班 姓 名:01 白彦芳 02 何一婷 11 靳亚磊 指导老师:姚惠林 洛阳理工学院单片机课程设计 2 目录目录 1 1 设计任务和性能指标设计任务和性能指标.3 3 1.1 设计任务 .4 1.2 性能指标 .4 2 2 设计方案设计方案.4 4 2.1 任务分析 .4 2.2 方案设计 .4 2.2.1 硬件方案 .4 2.2.2 软件方案 .4 3 3 系统硬件设计系统硬件设计.6 6 3.1 单片机的最小系统 .6 3.2 电源电路 .6 3.

2、3 数码管显示时间电路 .6 3.4 系统原理图 .7 3.5 系统元件 .8 4 4 系统软件设计系统软件设计.8 8 4.1 主程序设计 .9 4.2 系统程序 .9 5 5 调试及性能分析调试及性能分析.9 9 5.1 调试分析 .9 5.1.1 软件调试.9 5.1.2 硬件调试.9 5.1.3 系统功能调试.9 6 6 心得体会心得体会 .9 9 附录一附录一.1010 参考文献参考文献.1818 洛阳理工学院单片机课程设计 3 摘要 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是

3、体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道 路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在 不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系 统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体统中,单片机往往作为一个核心部件来使用,仅单片机

4、方面知识是不够的,还应根据具体 硬件结构软硬件结合,加以完善。硬件结构软硬件结合,加以完善。 本系统采用单片机本系统采用单片机 80c5180c51 为中心器件来设计交通灯控制器,系统实用性强、操作简单、为中心器件来设计交通灯控制器,系统实用性强、操作简单、 扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。 本设计系统由单片机本设计系统由单片机 i/oi/o 口扩展系统、交通灯状态显示系统、口扩展系统、交通灯状态显示系统、ledled 数码显示系统、复数码显示系统、复 位电路等几大部分组

5、成。系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟 实现了十字路口可能出现的状况。实现了十字路口可能出现的状况。 软件上采用软件上采用 c52c52 编程,主要编写了主程序,编程,主要编写了主程序,ledled 数码管显示程序,中断程序延时程序数码管显示程序,中断程序延时程序 等。经过整机调试,实现了对十字路口交通灯的模拟。等。经过整机调试,实现了对十字路口交通灯的模拟。 关键字:电子线路关键字:电子线路 ;80c5180c51;ledled;交通灯。;交通灯。 1 设计任务和性能指标 1.1 设计任务 模

6、拟图 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主 干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯, 红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行 线外。用红、绿、黄发光二极管作信号灯。如图上图所示。 洛阳理工学院单片机课程设计 4 1.21.2 性能指标性能指标 (1)两路口是同等的。处于允许通行的状态,有车来时允许通行。东西道亮绿)两路口是同等的。处于允许通行的状态,有车来时允许通行。东西道亮绿 灯时,南北道亮红灯;南北道亮绿灯时,东西道亮红灯。绿红灯之间以黄灯间灯时,南北道亮红灯;南北道亮绿灯时,东西道亮红灯。绿红灯之间以

7、黄灯间 隔。隔。 (2)两个方向均有车时,两者交替允许通行,均每次放行)两个方向均有车时,两者交替允许通行,均每次放行 15 秒,设立秒,设立 15 秒秒 计时、显示电路。红灯计时、显示电路。红灯 10 秒。秒。 (3)通行时间及黄灯亮的时间均可在)通行时间及黄灯亮的时间均可在 099 秒内任意设置。秒内任意设置。 2 2 设计方案设计方案 2.12.1 任务分析任务分析 模拟交通灯控制器就是使用单片机来控制一些模拟交通灯控制器就是使用单片机来控制一些 led 和数码管,模拟真实交通和数码管,模拟真实交通 灯的功能。红、黄、绿交替点亮,利用数码管倒计数显示间隔等,用于管理十灯的功能。红、黄、绿

8、交替点亮,利用数码管倒计数显示间隔等,用于管理十 字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。 2.22.2 方案设计方案设计 2.2.1 硬件方 案根据设计的要求可知,系统的硬件原理框图如下图所示 stc80c51 单片机 数码管显示led 数码 管显示 晶振电路复位电路 系统硬件框图 单片机可选用 80c51,它与 8051 系列单片机全兼容,但其内部带有 8kb 的 flash rom,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采 用 2 个数码管计时,同时需要对该方向的指示灯的点亮时间进

9、行倒计时。按键可以根据系 统的需要进行复位。用三极管驱动数码管显示,三极管控制共阳位选端,控制数码管的显 示。 2.2.2 软件方案 首先南北方向红灯、东西方向绿灯亮,南北方向红灯 15 秒、东西方向绿灯 10 秒,相应 的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接 通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄 灯的时间 5 秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。南北方向的 洛阳理工学院单片机课程设计 5 红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为 10 秒, 东西方向有黄灯跳

10、转为红灯,时间为 15 秒。当南北方向的绿灯时间到,南北绿灯跳转为黄 灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯 跳转为红灯,东西方向的红灯跳转为绿灯。进入开始的状态,循环执行。 根据设计要求,程序框图如图所示。软件可由汇编语言完成,也可由 c 语言完成。软 件设计可以分为以下几个功能模块: 数码管显示模块 动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描) ,即每 个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管 有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关, 也与点亮时间

11、和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保 证显示。若显示器的位数不大于 8 位,则显示器的公共端只需一个 8 位 i/o 口进行动态扫 描(称为扫描口) ,控制每位显示器所显示的字形也需一个 8 位口(称为段码输出) 。 led 红绿灯显示模块 状态 1, 东西绿灯亮,南北红灯亮 状态 2, 东西黄灯亮,南北红灯亮 状态 3, 东西红灯亮,南北绿灯亮 状态 4, 东西红灯亮,南北黄灯亮 程序初始化 状态 1(s1) 状态 2 (s2) 状态 3(s3) 状态 4(s4) 结构框图 洛阳理工学院单片机课程设计 6 3 3 系统硬件设计系统硬件设计 3.13.1 单片机的

12、最小系统单片机的最小系统 stc 公司生产的公司生产的 80c51 单片机它是硬件电路的核心部分,时钟电路晶振使用单片机它是硬件电路的核心部分,时钟电路晶振使用 12mhz,复位电路采取按键复位方式。,复位电路采取按键复位方式。 单片机系统的时钟电路单片机系统的时钟电路 单片机系统的复位电路及显示单元 3.23.2 电源电路设计电源电路设计电源用电源用 5v 直流变压器直接供电直流变压器直接供电,usb 接口供电。接口供电。 3.33.3 数码管显示电路数码管显示电路 显示电路采用显示电路采用 4 个共阳数码管,用个共阳数码管,用 74hc244 做驱动器,做驱动器,p0 口作为数码管的输口作

13、为数码管的输 入,入,uln2803 作为控制位选端,作为控制位选端,p2.0,p2.1,p2.2, p2.3 分别作为东西,南分别作为东西,南 北四路数码管的位选端。北四路数码管的位选端。数码管显示电路图数码管显示电路图 洛阳理工学院单片机课程设计 7 3.43.4 系统原理图系统原理图 系统原理图 3.5 指示单元 洛阳理工学院单片机课程设计 8 3.6 系统元件系统元件 去电子市场按原件清单购买所需原件,检测所购元件的性能是否达到所需标准,然后按照系统原理图接好 硬件图,检查接线是否正确,是否有漏接,短接等。并用测试程序检查元器件是否能正常工作,以便修改, 一切就绪后,就将写好的程序下载

14、进单片机。以下是元器件清单列表。 元器件名称元器件属性元器件个数 电源接口 5v 一个 电源指示灯红色一个 电源开关带自锁一个 10k 一个电阻 300 一个 电解电容 10uf一个 瓷片电容 30pf两个 电容 瓷片电容 0.1uf四个 晶振 12mhz 一个 复位按键不带自锁一个 下载端口集成块 max232 一片带插槽 单片机 stc 89c51 一片带插槽 8 线驱动 74hc244 一片带插槽 达林顿驱动电路 uln2803 一片带插槽 数码管共阳极四个 三色发光二极管红,黄,绿各四个 4 4 系统软件设计系统软件设计4.14.1 主程序设计主程序设计系统程序流程图系统程序流程图 开

15、始 参数初始化 显示子程序 中断处理 洛阳理工学院单片机课程设计 9 4.2 系统程序 根据设计方案,设计满足要求的程序,并将程序烧写进单片机,运行程序,观察现象是否 符合要求,若不符合要求继续修改程序。直至能达到要求。程序清单见附录一。 5 调试及性能分析 5.1 调试分析 5.1.1 软件调试 软件调试主要是利用 protus 仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。 5.1.2 硬件调试 硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下: (1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接, 对未连接的进行修复。 (

16、2)参照原理图,检查各个器件之间的连接是否连接正确,是否存 在虚焊,经测试,各连接不存在问题。 (3)以上两项检查并修复完后,给该硬件电路上电, 电源指示灯点亮。 5.1.3 系统功能调试 通过通电调试系统的功能,观察系统是否正常运行,是否达到设计指标,通过修改软 件完成系统的系能指标,也可以通过仿真软件进行仿真运行,调试并修改系统,以便达到 最佳水准。让系统最大限度的发挥其功效。 6 心得体会 这次单片机课程设计历时三个星期的时间,在这次设计过程里我们体验了从总体方案设计、 画原理图、设计程序、焊电路板到调试完善的整个过程。 我学会了用更多的工具去查阅资料,获取所需的知识,解决了很多我在之前

17、的学习中 没有弄懂的问题。了解了很多元件的作用和用法。熟悉了单片机的使用,熟悉了单片机的 各个管脚的功能。这可以说是给我上了深刻的复习课,在我即将忘记单片机知识的时候, 又让我加深了我对它的认识,而且了解了更多以前没有注意的问题。 通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统 的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路 技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的, 不过收获却是很大的。 在设计过程中,会出现了一些问题,但都是常见的小问题,如:代码中双引号的使用 并不是在英语书写状态下,输入字母

18、出错等,在调试时出现异常,不过这些都是经常性错 误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。 综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有 了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题, 我通过查阅相关书籍、资料以及和周围同学交流。 由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强 大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中, 也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不完善效率还不是很 高等等,这需要在实践中进一步完善。当然,通过这次课程设

19、计,我也发现了自身的很多 不足之处,在以后的学习中,我会不断的完善自我。 洛阳理工学院单片机课程设计 10 通过这次课程设计,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力, 而且提高了我们的发现、分析、解决问题的能力。经历了从最初的设计到最后做出产品的 开发过程,提高了对专业的认识及兴趣,对于我们工科来说,对以后就业有及其重大的影 响。 附录一 second1 equ30h;东西路口计时寄存器 second2 equ31h;南北路口计时寄存器 dbufequ40h;显示码缓冲区 1 tempequ44h;显示码缓冲区 2 led_g1bitp2.1;东西路口绿灯 led_y1bit

20、p2.2;东西路口黄灯 led_r1bitp2.3;东西路口红灯 led_g2bitp2.4;南北路口绿灯 led_y2bitp2.5;南北路口黄灯 led_r2bitp2.6;南北路口红灯 org0000h ljmpstart org0100h start:movtmod,#01h;置 t0 为工作方式 1 movth0,#3ch;置 t0 定时初值 50ms movtl0,#0b0h clrtf0 setbtr0;启动 t0 clra movp1,a;关闭不相关的 led ;* loop:movr2,#20;置 1s 计数初值,50ms*20=1s movr3,#20;红灯亮 20s 洛阳

21、理工学院单片机课程设计 11 movsecond1,#25;东西路口计时显示初值 25s movsecond2,#25;南北路口计时显示初值 25s lcalldisplay lcallstate1;调用状态 1 wait1:jnbtf0,wait1;查询 50ms 到否 clrtf0 movth0,#3ch;恢复 t0 定时初值 50ms movtl0,#0b0h djnzr2,wait1;判断 1s 到否?未到继续状态 1 movr2,#20;置 50ms 计数初值 decsecond1;东西路口显示时间减 1s decsecond2;南北路口显示时间减 1s lcalldisplay d

22、jnzr3,wait1;状态 1 维持 20s ;* movr2,#5;置 50ms 计数初值5*4=20 movr3,#3;绿灯闪 3s movr4,#4;闪烁间隔 200ms movsecond1,#5;东西路口计时显示初值 5s movsecond2,#5;南北路口计时显示初值 5s lcalldisplay wait2:lcallstate2;调用状态 2 jnbtf0,wait2;查询 50ms 到否 clrtf0 movth0,#3ch;恢复 t0 定时初值 50ms movtl0,#0b0h djnzr4,wait2;判断 200ms 到否?未到继续状态 2 洛阳理工学院单片机课

23、程设计 12 cplled_g1;东西绿灯闪 movr4,#4;闪烁间隔 200ms djnzr2,wait2;判 1s 到否?未到继续状态 2 movr2,#5;置 50ms 计数初值 decsecond1;东西路口显示时间减 1s decsecond2;南北路口显示时间减 1s lcalldisplay djnzr3,wait2;状态 2 维持 3s ;* movr2,#20;置 50ms 计数初值 movr3,#2;黄灯闪 2s movsecond1,#2;东西路口计时显示初值 2s movsecond2,#2;南北路口计时显示初值 2s lcalldisplay wait3:lcall

24、state3;调用状态 3 jnbtf0,wait3;查询 100ms 到否 clrtf0 movth0,#3ch;恢复 t0 定时初值 100ms movtl0,#0b0h djnzr2,wait3;判断 1s 到否?未到继续状态 3 movr2,#20;置 100ms 计数初值 decsecond1;东西路口显示时间减 1s decsecond2;南北路口显示时间减 1s lcalldisplay djnzr3,wait3;状态 3 维持 2s ;* movr2,#20;置 50ms 计数初值 洛阳理工学院单片机课程设计 13 movr3,#20;红灯闪 20s movsecond1,#2

25、5;东西路口计时显示初值 25s movsecond2,#25;南北路口计时显示初值 25s lcalldisplay wait4:lcallstate4;调用状态 4 jnbtf0,wait4;查询 100ms 到否 clrtf0 movth0,#3ch;恢复 t0 定时初值 100ms movtl0,#0b0h djnzr2,wait4;判断 1s 到否?未到继续状态 4 movr2,#20;置 100ms 计数初值 decsecond1;东西路口显示时间减 1s decsecond2;南北路口显示时间减 1s lcalldisplay djnzr3,wait4;状态 4 维持 20s ;

26、* movr2,#5;置 50ms 计数初值 movr4,#4;红灯闪 20ms movr3,#3;绿灯闪 3s movsecond1,#5;东西路口计时显示初值 5s movsecond2,#5;南北路口计时显示初值 5s lcalldisplay wait5:lcallstate5;调用状态 5 jnbtf0,wait5;查询 100ms 到否 clrtf0 movth0,#3ch;恢复 t0 定时初值 100ms movtl0,#0b0h 洛阳理工学院单片机课程设计 14 djnzr4,wait5;判断 200ms 到否?未到继续状态 5 cplled_g2;南北绿灯闪 movr4,#4

27、;闪烁 200ms djnzr2,wait5;判断 1s 到否?未到继续状态 5 movr2,#5;置 100ms 计数初值 decsecond1;东西路口显示时间减 1s decsecond2;南北路口显示时间减 1s lcalldisplay djnzr3,wait5;状态 5 维持 3s ;* movr2,#20;置 50ms 计数初值 movr3,#2;红灯闪 2s movsecond1,#2;东西路口计时显示初值 2s movsecond2,#2;南北路口计时显示初值 2s lcalldisplay wait6:lcallstate6;调用状态 6 jnbtf0,wait6;查询 1

28、00ms 到否 clrtf0 movth0,#3ch;恢复 t0 定时初值 100ms movtl0,#0b0h djnzr2,wait6;判断 1s 到否?未到继续状态 6 movr2,#20;置 100ms 计数初值 decsecond1;东西路口显示时间减 1s decsecond2;南北路口显示时间减 1s lcalldisplay djnzr3,wait6;状态 6 维持 2s ljmploop;大循环 洛阳理工学院单片机课程设计 15 ;* state1:;状态 1 setbled_g1;东西路口绿灯亮 clrled_y1 clrled_r1 clrled_g2 clrled_y2

29、 setbled_r2;南北路口红灯亮 ret state2:;状态 2 clrled_y1 clrled_r1 clrled_g2 clrled_y2 setbled_r2;南北路口红灯亮 ret state3:;状态 3 clrled_g1 clrled_r1 clrled_g2 clrled_y2 setbled_r2;南北路口红灯亮 setbled_y1;东西路口绿灯亮 ret state4:;状态 4 clrled_g1 clrled_y1 洛阳理工学院单片机课程设计 16 setbled_r1;东西路口红灯亮 setbled_g2;南北路口绿灯亮 clrled_y2 clrled_r2 ret state5:;状态 5 clrled_g1 clrled_y1 setbled_r1;东西路口红灯亮 clrled_y2 clrled_r2 ret state6:;状态 6 clrled_g1 clrled_y1 setbled_r1;东西路口红灯亮 clrled_g2 clrled_r2 setbled_y2;南北路口红灯亮 ret display:;数码显示 mova,second1;东西路口计时寄存器 movb,#10;16 进制数拆成两个 10

温馨提示

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

评论

0/150

提交评论