毕业设计论文 单片机交通灯
《毕业设计论文 单片机交通灯》由会员分享,可在线阅读,更多相关《毕业设计论文 单片机交通灯(44页珍藏版)》请在装配图网上搜索。
1、本 科 毕 业 设 计(论文)题目基于单片机的智能交通灯的设计院(系部)电气与自动化工程系专业名称电气工程及其自动化年级班级12电气10班学生姓名刘乐指导教师石峰年月日摘要社会经济开展以来,随着科技水平的不断提高,单片机的运用与开 发在前进的道路上也在不断的深入,传统控制检测技术在大潮流的带动 下也在循序渐进的更新。单片机在单片机应用系统中通常都是核心部 件,而这些系统一般都能够实现实时检测和自动控制的功能。在设计系 统时,不仅需要对单片机方面的知识有一个深入的了解,还要懂得在具 体硬件结构的基础上加上软件调试实现软硬件的结合。本次设计的成果是交通灯控制器,在设计中使用的单片机是AT89S52
2、 单片机。这次设计所实现的功能有:(1)通过 AT89S52 芯片的 P1 口,分别设置红、绿灯点亮的持续时间,来顺应实际车流量;(2)依 次循环点亮东西、南北方向的红绿灯,当距离下一状态倒计时剩余5秒 时黄灯闪动警示;(3)在紧急情况下,如 119、120 即将到达这一路口 时,为使其他车辆、人禁止通行,交警可将系统的自动转换关闭,手动 改为禁止通行状态,紧急情况结束后再转为自动状态使其他车辆、行人 有次序的通过路口。上述功能采用了 AT89S52芯片及一些简单的外围电路,通过LED数 码管显示电路进行定时倒计时。设计电路美观,性价比高,编程简单易 懂,系统设计非常简便、操作起来简单、有很强
3、的扩展性,能够应用到 实际生活中。关键词 : AT89S52 单片机;智能交通灯;自动控制;倒计时显示AbstractSince social economy, with the constant improvement of the level of science and technology, the use of single-chip microcomputer and development are on the way forward, the traditional control detection technology in the big tide of leads in
4、 the update step by step. MCU in the single chip microcomputer application system usually is the core components, and these systems are generally able to achieve real-time detection and automatic control function. When designing the system, not only need to SCM knowledge have a deep understanding, b
5、ut also on the basis of the specific hardware structure and software debugging to realize the combination of software and hardware.The results of this design is the traffic light controller, is used in the design of single chip microcomputer AT89S52 single chip microcomputer. This design the functio
6、ns are: (1) through the P1 mouth AT89S52 chip, respectively, set the duration of the red, green light, to adapt to the actual traffic; (2) cycle in turn light things, north and south direction of traffic lights, when from the next state countdown 5 seconds remaining yellow lights flashing warning; (
7、3) in case of emergency, such as 119, 120, will soon arrived at a crossroads, to make the other cars, no thoroughfare, traffic police system of the automatic conversion can be closed, instead of manually from the state, after the emergency to automatic state makes other vehicles and pedestrians have
8、 the order through the intersection.The above function adopted AT89S52 chip and some simple peripheral circuit, through the LED digital tube display circuit timer countdown. Circuit design beautiful, cost-effective, easy programming, system design is verysimple, simple to operateand has a strong sca
9、lability, can be applied to real lifeKey words: AT89S52 microcontroller; Intelligent traffic light The automatic control;The countdown display目录前 言 11 绪论 21.1 交通信号灯的发展及研究意义 21.2 关于交通信号灯的国内外综述 31.2.1 国外综述 41.2.2 国内综述 41.3 单片机概述 41.3.1 单片机的基本概念 41.4 方案的设计与论证 51.4.1 电源提供方案 61.4.2 显示界面方案 61.4.3 输入方案 72
10、系统硬件设计 82.1 总体设计 82.2 单片机的选择 82.3 单片机的基本结构 82.4 单片机外围电路设计 132.4.1 复位电路设计 132.4.2 外部晶振时钟电路设计 错误!未定义书签。2.4.3 显示模块电路设计 错误!未定义书签。3 交通灯控制系统的设计 173.1 十字路口交通灯具体的控制要求 173.2 十字路口交通灯示意图 184 交通灯控制系统程序编制 194.1 软件设计应用环境 194.2 软件设计流程 194.3 交通灯定时器模块 21结 论 22致 谢 24参考文献 25附 录 26附件一:总体原理图 27附件二:源程序代码 28社会经济开展以来,城市的规模
11、变得越来越大,城市的交通状况也 在往好的方向不断的进步,加快社会发展脚步的一个关键要素就是要有 一个顺畅的交通。当今社会,机动车辆的数目始终在增多,在这种背景 下,需要加强十字路口的交通建设,十字路口交通建设情况的好坏关系 到城市交通安全。随着社会经济的开展,十字路口交通建设的研讨加入 了很多设计工作者,很多新型的方案不断的被发明和设计,使我国交通 建设发展走向了一个新高度。当今社会,需要控制车辆和人的通行的十字路口都设置了信号灯, 信号灯有较强的自动化,并且便于维护和管理。现在大量的信号灯电路 的种类越来越多,所需功率也在不断地降低,变得越来越智能化,对于 人、车、路三者之间的关系也能更好地
12、调节。社会经济开展以来,由于 交通事故的频发性,人们对城市交通安全的关注愈来愈多。交通信号灯 的出现在很大程度上加强了交通的管制,在引导交通畅通、增强道路通 行度,降低交通事故率方面,取得了显著的成果。当今社会,城市规模愈来愈大,人们要求交通信号灯具有更多的功 能,所以,我们对交通信号灯需要加深了解,并根据人们要求十字路口 交通灯所实现的功能,不断地去设计新的方案。1 绪论1.1 交通信号灯的发展及研究意义19 世纪初,在英国中部的约克城,为了知道女性是否结婚,人们通 过女性所穿衣服的颜色来区别女性的不同身份。其中已婚的女性所穿衣 服的颜色是红色,而穿绿衣服的女人则代表该女性还未结婚。由于英国
13、 伦敦议会大厦前人流量很大,在这个地方出现了多起马车扎人的事故。 在 1868 年 12 月 10 日,人们因此想到,可以根据红绿装的意义来指挥 交通,英国机械师德哈特设计出了史上第一盏信号灯,它位于事故的 发生地英国伦敦议会大厦的广场中央,这盏信号灯实际上就是一根 高为7 米的灯柱,灯柱上方有一盏提灯煤气交通信号灯,分为红绿 两种颜色。为了达到指挥交通的作用,当地警局的警察开始轮流在灯柱 下站岗,在需要转换信号灯颜色时通过长杆牵动皮带转换颜色以达到指 挥的作用。后来为了更加方便,人们改良了一下,通过在信号灯的核心 装上煤气灯罩,并在它的前面加上两块红、绿玻璃,使其交替遮挡。然 而不幸的是,这
14、盏煤气灯只存活了 23 天,因为突然发生爆炸,不仅在 路口造成慌乱,还夺去了当时一位正在值勤的警察的生命。因此,为了安全起见政府取消了城市的交通灯设立。到了 1914年, 由于时代的发展,为了适应社会红绿灯在美国的克利夫兰市重新出现, 这时红绿灯已经不叫红绿灯,改名为“电气信号灯”。在这之后,交通 信号灯在许多城市相继出现,如纽约和芝加哥等城市。此后,由于交通工具的的类型在不断增多,简单的交通指挥已经不 能满足人们的需求,在1918年,人们设计出了第一盏真正意义上的三 色灯红黄绿三种颜色,这盏三色灯位于纽约市五号街的一座高塔 上,它由一个三色圆形四面投影器构成,三色灯的出现,在很大程度上 改进
15、了纽约的交通状况。我国的胡汝鼎在美国深造时发明了黄色的信号灯,由于当时中国发 展速度较慢,他为了实现通过学习科学发展中国的愿望,选择去美国进 修。到了美国,他在美国通用电气公司任职员。有一天,在下班的十字 路口,他在等红灯信号变为绿灯信号,绿灯刚亮起,正要往前走时,有 一辆转弯的汽车近乎贴着他的身体迅速的过去了,把他吓了一跳。安全 到达宿舍后想起这件事,他斟酌了许久,觉得只有红绿灯不够,需要在 中间加上一个黄色信号灯,用于提示人们当心危险。政府采纳了他的建 议,指挥信号家族由于黄色信号灯的加入变得更加完整,并且在全世界 陆、海、空交通范围内都加以应用。外国很早就出现了红绿灯,直到 1928年,
16、红绿灯才在中国出现, 这盏红绿灯是在上海英租界设立。交通信号灯起初由手牵皮带控制,20 世纪50 年代发展为电气控制;从早时候麻烦的计算控制发展为现代自 动化的电子定时监控。这两种变化说明了交通信号灯在朝着科学化,自 动化发展。交通信号灯的出现在很大程度上加强了交通的管制,在引导交通畅 通、提高道路通行度,降低交通事故率方面,取得了显著的成果,对交 警人为地轮流指挥交通和引导交通畅通的现状发挥了极为重要的作用, 很好的调节了人、车、路三者的关系。现今社会,许多设计工作者通过 不断的研究又提出了许多交通灯设计方案,这些方案相比以前具有更强 的自动化、智能化、数字化,这些优点对于交通灯的维护和管理
17、愈加简 单。当今社会,城市规模愈来愈大,人们要求交通信号灯具有更多的功 能,所以,我们对交通信号灯需要加深了解,并根据人们要求十字路口 交通灯所实现的功能,不断地去设计新的方案,才能得到人们想要的交 通灯,因此深层次的研究交通信号灯是非常有必要的。1.2 关于交通信号灯的国内外综述1.2.1 国外综述现如今,交通灯遍布世界各国,各国对交通灯控制系统的研究程度 不尽相同,导致出现了许多类型的城市道路交通信号控制系统,在这些 系统中,其中英国的TRANSYT与SCOOTS交通控制系统和澳大利亚的 SCATS 系统运用的最多1-3。信号灯从古至今发展以来, SCOOTS 与 SCATS 系统是最受各
18、国青睐的 两种系统,这两种系统运用的都是自适应理论。近来,国外在研究交通 灯控制系统时,仍然喜欢运用自适应理论于设计方案。1.2.2 国内综述中国在发展智能交通灯的脚步比较缓慢,但是我国的设计工作人员 并没有放弃研究,通过不断的创新设计并应用到实际中,在道路的管理 上得到了明显的进步4。对于当今世界的交通状况,为了更好地管理和 指挥,我们需要在路口设置交通灯。从使用一开始的计算机控制一直发 展到现在的电子监控,交通信号灯的发展正在逐渐的科学化、自动化。 但是,由于社会发展愈来愈快,传统的交通灯已经不能适应现代的交通 状况,出现了许多缺陷。由于以前的技术水平不高,所设计的交通灯的 功能也较少,道
19、路仍旧不顺畅5,6。我国社会经济开展以来,进步神速, 私家车越来越多,道路越来越堵,传统的交通灯功能较少,与当今社会 不能很好地接轨。在这种背景下,我们需要研究出具有更多功能的交通 灯,来顺应社会的发展7,8。1.3 单片机概述1.3.1 单片机的基本概念CPU又叫中央处理器,相当于单片机的心脏。随即存储器(RAM)放 在微控制器的内部能够存储数据,但是是临时的。而ROM(只读存储器), 也是放在单片机内部,像VCD盘一样,一般用来存储一些系统信息。I/O 接口一般以IC芯片的形式出现。它可以让CPU和I/O设备进行交换信 息。而定时器/计数器以及串行通信接口等,都是单片机的重要组成部 分。因
20、为这些器件又是组成微型计算机的各个功能部件,因此单片机又 被叫做单品微型计算机 9。在测控领域中,对单片机的要求较多,尤其是在在功能和形态两方 面,原因在于单片机主要对测控对象突出控制功能9。1.3.2单片机的产生与发展在工业测控系统数字化、智能化的环境下,提出了单片机。单片机 的诞生和发展与超大规模集成电路的出现和通用CPU及其外围电路技术 的发展离不开。由于工业测控对象、接口及周边环境特点的不同,单片 机由此而产生,在发展过程中不停的增强它的控制功能,使工业测控系 统更易构成,并确保了其能可靠地工作。它的出现表示了在工业领域中, 计算机技术应用正在向完善与成熟发展。单片机的发展大致分为四个
21、阶段:单片机探索阶段、单片机完善阶 段、微控制器形成阶段和微控制器百花齐放(完善)阶段。最近几年,单片机的发展非常快,单片机的发展趋势也在与时俱进, 单片机的品种愈来愈多,功率损耗越来越低,价格越来越低,性能在不 断地提高9。由于不同的用户对单片机的性能有不同的要求,为了满足 这些要求,各公司需要推出能满足各种需要的产品才能持续性发展。1.4 方案的设计与论证本设计是围绕单片机而完成的,用来显示倒计时数字的器件是 LED 数码管,由于每个功能模块的方案均有好几种,我们按照设计的具体要 求,从各种方案中选择最好的一种,这样系统的各种状态都可以即时显现,此外,由于主干道与次干道的交通拥挤情况不同,
22、两条道路的通行 时间也不同,这样的设计可以降低交通拥挤程度,增加了车流量。交通灯控制电路的设计框图如图所示。图 1-1 交通灯控制电路1.4.1 电源提供方案要使模块能够稳定运作,电源需要保证可靠。电源的提供方案有两种:表1-1电源方案的比较方案优点缺点方案一独立的稳压电源有较高的稳定性,可靠性强,包含的成熟电路类型有很多,可选择性强各模块的电源之间没有联 系,系统设计较为繁琐,且会对电路电平产生不好 的作用。方案二单片机控制模块提供电源系统设计简单,投入成本少不能得到很高的输出功率综上所述,选择第二种方案。1.4.2 显示界面方案对于显示界面方案,共有两种设计方案表1-2显示界面方案的比较方
23、案优点缺点方案一点阵式LED显示显现的功能很强大,各种 英文字符、汉字、图形等 能够通过这种方式向人们 展示要想完全展示出 来,过程很复杂,工作量 很大。方案二数码管显示设计起来很简单,可以实现倒计时功能不齐全,符号和数码字符不能全部显示出来根据比较结果,选择第二种方案。1.4.3 输入方案这里同样讨论了两种方案:表 1-3 输入方案的比较方案优点方案一采用8155扩展I/O 口、键盘及显示等可以通过汇编语言进行输入,灵活性高,有很多的的I/O 口可供选择方案二将按键开关直接连接在I/O 口线上电路较为简单,剩余的端口资源在一定程度上还是很丰富的缺点不容易进行操作输入时灵活性低由比较可得,第二
24、种方案即可适用于设计。2 系统硬件设计整个系统是以硬件设计为基础的,在设计时不仅要考虑交通灯的基 本要求,还要把系统的其他功能加入设计。硬件设计是一个非常重要的 环节。2.1 总体设计本设计是围绕单片机而完成的,设计包含多个模块,每个模块都能 实现其对应的的功能,如单片机控制系统是系统的中心,键盘及状态显 示用来输入,倒计时模块是显示倒计时数字的。硬件系统的核心是单片机,由晶振时钟振荡电路、复位电路和显示 电路等组成硬件系统,单片机既能处理数据,又能对整体工作进行协调 安排。系统的倒计时的数字最大为 99,用双数码管来显示。2.2 单片机的选择单片机,拥有顽强的生命力,在控制领域发挥很大的作用
25、,因此又 称为微控制器。单片机更新换代了 4 次,现如今,它的功能越来越多,性能越来越 高,低电压下即可工作,。在这种发展背景下,正朝着以下几个方面发 展 10-12 :( 1 )低功耗 CMOS 化;( 2 )微型单片化;( 3 )主流与多品种共 存;(4)大容量、高性能(5)串行扩展技术。2.3 单片机的基本结构AT89S52 单片机是一款 CMOS8 位单片机,损耗功率少,在低电压的 情况下就能工作,而且性能很高,在各个控制领域都有广泛的运用。AT89S52 单片机的主要性能如下13:1 、与 MCS-51 单片机产品兼容 ;2、8K 字节在系统可编程 Flash 存储器;3、1000
26、次擦写周期;4、全静态操作:0Hz-33MHz;5、三级加密程序存储器;6、32 个可编程 I/O 口线;7、三个 16 位定时器/计数器;8、8 个中断源;9、全双工 UART 串行通道;10、低功耗空闲和掉电模式;11、掉电后中断可唤醒;12、看门狗定时器;13、双数据指针;14、掉电标识符。引脚说明如图:P1.0C P1 匚;J VCC PQjOAOO)PT 匸3 PO.T AD1Jpi.acUpi坤匚5 PQ3P1.S 匚|C RONpi e匚 POQri 丁匚fl3 PO 石 RST匚售 PO .7 AO7)(RXD)尸匚IO EA/VPF*rrxoj P3 1 c11 Al_ErP
27、ROGUNTO) P总匚任 PSEMINTI) P3 3 匚 PS.7 CTO) R3/4C1-4 P2jSASR3-& 匚1&3 P2蛊俟*3)WRi P3眉匚W二 P2/4 保;(RD P3*7 匚甩3 glXTN 匚i& P2-2 XTALi匚2 pa,i cMo3ND 匚20 P2.O囹Al AT89S52引脚圏4引脚功能说明如下14:VCC:电源电压。GND :地。P0 口: P0 口是一组8位漏极开路型双向I/O 口,也即地址/数据线复用 口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路, 对端口写“1”可作为高阻抗输入端。在访问外部数据储存器或程序储存器时,这组口线
28、分时转换地址 (低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 FLASH 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时, 要求外接上拉电阻。P1 口: P1是一个带内部上拉电阻的8位双向I/O 口,P1的输出缓 冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”, 通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入 口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出 一个电流。FLASH编程和程序校验期间,P1接收低8位地址。表2-1 P1 口各端口引脚与第二功能表端口引脚第二功能P1.0T2(定时器/计数器T2的外部计数
29、 输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2 口: P2是一个带内部上拉电阻的8位双向I/O 口,P2的输出缓 冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”, 通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入 口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出 一个电流。在访问外部程序储存器或 16 位地址的外部数据储存器(例 如执行MOVXDPTR指令)时,P2 口送出高8位地址数据。在访问8位地 址的外部数
30、据储存器(例如执行MOVXRI指令)时,P2 口线上的内容(也 即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不 改变。P3 口: P3是一个带内部上拉电阻的8位双向I/O 口,P3的输出缓 冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”, 通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入 口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出 一个电流。P3 口还接收一些用于FLASH闪速存储器编程和程序校的控制信号。P3 口是个双功能口,作为般的I/O 口线是它的第功能,较于 第一功能,它的第二功能在实际中使用的更多,且在使用
31、时,每一位只 能使用一种功能。表 2-2 P3 口各端口引脚与第二功能表端口引脚第二功能P3.0RXD(穿行输出口)P3.1TXD(穿行输入口)P3.2INTO (外部中断0)P3.3INT1 (外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器0)P3.6WR(外部数据写选通)P3.7RD(外部数据读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上 高电平将使单片机复位ALE/PROG:当访问外部程序存储器或数据存储器时,ALE (地址锁 存允许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ALE仍以是时钟振荡频率的1/6输出固定 的正
32、脉冲信号,因此他可对外输出时钟或用于定时目的。要注意的是: 每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程 期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO 位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应 设置 ALE 无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号, 当AT80C51由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器
33、,这两 次有效的 PSEN 信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序储存器(地址为 0000H-FFFFH), EA 端必须保持低电平(接地)。需要注意的是:如果加 密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(Vcc 端),CPU则执行内部程序储存器中的指令。FLASH储存器编程时,该引脚加上+12V的编程允许电源Vpp,当然 这必须是该器件是使用 12v 编程电压。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。2.4 单片机外围电路设计2.4.1 复位电路设计MCS-51可以进行初始化,复位输入引脚R
34、ST可以实现这个操作, 执行程序时不必每次都从初始位置开始,在指定处即可。时钟电路投入 运行后,要想实现复位的功能,最少需要RST引脚上出现两个机器周期, 而且机器周期必须处于高电平,只要引脚RST不转换为低电平,就会一 直循环往复的进行复位操作。要想结束复位开始执行程序,将引脚 RST 转换为低电平即可,程序执行的初始地址为0000H。由于设计的是交通 灯,采用按键复位更加方便。按键复位电路4 I2.4.2 外部晶振时钟电路 设计根据单片机的自身结构特点,为了得到一个完整的时钟电路, 需要外界电容等元件。电路并不要求电容的大小有一个固定的数值,只需要满足系统的要 求即可。系统中有定时器这一器
35、件,为了脱离复杂的计算,要求晶振的 大小是12MHZ,电容的大小是30pf。Cl30pXIC330pX2圏2-3处部晶振时钟电路AOY12.4.3 显示模块电路设计显示模块用的是共阳 LED 数码管利用的工作原理是:由于人眼有一个视觉残留的时间,在数码管两个数字依次点亮的余辉下,数码管在人们看来是被一起点亮的。为了达到设计的任务与要求,倒计时数字有两位,因此显示模块用二位数码管。本设计共需要24个单片机I/O 口,其中7个被分给7段 数码管,十字路口的12盏灯,每盏灯一个I/O 口,紧急按钮有两个, 每个按钮占1个I/O 口,系统故障时需要发出警报,用蜂鸣器发出警报, 这也需要一个端口,另外两
36、个是为了分别设置2个电子开关。因此,系 统的中央处理器我们选择51系列单片机中的AT89S52。这款单片机可以 直接驱动单片机的的I/O 口,没有繁琐的电路。3 交通灯控制系统的设计交通信号灯包含红灯黄绿三种颜色的灯。红灯停绿灯行,黄灯则向 人们示警。交通信号灯是通过改变亮灯的颜色和时间向车辆及行人传递 是否行进的指令,使同时到达路口的车辆及行人有序的通过路口,减少 相互之间的干扰,使路口通行畅通,从而保障车辆及行人安全。因此在 路口主干道设计一个合理的交通灯系统是非常有必要的。3.1 十字路口交通灯具体的控制要求交通信号灯在一个十字路口共有 12盏,东西南北路口均分这12盏 灯。当东西方向亮
37、绿灯时,南北方向不能亮绿灯;如果出现两个绿灯同 时亮的情况,则系统应该马上自动关闭,并实时向控制中心反馈,要求 维修该路口的交通灯。系统开始正常工作后,50s为一个工作循环。交 通灯变化状态及时间如下表:表 3-1 交通灯变化表交通信号灯变化表东西绿灯亮黄灯亮红灯亮25S5S20S南北红灯亮绿灯亮黄灯亮30S15S5S(2)倒计时数字的显示是和交通灯的颜色显示同时出现的,时间的 显示是为了让车辆和行人知道由当时的信号灯变为下一状态时还需要 经历多长时间,这可以让车辆和行人通过时间的变化确保能够安全的通 过路口。3.2 十字路口交通灯示意图交通信号灯共有 12 盏,每个路口各有红,黄,绿三盏,分
38、布图如下所示:4 交通灯控制系统程序编制4.1 软件设计应用环境本设计是在 Keil C51 中进行软件设计的。这款软件的特别之处在 于,效率高,生成目标代码速度快,得到的汇编代码之间很严密,没有 隔断,可以让人清晰明了的理解其内容。高级语言的优势在用于开发大 型软件时更加突出。C语言有以下特点:1、C 语言简洁明了,在运用时有很强的灵活性。 ANSIC 共有 32 个 关键字,9 种控制语句如 int、long、float、while、do 等,书写程序 时要求相对较少。2、运算符丰富。 C 语言的运算符的拥有很广的范畴,运算符有 34 种之多,括号、赋值、逗号这些在C语言中都被当作运算符处
39、理,在高 级语言中,某些运算很难实现,通过灵活使用不同的运算符可以达到这 种目的。3、数据结构类型丰富,不论数据结构有多复杂,都能通过 C 语言 实现。4、对语法没有具体的限制,可以按照自己的想法设计程序。5、C 语言进行位操作时,对于硬件,不需借用其它方式即可对其进行操作。6、C 语言写的程序比汇编语言的可移植性好。4.2 软件设计流程软件总体设计的对象是各部分的软件,我们要做到的是控制和协调 这些软件。本系统主程序模块需要完成的工作包含:初始化系统,发送 显示数据,同时扫描键盘,等待外部中断,并依据系统所需要的功能进 行对应的操作。交通灯按照灯的颜色显示情况分为四个状态,每个状态维持的时间
40、 能够通过定时来控制;定时的另一个作用是传送数字,每隔 1 秒向 LED 数码管中传送一个数字,以便显示该状态转换为下一状态所需要的时 间。其流程图如图所示。4.3 交通灯定时器模块AT89S52 单片机内部包含 T0、T1 和 T2 定时器,本次设计采用方式 1 和定时器 T0 ,即 16 位定时器,每 50ms 完成一次定时,每中断 20 次 为一秒,红绿灯的点亮时间就通过这样的方式来实现。这次设计中,由于方式 1(16 位定时器)使用定时器 T0 工作,因 此设定寄存器 TMOD=0x01。当定时器用单片机内部定时器/计数器充当时,实现的功能是计数 机器周期,每 12 个振荡周期组成一个
41、机器周期的长度。下面来计算需 要设置的定时常数:机器周期=12/12MHz=lus(65536-定时常数)*1.0us=50ms所以定时常数是 50000.结论本次设计的成果是交通灯控制器,在设计中使用的单片机是AT89S52 单片机。这次设计所实现的功能有:(1)通过 AT89S52 芯片的 P1 口,分别设置红、绿灯点亮的持续时间,来顺应实际车流量;(2)依 次循环点亮东西、南北方向的红绿灯,当距离下一状态倒计时剩余5秒 时黄灯闪动警示;(3)在紧急情况下,如 119、120 即将到达这一路口 时,为使其他车辆、人禁止通行,交警可将系统的自动转换关闭,手动 改为禁止通行状态,紧急情况结束后
42、再转为自动状态使其他车辆、行人 有次序的通过路口。系统设计非常简便、操作起来简单、有很强的扩展性,能够应用到 实际生活中。本论文的设计是以AT89S52单片机为基础,论文包括硬件 与软件两大方面,硬件设计与制作是基础,而要完成整个系统的调试还 需加入软件制作,这样可确保系统的可行性。论文设计的系统工作良好, 交通灯要求的基本功能都被实现了。设计不足:时间设定中没有黄灯的等待闪烁时间以及根据车流自动 改变红绿灯时间,此外,现代管理、人工智能这些方面在交通的控制中 没有得到充分的体现,加上这些特征后,两个相邻交通灯之间的距离能 够简单地测量出来,通过距离的远近设置路口交通灯红绿灯不同的持续 时间。
43、设计的过程中,我对专业知识有了更深的了解,也让我从单纯的理 论学习中走出来,做到了理论与实践的真正结合,此外,通过借助互联 网搜集资料、在图书馆查阅相关资料,并把资料整合到论文中,让我能 够从资料中更好截取关键词而后把它们组织起来加入论文。这次毕业设计让我学到了许多不曾学到的东西,也让我学会了通过 各种渠道查阅资料,以得到自己需要的。当然,在设计过程中出现了不 少难题,这时,需要针对性的查阅资料或请教他人,并然后补充到论文 当中。解决难题的过程,让我吸收了更多的理论知识,开阔了自己的眼 界。致谢感谢石峰老师对我的帮助!从论文的选题、设计、撰写到调试,都 得到了老师的帮助。正是在老师的帮助下,我
44、才能顺利的完成此次论文 的设计。感谢大学四年来教过我的所有老师!本论文是以单片机为基础,结 合电路、C语言等,这些课程都是我们所学的课程,这时我深深的体会 到了自己平时对课程的怠慢。所学知识的不扎实,对理论知识的认识不 够,这些缺陷在撰写论文时都一一暴露出来,使我遇到了很多困难。在 未来的工作和学习中,我的态度会更加认真,以取得更好的成绩。感谢我的朋友和同学们,谢谢他们在这四年里对我的照顾与帮助, 他们帮我度过了很多难关,让我在大学里过得很开心。参考文献1 Daniel Merkle, Martin Middendorf. Ant colony optimization with global
45、 pheromone evaluation for scheduling a single machine J. Applied Intelligence, 2003,6(1)105-107.2 杨照圣.城市交通系统理论与模型的导论J.铁道出版社, 2000,2(5)11-16.3 李艳,范榭基于模糊逻辑与计算的城市交叉路口的信号控制器J. 交通信息与安全, 2003,5(3)110-114.4 王军.智能交通与控制J.中国交通信息产业,2003,8(2)55-56.5 周力,陈跃东,江明.城市智能交通信号控制系统设计J.自动化 与仪器仪表, 2004,4(6) 37-40.6 黄卫.智能运输
46、系统(TTS)概论M.北京人民交通出版社, 2000,102.7 王中亮.治理城市交通拥堵的对策与思考-以上海为例J.上海经 济研究, 2006, 2( 4)76-81.8 黄毅.智能交通灯控制系统的设计与实现J.科技资讯,200& 5 ( 28)89-91.9 余发山,王福忠单片机原理及应用技术(第2版)M.中国矿业 大学出版社, 2012, 6.10 张志良单片机原理与控制技术M.北京,机械工业出版社,2008.11 李扬单片机的发展趋势J.商情,2014.12 钟全德.PIC16C5X单片机程序设计J.兵工自动化.2004.13 杨子文.单片机原理及应用M.西安电子科技大学出版社.200
47、614 刘华东.单片机原理与应用(第2版)M.电子工业出版社.2006.815 胡汉才单片机原理及其接口技术M.清华大学出版社,2006.16 尹丽子.十字路口交通信号相位个数的优化设计J.青岛大学学 报:自然科学版,2015.17 顾曙敏单片机与串行时钟DS1307的接口设计J.现代电子技术, 2003,26(14)85-87.18 苏玉萍.基于单片机的交通灯控制系统的设计与仿真J.甘肃科 技,2011.19 陈毅,许飞,王学飞.基于单片机的交通灯智能控制系统J.中国 高新技术企业, 2009 年第15 期附录附件一:总体原理图三,co三士 cjj 7 三HIHBB1W0.9. ITCTJ附
48、件二:源程序代码#include #define uchar unsigned char char。#define uint unsigned int 数。#include eeprom52.h/调用单片机头文件/ 宏 定 义 uchar 代 替 unsigned/宏定义uin t用来定义无符号整型/数码管段选定义 0123456789ucharcodesmg_du=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, / A B C D E F 不显示0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff; / 断 码uchar
49、dis_smg8 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;uchar smg_i = 4;/显示数码管的个位数 /数码管位选定义/数码管位选定义sbit smg_wel = P20; sbit smg_we2 = P2l; sbit smg_we3 = P36; sbit smg_we4 = P3“7;char dx_s = 0;/东西南北 倒计时变量sbit dx_red=P24;/东西红灯sbit dx_green=P23/东西绿灯sbit dx_yellow=P22;/东西黄灯sbit nb_red=P27/南北红灯/南北绿灯/南北黄灯sbit
50、 nb_green = P26; sbit nb_yellow = P2“5;uchar flag_jtd_mode; /交通灯的模式 根据时间bit flag_1s = 0;bit flag_500ms;bit flag_dx_nb;/东西南北模式uchar flag_5m_value;uchar i;uchar flag_alarm; /模式uchar dx_time = 30,nb_time = 20;/东西、南北的时间uchar flag_jdgz ;/交通管制/* 数位选函数*/void smg_we_switch(uchar i)switch(i)case 0:smg_we1 =
51、0smg_we2 = 1; smg_we3 = 1smg_we4= 1; break;case 1:smg_we1 = 1smg_we2 = 0; smg_we3 = 1smg_we4= 1; break;case 2:smg_we1 = 1smg_we2 = 1; smg_we3 = 0smg_we4= 1; break;case 3:smg_we1 = 1smg_we2 = 1; smg_we3 = 1smg_we4= 0; break;/* 把 数 据 保 存 到 单 片 机 内 部 eeprom 中 */void write_eeprom()SectorErase(0x2000);by
52、te_write(0x2000, dx_time);byte_write(0x2001, nb_time);byte_write(0x2058, a_a);/* 把 数 据 从 单 片 机 内 部 eeprom 中 读 出 来 */ void read_eeprom()dx_time = byte_read(0x2000);nb_time = byte_read(0x2001);a_a = byte_read(0x2058);/*开机自检 eeprom 初始化*/void init_eeprom()read_eeprom(); if(a_a != 1) a_a = 1;dx_time = 30
53、;nb_time = 20;/ 开机自检 eeprom 初始化/先读/新的单片机初始单片机内问 eeprom/东西、南北的时间write_eeprom();/保存数据/* 名称 :delay_1ms()* 功能 :延时 1ms 函数* 输入 :q* 输出 :无*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+) for(j=0;j110;j+);/* 名称 :display()* 功能 :数码管显示* 输入 :无* 输出 :无*/void display()uchar i;for(i=0;i 5)dx_red = 1; /灭dx_green = 0;
54、/亮dx_yellow = 1;/灭nb_red = 0; /亮nb_green = 1; /灭nb_yellow = 1;/灭flag_5m_value = 0;else if(dx_s 5)dx_red= 0;/亮dx_green = 1;/灭dx_yellow = 1;/灭nb_red= 1;/灭nb_green = 0;/亮nb_yellow = 1;/灭flag_5m_value = 0;else if(dx_s = 5) dx_red = 0; dx_green = 1; dx_yellow = 1;nb_red = 1; nb_green = 1; if(flag_500ms =
55、/ 当小于 5 秒时/ 灭/ 灭/ 灭/ 灭/ 灭0)/黄灯闪烁黄灯要闪了nb_yellow = 0;/亮elsenb_yellow = 1;/灭uchar key_can;/按键值void key() /独立按键程序static uchar key_new;key_can = 20;/按键值还原P1 |= 0x1f;if(P1 & 0x1f) != 0x1f)/按键按下delay_1ms(1);/按键消抖动if(P1 & 0x1f) != 0x1f) & (key_new = 1) / 确认是按键按下key_new = 0;switch(P1 & 0x1f)case0x1e:key_can = 1break;/ 得到按键值case0x1d:key_can = 2break;/ 得到按键值case0x1b:key_can = 3break;/ 得到按键值case0x17:key_can = 4break;/ 得到按键值elsekey_new = 1
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。