stm32单片机的智能交通灯设计

这篇具有很好参考价值的文章主要介绍了stm32单片机的智能交通灯设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.硬件方案

       stm32单片机的智能交通灯主要由stm32单片机核心板+74HC245芯片+数码管+LED指示灯+按键等构成。硬件框图如下:

stm32单片机的智能交通灯设计

二.设计功能

(1)本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示。

(2)按键可以控制禁行、深夜模式、复位、东西通行、南北通行、时间加、时间减、切换等功能。

(3)共四个二位阴极数码管,东南西北各一个显示时间,四个数码管的阴极都接到STM32F103C8T6的P1口,阳极接到74HC245芯片上,通过P0口控制74HC245芯片,起到驱动放大作用。

(4)共12个发光二极管,四个路口每个路口各有一个红(禁行)、黄(警告)发光二极管,四个路口的二极管接到PA及PB口,按键接PB口。

三.设计原理图

(1)交通灯控制方案

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

stm32单片机的智能交通灯设计

stm32单片机的智能交通灯设计

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

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

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

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

(2)原理图主要采用AD软件进行设计,如图:

stm32单片机的智能交通灯设计

(2)PCB图如下:

stm32单片机的智能交通灯设计

四.软件设计

        主程序源码

int main(void)
{    
    delay_init();         //延时函数初始化    
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
    SMG_Init();
    KEY_Init();
    delay_ms(200);
    Green_dx=1;  // 开始默认状态,东西绿灯,南北黄灯  
    Yellow_nb=1;
    sec_nb=sec_dx+5;       //默认南北通行时间比东西多5秒
    TIM2_Int_Init(500-1,7199);//10Khz的计数频率,计数到500为50ms   500*100=50000us=50ms
    TIM3_Int_Init(500-1,7199);//10Khz的计数频率,计数到500为50ms
    //Tout = ((arr+1)*(psc+1))/Tclk ;  
    //Tclk:定时器输入频率(单位MHZ)
    //Tout:定时器溢出时间(单位us)
    while(1)
    {
        KeyScan();
        /用于设置时,数码管闪烁
        if(test++ >= 400)test=0;
        if(test < 200)setShanshuo=0;else setShanshuo=1;
      
        if(setFlag==0)//在正常模式下
        {
            DisplayData[3] = smgduan[sec_nb%10];//南北个位段码数据
            DisplayData[2] = smgduan[sec_nb/10];//南北十位段码数据
            DisplayData[1] = smgduan[sec_dx%10];//东西个位段码数据
            DisplayData[0] = smgduan[sec_dx/10];//东西十位段码数据
        }
        else//在设置模式下,相应的数码管闪烁显示
        {
            if(setShanshuo==0)
            {
                DisplayData[3] = smgduan[sec_nb%10];//南北个位段码数据
                DisplayData[2] = smgduan[sec_nb/10];//南北十位段码数据
                DisplayData[1] = smgduan[sec_dx%10];//东西个位段码数据
                DisplayData[0] = smgduan[sec_dx/10];//东西十位段码数据
            }
            else
            {
                if(set==0)//说明在设置东西时间
                {
                    DisplayData[1] = 0x00;//数码管熄灭
                    DisplayData[0] = 0x00;//数码管熄灭
                }
                else//说明在设置南北时间
                {
                    DisplayData[3] = 0x00;//数码管熄灭
                    DisplayData[2] = 0x00;//数码管熄灭
                }
            }
        }
        DigDisplay();//显示数据
    }
}

资料链接:https://pan.baidu.com/s/1DlzOjNwmu-EGqErYrwjjuw?pwd=58fe 

提取码:58fe文章来源地址https://www.toymoban.com/news/detail-482661.html

到了这里,关于stm32单片机的智能交通灯设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机8051设计交通灯

    目录 一、功能要求 要求实现的功能 二、设计方案 1.系统时钟 2. 红绿灯时长及夜间模式时间段的存储 3.紧急情况设计 4.夜间模式设计 5.夜间行人过路设计 6.系统时钟及系统参数设置显示 7.数码管显示倒计时 8.LED显示红绿灯 三、系统硬件设计 1.数码管显示 2.矩阵键盘 3.蜂鸣器

    2024年01月17日
    浏览(45)
  • 单片机交通灯设计实例

    目录 一、初步设计 二、实现过程 三、实现效果 一、初步设计 在Profession中设计一个交通灯的仿真图,结合Keil编写c语言代码实现十字路口的交通灯变化。设计的交通灯主要变化有如下五种情况:(可根据自身的交通灯变化情况进行相应的代码修改) 第一种情况:东西红灯,南

    2024年02月07日
    浏览(43)
  • 单片机交通灯控制系统

    一、实验目的 掌握单片机的综合应用设计。 二、实验仪器、材料 Keil软件、proteus软件 三、实验内容及要求 完成以下任务:十字路口的交通灯控制系统,四组灯对应十字路口的四个方向,用两位的数码管显示剩余的时间。 四、实验原理 五、实验过程及原始记录(包括原理图

    2024年02月11日
    浏览(40)
  • 基于单片机的交通灯设计

    本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。随着社会经济的发

    2024年02月06日
    浏览(82)
  • 单片机——交通灯(定时器中断)

    1.基础知识 1.1、中断源 中断源符号 名称 中断引起原因 中断号 /INT0 外部中断0 P3.2引脚低电平或下降沿信号 0 T0 定时器0中断 定时,计数器0计数回0溢出 1 /INT01 外部中断1 P3.3引脚低电平或下降沿信号 2 T1 定时器1中断 定时/计数器1计数回0溢出 3 TI/RI 串行口中断 串行通信完成一帧

    2024年02月08日
    浏览(47)
  • 51单片机LED模拟交通灯

    实验软件 : Keil5 + Proteus7 实验元件 : AT89C51 * 1, LED-GRD * 3, LED-YELLOW * 3, LED-GREEN * 3, RES * 9 (用来限流可以不要)

    2024年02月11日
    浏览(47)
  • 单片机设计基于单片机的交通灯控制系统的设计

      针对我国城市路况复杂的特点,在交通灯控制系统硬件设计方面以最小系统模块、电源模块、时间显示模块以及车流量检测模块为主要模块,不仅可以完成交通灯的顺序点亮,还可以实现倒计时、车流量检测等相关功能;软件设计方面通过检测程序的设定,来检测是否达

    2024年02月04日
    浏览(44)
  • 基于单片机控制的交通灯系统设计

    本设计是交通灯的控制实验,必须要先了解实际交通灯的变化规律。假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭。然后转状态一东西绿灯通车,南北为红灯。过段时间转状态二,东西绿灯闪几次转黄灯,延时几秒,南北仍为红灯。再转状态三

    2024年02月08日
    浏览(56)
  • 基于51单片机的交通灯Protues仿真设计

    目录 一、设计背景 二、实现功能 三、 硬件电路设计说明 3.1 主控模块电路设计 3.2 数码管显示电路设计 ​​​​​​​3.3 键盘电路设计 ​​​​​​​3.4 复位电路设计 ​​​​​​​3.5 时钟电路设计 三、仿真演示 四、源程序        交通是城市经济活动的生命线,

    2024年02月09日
    浏览(46)
  • 基于51单片机的简易交通灯仿真代码讲解

    J028 51单片机简易交通灯易懂版_仿真+代码+报告讲解 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 51单片机简易交通灯易懂版仿真代码讲解 状态1:南北方向绿灯通行12秒,东西红灯禁止通行15秒,分别倒计时; 状态2:南北方向黄灯提醒3秒,东西继续红灯倒计时;

    2024年02月02日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包