基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计本系统采用STC89C51单片机以及单片机最小系统和74HC245驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

博主福利:100G+电子设计学习资源包!

http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect
————————————————————————————————————————–

 

本系统采用STC89C51单片机以及单片机最小系统和74HC245驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显示,并能通过按键对定时进行设置。

 

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

 

本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示。按键可以控制禁行、深夜模式、复位、东西通行、南北通行、时间加、时间减、切换等功能。

共四个二位阴极数码管,东南西北各一个显示时间,四个数码管的阴极都接到STC89C51的P1口,阳极接到74HC245芯片上,通过P0口控制74HC245芯片,起到驱动放大作用。共12个发光二极管,四个路口每个路口各有一个红(禁行)、黄(警告)发光二极管,四个路口的二极管接到P2口,按键接P3口。

设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

 

东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向禁止通行,南北向允许通行。

东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向允许通行,南北向禁止通行。

南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

 

显示模块功能

 

显示模块分数码管显示和LED显示,数码管倒计时显示可以提醒驾驶员在信号灯颜色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。

倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的一种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。通过两种显示结合,是本设计更合理可靠。

 

按键模块功能

 

本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。按键可以设置系统的运行状态,禁行状态为数码管均显示“00”,红灯全亮;复位按键可以将整个系统复位;东西通行是东西方向的绿灯亮,南北方向上的红灯亮;南北通行为南北方向上的绿灯亮,东西方向上的红灯亮;时间加减可以设置通行和等待通行的时间;切换按键可以切换加减的方向时间。通过安检模块的控制,使得整个系统具有灵活性,实用性。

 

基本构成及原理

 

在相同的时间里提高通车的质量、效率。并能在高峰期根据实际状况结合方程式控制按钮来调整主次干道的通车时间,降低交通拥挤堵塞现象。并使交通控制系统具有紧急控制,使救护车、救护车通过时,使两个方向均亮红灯,救护车和消防车通过后,恢复原来状态,增加对出现特殊情况的处理能力。

 

本单片机控制交通灯系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,单片机对此进行具体处理,及时调整控制指挥。

 

键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键和违规检测随时调用中断。

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

 

单片机最小系统设计

 

STC89C51共有4个8位的并行I/O口,分别记作P0、P1、P2、P3。每个口都包含一个锁存器、一个输出驱动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O端口使用。

 

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

 

信号显示驱动电路设计

 

74HC245译码器可接受3位二进制加权地址输入(A0,A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC245特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。

利用这种复合使能特性,仅需4片74HC245芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC245亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态。

 

74HC245作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统,在高性能存贮器系统中,用这种译码器可以提高译码系统的效率。将快速赋能电路用于高速存贮器时,译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器所引起的有效系统延迟可以忽略不计。

 

HC138 按照三位二进制输入码和赋能输入条件,从8个输出端中译出一个低电平输出。两个低电平有效的赋能输入端和一个高电平有效的赋能输入端减少了扩展所需要的外接门或倒相器,扩展成24线译码器不需外接门;扩展成32线译码器,只需要接一个外接倒相器。在解调器应用中,赋能输入端可用作数据输入端。

 

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

设计中将1脚接VCC,19脚接地,整个芯片是输入端输入高则输出端输出高,输入端输入低则输出端输出地,只是相当于驱动作用。

 

键盘输入电路设计

 

独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O 口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。

当有键按下时,此I/O 口与地短路迫使I/O 口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

程序主体设计

 

全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:按键处理程序和50ms扫描程序。

 

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189859.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicate 15 激活码【2021.8最新】[通俗易懂]

    (navicate 15 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsa…

    2022年3月26日
    237
  • java单例模式代码实现方式_java单例模式实现方式

    java单例模式代码实现方式_java单例模式实现方式JAVA常见的设计模式之单例模式 懒汉模式 懒汉式是典型的时间换空间,也就是每次获取实例都会进行判断,看是否需要创建实例,浪费判断的时间。当然,如果一直没有人使用的话,那就不会创建实例,则节约内存空间(搬运工)。标准的懒汉模式classLazySingleton{//私有成员属性privateLazySingletonlazySingleton;//私有构造方法privateLazySingleto…

    2022年8月11日
    10
  • python里for循环用法_python遍历循环

    python里for循环用法_python遍历循环python中使用for循环的方法发布时间:2020-12-0809:35:27来源:亿速云阅读:95作者:小新小编给大家分享一下python中使用for循环的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!python循环方式有两个,一个是while循环,另一个就是for循环,while循环和if条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。…

    2022年8月12日
    6
  • plc的移位指令C语言实现,移位指令做流水灯-PLC中使用移位指令是如何实现移位动作的-电气资讯 – 电工屋…「建议收藏」

    plc的移位指令C语言实现,移位指令做流水灯-PLC中使用移位指令是如何实现移位动作的-电气资讯 – 电工屋…「建议收藏」移位指令的详述一般格式移位操作符(如SHR)OPR,CNT.其中OPR用除立即数外的任何寻址方式。移位次数由CNT决定,在8086中可以是1或CL,CNT为1时只移一位;如果需要移位的次数大于1时,需要先将移位次数存入CL寄存器中,而移位指令中的CNT写为CL即可。在其他机型中可使用CL和CNT,且CNT的值除可用1外,还可以用8位立即数指定范围从1到31的移位次数。有关OPR和CNT的规定…

    2022年6月5日
    30
  • c++-析构函数

    c++-析构函数

    2021年9月29日
    55
  • h5网页制作_为什么叫h5页面

    h5网页制作_为什么叫h5页面背景:h5文件详解H5文件是层次数据格式第5代的版本(HierarchicalDataFormat,HDF5),它是用于存储科学数据的一种文件格式和库文件。由美国超级计算中心与应用中心研发的文件格式,用以存储和组织大规模数据.H5将文件结构简化成两个主要的对象类型: 数据集dataset,就是同一类型数据的多维数组 组group,是一种容器结构,可以包含数据集和其他组,若一个文件中存放了不同种类的数据集,这些数据集的管理就用到了group! 直观的理解,可以参考我们的文件系统

    2022年9月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号