收藏 分享(赏)

单片机课程设计-控制交通信号灯.doc

上传人:11xg27ws 文档编号:7131594 上传时间:2019-05-06 格式:DOC 页数:16 大小:692.50KB
下载 相关 举报
单片机课程设计-控制交通信号灯.doc_第1页
第1页 / 共16页
单片机课程设计-控制交通信号灯.doc_第2页
第2页 / 共16页
单片机课程设计-控制交通信号灯.doc_第3页
第3页 / 共16页
单片机课程设计-控制交通信号灯.doc_第4页
第4页 / 共16页
单片机课程设计-控制交通信号灯.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、 单 片 机 课 程 设 计 说 明 书单片机控制交通灯设计专业学生姓名班级学号指导教师完成日期盐城工学院课程设计说明书(2011)目录1.概述 11.1 交通灯设计的背景和意义 .11.1.1 交通灯的背景 .11.1.2 交通灯的意义 .11.2.交通灯的发展和现状 12课题方案设计 .22.1 系统总体设计要求 .22.2 系统模块结构论证 .23.系统硬件设计 23.1 总体设计 .23.2 单片机运行的最小系统 .33.2.1 AT89C51 简介 .33.2.2、振荡电路、时钟电路和 CPU 时序 53.2.3、复位状态和复位电路设计 63.3 按键扫描控制电路 .74.系统软件设

2、计 75.软硬件联调及调试结果 95.1 实物图 .95.2 调试结果 105-3 演示效果图 106.结论 .11参考文献 .11附录 .12附录 1:基于单片机的交通灯设计原理图 12附录 2:基于单片机的交通灯设计 PCB 图 12附录 3:proteus 仿真图 13附录 4:基于单片机的交通灯设计 C 语言程序清单 13附录 5:基于单片机的交通灯设计元器件目录表 15盐城工学院课程设计说明书(2011)1单片机控制交通灯设计1.概述1.1 交通灯设计的背景和意义1.1.1 交通灯的背景1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通

3、行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止” ,绿色表示“注意” 。1869 年 1 月 2 日,煤气灯爆炸,使警察受伤,遂被取消。1914 年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市 5 号大街的一座高塔上。红灯亮表示“停止” ,绿灯亮表示“通行” 。1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红

4、灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停

5、车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口1.1.2 交通灯的意义在十字路口设置交通灯可以对交通进行有效的疏通,并为交通参与者的安全提供了强有力的保障。但是随着社会、经济的快速发展,原先的交通灯控制系统已经不能适应现在日益繁忙的交通状况。如何改善交通灯控制系统,使其适应现在的交通状况,成为研究的课题1.2.交通灯的发展和现状传统的十字路口交通控制灯,通常的做法是:事先经过车辆流量的调查,运用统计的方法将两个方向红绿灯的延时预先设置好。然而,实际上车辆流量的变化往往是盐城工学院课程设计说明书(2011)2不确定的,有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、

6、较适用的方案,仍然会发生这样的现象:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等候通过。这种流量变化的偶然性是无法建立准确模型的,统计的方法已不能适应迅猛发展的交通现状,更为现实的需要是能有一种能够根据流量变化情况自适应控制的交通灯。目前,大部分城市中十字路口交通灯的控制普遍采用固定转换时间间隔的控制方法。由于十字路口不同时刻车辆的流量是复杂的、随机的和不确定的,采用固定时间的控制方法,经常造成道路有效利用时间的浪费,出现空等现象,影响了道路的畅通。为此,采用不依赖数学模型的模糊控制方法设计交通灯控制器,能较好地解决这个问题。另外随着众多高科技技术在日常生活的普遍应用,城市空中各种电磁干扰

7、日益严重,为保证交通控制的可靠、稳定,选择了能够在恶劣的电磁干扰环境下正常工作的单片机是必要的。随着科学技术的日新月异,自动化程度要求越来越高,原有的交通灯装置远远不能满足当前高度自动化的需要。可编程控制器交通灯控制系统集成自动控制技术、计量技术、新传感器技术、计算机管理技术于一体的机电一体化产品;充分利用计算机技术对生产过程进行集中监视、控制管理和分散控制;充分吸收了分散式控制系统和集中控制系统的优点,采用标准化、模块化、系统化设计,配置灵活、组态方便。2课题方案设计2.1 系统总体设计要求(1)、熟悉 Keil 编程环境; (2) 、熟悉有关探测器的理论知识; (3) 、给出设计方案; 此

8、次的设计先从硬件设计上着手。先要整理交通灯系统的整体思路。确定出方案设计中需要的硬件设备。我们在确定了大的方向基础上,就应该对系统实现进行规划2.2 系统模块结构论证用单片机控制一个交通灯系统,与以往用数字逻辑电路组成的控制系统相比,用单片机组成的交通灯系统,应具有更大的灵活性,功能 也更强,并具有智能性, 在实际工作中是一种行之有效的方法。因此,从理论上分析利用单片机为核心设计一个交通灯系统是可行的。盐城工学院课程设计说明书(2011)33.系统硬件设计3.1 总体设计用单片机控制一个交通灯系统,与以往用数字逻辑电路组成的控制系统相比,用单片机组成的交通灯系统,应具有更大的灵活性,功能 也更

9、强,并具有智能性, 在实际工作中是一种行之有效的方法。因此,从 理论上分析利用单片机为核心设计一个交通灯系统是可行的。 3.2 单片机运行的最小系统3.2.1 AT89C51 简介3-1 AT89C523-2 C51 系列盐城工学院课程设计说明书(2011)4(1)主电源引脚VCC(40 脚) : 接+5 V 电源正端 ; VSS(20 脚): 接+5 V 电源地端。 (2)外接晶体引脚 XTAL1 和 XTAL2XTAL1(19 脚): 接外部石英晶体的一端。 在单片机内部, 它是一个反相放大器的输入端, 这个放大器构成了片内振荡器。XTAL2(18 脚): 接外部晶体的另一端。 在单片机内

10、部, 接至片内振荡器的反相放大器的输出端。 XTAL1 与 XTAL2 借外接晶体与片内反相放大器构成振荡器。(3) 输入/输出(I/O)引脚:P0 口、 P1 口、 P2 口及 P3 口P0 口(39 脚32 脚): P0.0P0.7 统称为 P0 口。双向输入输出接口,在接有片外存储器或扩展 IO 接口时,P0 口分时复用为低 8 位地址总线和双向数据总线。 P1 口(1 脚8 脚): P1.0P1.7 统称为 P1 口, 可作为准双向 I/O 接口使用。 P2 口(21 脚28 脚): P2.0P2.7 统称为 P2 口。 准双向输入输出接口,在接有片外存储器或扩展 IO 接口时,P2

11、口用为高 8 位地址总线。 P3 口(10 脚17 脚): P3.0P3.7 统称为 P3 口。 准双向输入输出接口, P3 口的每一个引脚都有第二功能。 四个 I/O 端口 P0、P1、P2、P3 的作用:P2 口负责输出高 8 位地址,P0 口以分时方式承担输出低 8 位地址信息和数据输入/输出的双重任务 P3 口则作为和外设沟通的控制线,P1 口可随意用作 I/O 口。 (4) 控制引脚RST/VPD(9 脚): RST 即为 RESET, VPD 为备用电源, 所以该引脚为单片机的上电复位或掉电保护端。 (30 脚):(Address Latch Enable/PROGramming)

12、 当访问外部存储器/ALEPROG盐城工学院课程设计说明书(2011)5时, ALE(允许地址锁存信号)以每机器周期两次的信号输出, 用于锁存出现在 P0口的低 8 位地址。(29 脚):(Program Strobe ENable)片外程序存储器读选通信号输出端, 低电平有效。(31 脚):(Enable Address/Voltage Pulse of Programing)为访问外部程序存储器控制信号。3.2.2、振荡电路、时钟电路和 CPU 时序(1)振荡电路、时钟电路。3-3 时钟电路如图 3-4 所示,外部时钟振荡电路由晶体振荡器和电容 C1、C2 构成并联谐振电路,连接在 XTA

13、L1、XTAL2 脚两端。对外部 C1、C2 的取值虽然没有严格的要求,但电容的大小会影响到振荡器频率的高低、振荡器的稳定性、起振的快速性。C1、C2通常取值 C1=C2=30PF 左右;8051 的晶振最高振荡频率为 12M,AT89C51 的外部晶振最高频率可到 24M。在单片机最小系统板上已经提供了晶振电路,在使用该电路时,应加上跳线帽,并插入合适的晶振。PSEN/AV盐城工学院课程设计说明书(2011)63-4 片内振荡器等效电路和外接元件AT89C51 也可以采用外部时钟方式,外部时钟从 XTAL1 脚输入,XTAL2 脚浮空。可以采用我们板子上提供的外部时钟源作为单片机外部时钟输入

14、。(2)CPU 时序晶振(或外部时钟)的振荡频率的确定,就确定了 CPU 的工作时序。这里介绍几个重要的时序概念,我们在以后的实验中还会经常涉及到: 振荡周期:是指为单片机提供定时信号的振荡器的周期。 时钟周期:振荡周期的两倍,前部分通常用来完成算术逻辑操作;后部分完成内部寄存器和寄存器间的传输。 机器周期:在 8051 单片机中,一个机器周期由 12 个振荡周期组成。 指令周期:是指执行一条指令所占用的全部时间。一个指令周期通常含有14 个机器周期。机器周期和指令周期是两个很重要的衡量单片机工作速度的值。若外接 12MHz 晶振时,8051 的四个周期的值为:振荡周期=1/12us;时钟周期

15、=1/6us;机器周期=1us;指令周期=14us。在一些应用中,传统的 8051 的速度显得有些慢,因此,当前很多采用 8051 内核的新型单片机采用了加速处理器结构,使机器周期提高到振荡周期的 6 倍、4 倍等等,RISC(精简指令集)的采用,更让单片机在单个时钟周期完成一条指令,使得单片机在处理速度上得到大大提高。3.2.3、复位状态和复位电路设计(1)复位状态在 8051 单片机中,只要在单片机的 RST 引脚上出现 2 个机器周期以上的高电平,单片机就实现了复位。单片机在复位后,从 0000H 地址开始执行指令。复位以后单片机的 P0P3 口输出高电平,且处于输入状态,SP(堆栈寄存

16、器栈顶指针)的值为07H(因此,往往需要重新赋值,其余特殊功能寄存器和 PC(程序计数器)都被清为 0。复位不影响内部 RAM 的状态。盐城工学院课程设计说明书(2011)7(2)复位电路3-5 复位电路单片机可靠的复位是保证单片机正常运行的关键因素。因此,在设计复位电路时,通常要使 RST 引脚保持 10ms 以上的高电平。当 RST 从高电平变为低电平之后,单片机就从 0000H 地址开始执行程序。8051 单片机通常都采用上电自动复位和开关复位两种方式。实际使用中,有些外围芯片也需要复位,如 8255 等。这些复位端的复位电平要求与单片机的复位要求一致时,可以把它们连起来。在最小系统板上

17、,提供了一个通用的复位电路,在使用该板之前,必须将该电路与单片机联结起来。另外,还可以采用主板上的微处理器监控模块来控制复位脚,以便更加可靠地管理单片机的工作。3.3 按键扫描控制电路此部分为按键扫描控制部分,用来控制蜂鸣器和旋转灯,因所用的按键较少,故采用独立按键控制方式,且所用按键均为弹性小按键,即按下时为低电平接通,松手时即弹起变为高电平。单片机中的键盘通常由按键开关组成,按键开关的外形和参数如下图所示,它是一种常开型按键开关,为了便于安装固定,它有四个管脚,其管脚说明如下图中的文字所示,在常态时开关触点(1 和 2)处于断开状态,只有按下按键时开关触点才闭合短路,所以可以用万用表检测开

18、关的管脚排列、好坏和质量。 盐城工学院课程设计说明书(2011)83-6 按钮4.系统软件设计交通灯程序、#include #define uint unsigned int#define uchar unsigned charsbit RED_A = P00;sbit YELLOW_A = P01;sbit GREEN_A = P02;sbit RED_B = P03;sbit YELLOW_B = P04;sbit GREEN_B = P05;uchar Time_Count = 0,Flash_Count = 0,Operation_Type = 1;void T0_INT() inte

19、rrupt 1TH0 = -50000/256;TL0 = -50000%256;switch(Operation_Type)case 1:RED_A=0;YELLOW_A=0;GREEN_A=1;RED_B=1;YELLOW_B=0;GREEN_B=0;if(+Time_Count != 100) return;Time_Count=0;Operation_Type = 2;break;case 2:if(+Time_Count != 8) return;Time_Count=0;YELLOW_A=!YELLOW_A;GREEN_A=0;if(+Flash_Count != 10) retu

20、rn;Flash_Count=0;Operation_Type = 3;break;case 3:盐城工学院课程设计说明书(2011)9RED_A=1;YELLOW_A=0;GREEN_A=0;RED_B=0;YELLOW_B=0;GREEN_B=1;if(+Time_Count != 100) return;Time_Count=0;Operation_Type = 4;break;case 4:if(+Time_Count != 8) return;Time_Count=0;YELLOW_B=!YELLOW_B;GREEN_B=0;if(+Flash_Count !=10) return;

21、Flash_Count=0;Operation_Type = 1;break;void main()TMOD = 0x01;IE = 0x82;TR0 = 1;while(1);5.软硬件联调及调试结果5.1 实物图5.2 调试结果6.结论这次的单片机课程设计我做的是交通灯设计,通过近两个星期的努力,基本上盐城工学院课程设计说明书(2011)10可以说圆满完成。这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识

22、与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,学习了单片机 C 语言。经过一周的努力,顺利的完成了单片机课设。这是一个磨练意志的过程。从课题的选择开始,报警器和旋转灯的设计、硬件和软件系统的设计、到最后的 Proteus 软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过 C51 单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;另一方面在用 Proteus 软件画电路图这

23、个过程中让我掌握了计算机辅助的设计技术。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。课程设计不光要懂得理论知识,更多的是要我们动手做亲自去设计程序和电路图,好多东西看起来十分简单,一看书上的程序都懂,但没有亲自去设计它,你就不会懂理论与实践是有很大区别的。两周的课程设计,让我难忘的莫过于这最辛苦的程序设计,这些东西如果没有一定的耐心和清晰的思路还真是棘手,这次的课程设计就是要我们打破理论和实践之间的间隔,跨过理论和实践之间的鸿沟,或许是我们学习生涯中的又一次飞

24、跃。我觉得单片机课程设计是一个不错的课程,或者说是一个必须的环节,它可以培养我们的动手能力,可以激发我们学生的学习兴趣,也可以使我们掌握基本的理论知识,运用基本知识,训练基本技能,增强实践能力。这次课程设计虽然很辛苦,但我却乐在其中。参考文献1.单片机原理及应用技术 陈益飞 编 国防工业出版社2单片机实用系统设计技术 房小翠 编 国防工业出版社 3单片机应用系统设计 何立民 编 北航出版社 4单片机原理及接口技术 曹琳琳编 国防科技大学出版社附录附录 1:基于单片机的交通灯设计原理图盐城工学院课程设计说明书(2011)11附录 2:基于单片机的交通灯设计 PCB 图附录 3:proteus 仿

25、真图盐城工学院课程设计说明书(2011)12附录 4:基于单片机的交通灯设计 C 语言程序清单#include #define uint unsigned int#define uchar unsigned charsbit RED_A = P00;sbit YELLOW_A = P01;sbit GREEN_A = P02;sbit RED_B = P03;sbit YELLOW_B = P04;sbit GREEN_B = P05;uchar Time_Count = 0,Flash_Count = 0,Operation_Type = 1;void T0_INT() interrupt

26、1TH0 = -50000/256;TL0 = -50000%256;switch(Operation_Type)case 1:RED_A=0;YELLOW_A=0;GREEN_A=1;RED_B=1;YELLOW_B=0;GREEN_B=0;if(+Time_Count != 100) return;Time_Count=0;Operation_Type = 2;break;盐城工学院课程设计说明书(2011)13case 2:if(+Time_Count != 8) return;Time_Count=0;YELLOW_A=!YELLOW_A;GREEN_A=0;if(+Flash_Cou

27、nt != 10) return;Flash_Count=0;Operation_Type = 3;break;case 3:RED_A=1;YELLOW_A=0;GREEN_A=0;RED_B=0;YELLOW_B=0;GREEN_B=1;if(+Time_Count != 100) return;Time_Count=0;Operation_Type = 4;break;case 4:if(+Time_Count != 8) return;Time_Count=0;YELLOW_B=!YELLOW_B;GREEN_B=0;if(+Flash_Count !=10) return;Flash_Count=0;Operation_Type = 1;break;void main()TMOD = 0x01;IE = 0x82;TR0 = 1;while(1);附录 5:基于单片机的交通灯设计元器件目录表盐城工学院课程设计说明书(2011)14编号 元件名称 元件数量(1) AT89C52 单片机 1 个(2) 270 电阻 8 个(3) 10K 电阻 1 个(4) 30uF 电容 2 个(5) 11.0592MHz 晶振 1 个(6) 发光二极管 20 个(7) 7 组八脚排阻 1 个(8) 10uf 电容 1 个

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报