1、1毕 业 设 计(论 文)题目: 基于单片机十字路口交通灯的设计 系: 机电工程系 专 业: 电气自动化技术 班 级: 学 号: 姓 名: 指导教师: 完成时间: 2摘要随着社会经济的高速发展和科学技术的提高,汽车已经成为了家家户户出门旅游、回家过年、上下班所必备的交通工具。但是随着越来越多的人拥有汽车,随之带来的是各种各样的环境问题和交通问题,由于车的大量使用,给道路交通安全造成了巨大的压力,堵车,安全事故频发,这就直接催生了交通信号灯的诞生,从此,几乎全球所有国家对其进行了推广应用。很明显,信号灯的出现是成功的,只要人人遵守信号灯的规则,即红灯停,绿灯行;它的确能够给人们的出行带来便利,使
2、得大面积堵车成为了历史问题,并且提高了车的通行速度,也保证了路口的通行容量。但是随着特大城市的出现,尽管都在使用信号灯,但是道路拥堵的状况也时有发生,尤其天气状况不好的时候,这一情况更加突出。分析其原因发现,这种情况的出现不仅有信号灯转换技术问题,道路车道的设置问题,还有就是人们的规则遵守意识。当前我国城市交通管理系统平台主要用于监控道路的车流量,对繁忙道路的情况实时通过广播电台传输给路上的司机,让其自由选择路段行驶。而这一系统一般是采用通过 PLC 控制交通灯,使其在上下左右在不同的时间上通过。以保证行车安全,相对比起来,PLC 比单片机这种芯片施工成本更贵,且不易维护,而且将来不易联网到整
3、个大的交通控制平台来集中管理。因此,本文做了基于单片机开发的交通信号控制灯。本系统是利用单片机系统、发光二极管、LED 演示系统组成。系统包括人行道、左转、右转以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置等工程。可以在最大程度的模拟十字路口可能出现的状况。关键词 交通灯 单片机 3目录目录 .3一、绪论 .31.1 引言 .41.2 交通灯研究的背景和意义 .4二、 交通灯系统的总体设计方案 .52.1 设计目的 .52.2 总体设计方案 .52.2.1 系统机构总框架 .52.2.2 交通管理的方案论证 .62.2.3 控制电路框图 .62.3 本章小结 .6三、交
4、通灯系统硬件设计 .63.1 单片机概述 .73.2 芯片的介绍和选择 .73.2.1 AT89C51 芯片 .73.2.2 复位电路 .93.2.3 时钟电路 .93.4 硬件原理图 .103.5 本章小结 .10四、交通灯系统软件设计 .114.1 主程序设计 .114.1.1 主程序流程图 .114.2 初始化程序 .114.3 延时程序 .124.4 倒计时显示的理论分析 .124.5 状态灯显示的理论分析 .124.6 源程序 .124.7 本章小结 .12五、 电路仿真和系统调试 .135.1 断电调试 .135.2 通电调试 .135.3 调试中的问题及解决方案 .135.4 电
5、路仿真图 .145.5 本章小结 .144六、结论和展望 .156.1 结论 .156.2 展望 .15致谢 .16参考文献 .17附录 .18一、绪论1.1 引言众所周知,信号灯包括红灯、黄灯及绿灯,每一种灯代表一种指示,即红灯代表车辆必须停止在红灯所在车道路口线以内;绿灯代表车辆能够按绿灯所在的车道或转向行驶;黄灯代表提示的意思,黄灯亮说明红绿灯之间的过度。但是当两百多年前,信号灯首次诞生在英国的一个城镇约克镇时,我们的信号灯只有红绿两种色彩,随着内燃机技术的发展,车辆尤其是私家车辆的大量出现红绿两色信号灯逐渐暴露出了它的缺陷,即不知道何时绿灯会变为红灯,红灯绿灯变为红灯显得很突兀,极易造
6、成司机闯红灯,造成交通事故。这时具有现代意义色彩的三色灯应运而生了。1918 年,三色灯首次出现在纽约,那时它由三色四面投影仪组成,它的诞生极大的提高了交通效率。 然而信号灯的诞生很具传奇色彩。在十九世纪初期英国的约克市,人们受传统观念的影响,结婚后的女人一般穿着红色的外套,而未婚女子则往往穿着绿色的服装来区别。这就预示着当时的女人的身份特征。那时,刚好这座城市的国会前广场经常发生马车压死人的情况,为了解决这一问题,人们受红绿装这一传统的启发,于 1968 年 12 月在广场前安装了红绿两色灯,就此信号灯家族第一个成员诞生了。这一信号灯由英国一个叫哈德的机械师设计安装的,当时,红绿两色信号灯安
7、装在大约 7 米高的灯柱上,驱动这两灯发光的能源通过燃烧煤气来取得,在灯座上还配有一位警察来控制灯的颜色变化。然而,仅仅不到一个月事故还是发生了,但这次事故不是马车压死了路人,而是这位信号灯控制员被炸死了。从此,煤气驱动的信号灯也就退出了历史舞台。直到后来,爱迪生发明了灯泡,信号灯才再次回到历史当中。大概在 1914 年前后,美国城市克利夫兰首次诞生了电驱动的信号灯。随后,纽约、芝加哥等城市也逐渐将其推广应用。更具现代意义的信号灯,即红黄绿三色灯的出现也有我们中国人的贡献,年轻的华人科学家胡汝鼎为实现科学救国,只身前来美国学习现代科学技术,5来到了爱迪生担任董事长的通用公司工作。一次,他正等待
8、过马路,绿灯亮时他正穿过马路,然而一辆汽车从他面前呼啸而过,当时被吓了一身冷汗,回到驻地他反复琢磨怎么解决这一问题。随后的研究给了他启示,即在红绿灯之间在加以黄色信号灯用以提醒人们注意安全。当然他的建议取得了大家的认同。从此,城市交通真正意义上的大为改善。1.2 交通灯研究的背景和意义城市交通是城市经济活动的生命线,是人们衣食住行的根本保障,便利的交通对国家的经济发展起着基础决定性作用,然而随着我国大城市群的出现,城市交通问题也日益严重。从最近几年的新闻报道就能发现,几乎每年的夏天由于暴雨或大风等恶劣气象的出现都导致了交通系统的大面积瘫痪,给人们的出行安全带来了极大的不便。可以这么讲,一个城市
9、的活力很大程度上反应在城市的方方面面,城市的每一个细节上。而我国当前正在进行着广泛的城市化进程,这无疑又给本已脆弱的城市交通系统带来了极大的考验,考验着城市的容忍度。纵观国际上那些规模特大城市,会发现几乎他们都有着非常发达的交通运输系统,而便捷的交通又会吸引优秀的企业和优秀人才的流入,答案是明显的,即虽然城市规模够大,但是他的出行成本,运输成本及便捷性都会使得企业运营成本降低,这就是城市规模化优势。这样的优势往往是可持续的并能够形成良性循环,调研发现历史上那些大城市,绝大部分到现在仍然是最具吸引力的城市,同样我国的深圳市虽然年轻,但已位列世界大城市的一员,也主要依靠好的基础交通设施。可见,城市
10、交通问题影响着城市的发展。我们怎么解决大城市面临的交通问题呢?我认为,首先我们要认真的对待问题,找到问题的根源;其次,参照现有的在运行的优良的城市交通系统来改进升级来作为我们解决问题的切入点;再次,积极做好城市交通规划,要对将来可能面临的人口流入压力及可能面对的极端天气的影响留有余量;最后,积极寻求技术解决途径,通过智能交通管理系统来提升现有的交通运输效率。正是基于此认识,本文在学习调研的基础上,结合单片机知识来对城市交通信号控制做一简易的设计,希望能够将学到的知识应用到生产实践当中来,为我国的智能交通应用做一简单探讨。二、 交通灯系统的总体设计方案 2.1 设计目的 6(1)掌握系统设计的一
11、般步骤和方法,掌握一个大系统中各个子系统它们之间的逻辑连接关系。(2)系统掌握单片机设计方法并能够独立的开发出信号灯控制系统。通过程序化系统的设计,选择芯片、电路安排、程序编写与调试、做完后的心得体会和总结,通过这次毕业设计,希望能够系统的掌握工程设计的一般步骤及思考方法,进一步提升实际动手能力,将理论知识应用到实践。(3)能够熟练运用学习的软件(单片机、电子设计、proteus 等),学会调试的一般步骤和方法。(4)培养自己的动手能力和分析解决问题的能力,学会用正确的方法去发现问题、分析问题、解决问题。(5)通过这次的毕设,希望对单片机整个家族系统及开发单片机所用到的编程语言进行一个全面的认
12、识,能够将系统各个模块的设计原理进行细化,包括开发芯片的选择,开发软件的设置等。(6)提高实践动手能力、提高利用已学知识分析和解决问题的能力。2.2 方案整体设计2.2.1 系统结构框架该系统设计的目的是用于控制大交叉路口的交通信号系统。交叉路口四面各有一组信号灯。设定状态一为主路的状态,且绿灯点亮 63 秒,同时支路的红灯点亮 60 秒;设定状态二为主路黄灯点亮 3 秒,且支路的红灯点亮 3 秒;设定状态三为主路红灯点亮且支路绿灯点亮;设定状态四为,主路红灯闪烁且支路黄灯点亮。2.2.2 信号灯设计的方案论证主路与干路交叉道口四面各有一组信号灯。它们的高效有序工作指导者参与交通的各方主体,使
13、交通能够安全高效有序的进行。当红灯点亮时,车辆及行人必须立即停止通行;当绿灯点亮时指导车辆进行人可以安全通过;当黄灯点亮时提醒人们注意安全,按规则行驶。这里我们设定 P1 端口的 P1.0,P1.1 及P1.2 来控制主路的绿灯、黄灯及红灯显示,P1.3,P1.4 及 P1.5 端口来控制支干道的绿、黄、红灯。2.2.3 控制电路框图89C51系统处理7交通信号灯图 2-1 控制电路框图将每一信号指示灯分配连接到相应的 I/O 端口,用以控制信号灯的状态,同时按键开关可以控制单片机中断,然后控制信号灯的点亮状态。2.3 本章小结 本章主要介绍了交通灯系统的总体设计方案,文中详细的介绍了交通灯的
14、设计目的、系统机构的总框架、交通管理的方案论证。使别人可以一眼看懂自己所需要做的是什么,所需要实现的功能又是什么。又从侧面的去论证了这个方案的可行性、让我自己对自己所要设计的东西有一个大致的了解。三、交通灯系统硬件设计3.1 单片机概述单片机(Microcontrollers)属于一种集成电路智能芯片,它主要依靠现代微电子技术将各种数据处理器如 CPU,各类存储器,如随机存储器、只读存储器及相关的各种端口、定时计数器及中断控制系统集成在一起构成的这么一个小型片上系统,稍微高级一点的单片机可能还会有显示求佛那个器,AD 转换器及 PWM 电路等。它的出现开启了智能控制时代的到来,尤其在工业控制领
15、域,它的应用得到了充分的发挥,为智能工厂的诞生奠定了基础。当然,单片机的位数越高它的处理能力就越强,从最初的 4 位机发展到后来的 8 位,16 位,32位等,其控制能力及控制动作也大幅提升了。目前工业上主要用的单片机现在倒计时显示8很大程度上正被更高级的单片机系统如 FPGA 及嵌入式系统来取代。3.2 芯片的介绍和选择3.2.1 AT89C51 简介AT89C51 是一个 4K 字节的 FLASH 存储器,具有运行电压低,高性能 CMOS 管构成的 8 位微处理器,亦称单片机。该型号单片机的可擦除只读存储器可达 1000 多次。该器件使用 ATMEL 研发的高密度非易失性存储器技术制造,并
16、能够与工业标准MCS-51 制定的指令集及对应输出引脚相互兼容。由于将多功能 8 位 CPU 和闪存组合在一个芯片上,所以 AT89C51 尽管体积小,但这并不影响它的高效。引脚介绍:VCC:电源电压。 GND:接地端。P0 口:P0 口具有 8 位双向 I/O 功能,它的漏级是开路的。且每个引脚可以吸收8TTL 栅极电流。当 P0 端口引脚第一次写入时 1 时,将其认为是高电阻输入。而 P0 可用于外部编写程序的数据扩展存储器,可定义为低 8 位数据/地址。在FIASH 编程中,P0 口作为原始代码输入,当 FIASH 检查时,P0 输出原始代码,此时 P0 外部必接上拉电阻。P1 口:P1
17、 口为内部上拉电阻的 8 位双向 I/O 口,P1 口缓冲器可接收输出 4TTL栅极电流。P1 口引脚写 1,内部拉高,可用作输入,P1 口为外部下拉为低,输出电流,这是由于内部上拉引起的原由。在 FLASH 编程和验证中,P1 端口作为低 8 位地址。P2 口:P2 口为内部上拉电阻的 8 位双向 I/O 口,可接收 P2 口缓冲区,输出4TTL 栅极电流,当 P2 口写入“1”时,引脚为由内部上拉电阻上拉,并作为输入。当作为输入的结果,P2 端口引脚被外部拉低,输出电流。这是由于内部上拉的原因。P2 口被用做外部编写程序存储器或是 16 位地址外部数据寄存器访问时,P2 口输出地址为高 8
18、 位。在给定地址“1”中,它使用内部拉动的优点,当外部 8 位地址数据存储器读写时,P2 端口输出其特殊功能寄存器的内容。P2端口在 FLASH 编程和验证中接收高 8 位地址及控制信号。P3 口:P3 口引脚为 8,带内部上拉电阻的双向 I/O 口,可接收输出 4 路 TTL 栅极电流。当 P3 端口写入“1”时,它们在内部被拉高并用作输入。作为输入,P3 端口将由于外部下拉低电平而输出电流(ILL)。9P3 口在特殊要求下也可作为 AT89C51 的一些特殊功能口来使用,如下表所示:口引脚 备选功能P3.0 RXD(串行输入端口)P3.1 TXD(串行输出端口)P3.2 / INT0(外部
19、中断 0)P3.3 / INT1(外部中断 1)P3.4 T0(定时器 0 外部输入)P3.5 T1(定时器 1 外部输入)P3.6 / WR(外部数据存储器写选通)P3.7 / RD(外部数据存储器读选通)P3 端口用于闪存编程和程序验证以接收一些控制信号。RST:复位输入。当振荡器复位时,RST 引脚保持高电平两个机器周期。ALE/PROG:当访问外部存储器时,地址锁存器准许输出电平用来锁存地址的低字节。此引脚用于在闪存编程期间输入编程脉冲。在正常情况下,ALE 侧到恒定频率周期输出正脉冲信号,振荡器频率的频率为 1/6。因此它可以作为外部输出脉冲或用作定时使用。但是请注意,每次将 ALE
20、 脉冲当做外部数据存储器使用时,都将跳过一个 ALE 脉冲。如果要禁止 ALE 输出,可以在 SFR8EH 地址上设为 0。此时,ALE 只能够在执行 MOVX 指令或 MOVC 指令时,ALE 才起作用。此外,这个管脚略微升高。如果微处理器执行外部状态 ALE,则该设置无效。/PSEN:外部程序存储器的选通信号。在外部程序存储器读取期间,每个机器周期两个/PSEN 时间有效。但是,当访问外部数据存储器时,两个有效/PSEN 信号将不会出现。/EA/VPP:当/EA 置于低位时,外部程序存储器(0000H-FFFFH)在此期间,无论是否有内部程序存储器。注意加密方法 1,/EA 将在内部锁定到
21、 RESET;当/EA侧保持高位时,内部程序存储器。此引脚还用于在闪存编程期间应用 12V 编程电源(VPP)。XTAL1:输入到反相振荡器放大器,并输入到内部时钟工作电路。XTAL2:反相振荡器的输出。3.2.2 复位电路复位电路:使用它能够将电路恢复到原始状态。就像计算机的复位按钮一样,以便恢复到原来10的状态,重新开始计算。但是计算机与复位按钮其原理大不不同,复位电路的启动方式是不同的。首先,当电源电路启动时立刻复位操作;其次是,在需要的情况下可以手动操作;最后是基于程序或电路操作的需要来自动运行。复位电路相对简单只是一个电阻和电容的组合就可以做到,复杂点的只要有一个复杂的晶体管和其他程
22、序来执行。作用是把特殊功能寄存器的数据刷新为默认数据。图 3-1 复位电路图3.2.3 时钟电路时钟电路是由晶振,控制器及匹配电容构成。也与时钟振荡器电路相同。还有就是任何工作都按时间顺序。用于产生这个时间的电路。时钟电路的组成:一般时钟电路都是由晶振,控制芯片,匹配电阻及电容等元件组成,部分时钟电路是由主板、晶振及控制芯片组成。没有晶振的时钟芯片是为在北桥的存储器和时钟而设计的。工作原理:电路上电后,晶振会输出一个特定频率,时钟芯片(又称分频器)将其分为不同的信号周期,然后进行信号频率上升或下降的处理,最后通过时钟芯片电阻侧(外围组件)输出,大多数会连接到每个设备。图 3-2 时钟电路图3.4 硬件原理图本信号灯控制系统利用 AT89C51 芯片来对 12 个 LED 灯进行控制,实现交通信号灯的控制,同事系统还加了一个排阻,作用是作为上拉电阻来驱动数码管显示。