...基于STM32单片机的交通灯控制器的设计与实现

《嵌入式系统原理及应用综合设计
1.设计题目
基于STM32单片机的交通灯控制器的设计与实现
2.设计内容
设计选题基于单片机的交通灯控制器的设计与实现,每班学生原则上3或4人一组,每组有分工协作地完成下述任务:
1、单片机模块设计与实现
完成主体功能
2、指示灯模块设计与实现
完成红绿灯跳转功能
3、倒计时显示模块设计与实现
完成倒计时显示功能
4、数码管显示模块设计与实现
完成数码管显示功能
3.设计目的
    通过本实践教学环节,一方面使学生对局部电路测试、应用程序开发以及硬软件联调有一个全面的,系统的训练;另一方面,能提高学生团队意识,提高学生组织分工、协作协同能力。培养学生分析解决实际问题的能力,提高学生的创新意识及动手能力,为毕业实习、设计,以及毕业后从事嵌入式系统应用开发打下基础,积累初步的经验。
4.设计材料和工具(实习用到的工具、软件等)
U盘笔STM32F103实验及其周边电路
Proteus仿真软件、Keil 5编程软件。
5.设计详细说明
泄洪道
(一)总体设计思路及算法描述
1)概述
本交通灯控制系统利用单片机STM32F103C6作为核心元件,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
2)软件设计
1、功能需求
①实现红绿黄LED灯转换功能;
②能够实现倒计时显示功能;
③实现不同情况下倒计时数值切换;
系统功能图如下:
图1软件结构图
本设计研究的是基于STM32F103C6单片机的交通灯智能控制系统。根据交通控制系统的设计原理,阐述了硬件和软件方面开发的整个过程。主控系统采用STM32F103C6单片机作为控制器,控制通行倒计时及右拐、右拐、直行,占用端口少,耗电也最小。有各种成熟电路可供选用,使此方案可靠稳定。该设计可直接在I/O口上接按键开关,精简并优化了电路。结合实际情况,显示界面采用LED提示和数码管计时的方法,满足了倒计时的时间显示输出和状态灯提示信息输出的要求,减少系统的复杂度。
3)硬件设计
图 2 系统原理框图
3系统总体电路图
洗衣机水嘴其中:
1、单片机模块
2、指示灯模块
3、倒计时显示模块
4、串口通讯模块
任务分配:
        耿相东:单片机模块
        葛从雨:指示灯模块
        杨洋:倒计时显示模块
        李玉坤:串口通讯模块
(二)指示灯模块
设计电路中每个路口的控制信号灯应有三个,即红灯、黄灯、绿灯各一个。因此,本电路的设计中应用到红灯、黄灯、绿灯三个。同一方向的两个路口的同一颜指示灯是同时亮灭,为简化电路,可让这两个灯接同一引脚。这样可用P1口控制所有的指示灯。按照设计,指示灯采用红/绿/黄三种发光二极管。该组件及其与单片机引脚的接法如下:
东西方向
南北方向
指示灯
绿
钢丝生产
绿
蜂窝煤采暖炉
引脚
PA12
PA14
PA13
PA9
PA11
PA12
软件流程图如下:
指示灯工作方式图如下:
从硬件原理上看,单片机IO口控制输出低电平的时候指示灯点亮,单片机IO口控制输出高电平的时候指示灯灭。
(三)调试说明
1.调试电路要分模块进行,分顺序的进行。
2.每连接一个模块都要进行检查,看是否有没有连接错误,能不能出结果。
3.电路连接好后,无确显示的时候,可进行通电调试过程中检查电源、底线有没有接好,有没有接错的问题,还是没有现象的话在通电状态下用外用表测量电路中有些节点的点位,是不是和理论的有出入。
4.如果实在还是有问题,那么就要去检查一下自己的电路的原理徒有没有问如果说电路原理图有大的错误,那么再怎么搞都是不会出结果的!
图5.2 软件预览页面
图5.2 交通控制系统运行(南北通行)
图5.3 交通控制系统运行(南北等待)
图5.4 交通控制系统运行(东西通行)
图5.5 交通控制系统运行(东西等待)
图5.6 交通控制系统运行(紧急情况,四方向黄灯闪)
6.程序代码(只描述核心代码)
if(mode) //mode=0,表示进入南北通行模式(南北绿灯+南北黄灯)
            {
                LED_NBR_OF();LED_NBY_OF();LED_NBG_ON(); //南北方向,亮绿灯
                LED_DXR_ON();LED_DXY_OF();LED_DXG_OF(); //东西方向,亮红灯
                if(temp_bei == 0) //南北方向,倒计时结束时
                {
                    if(temp_xi == 0) //多出来3秒的东西方向,也倒计时结束了
                    {
                        mode = 0; //进入东西方向绿灯模式
                        temp_xi  = xi_dong_time; //提前更新东西方向的倒计时时间
                        temp_bei = temp_xi + YELLOW_TIME; //更新南北方向的时间,为东西方向+3秒
                        LED_NBR_ON();LED_NBY_OF();LED_NBG_OF(); //南北方向,亮红灯
                        LED_DXR_OF();LED_DXY_OF();LED_DXG_ON(); //东西方向,亮绿灯
                    }
                    else //南北方向已经结束,但是东西方向多出来的3秒未结束(3秒黄灯时间)
                    {
                        temp_xi--; //剩余的3秒,倒计时-1秒
                        temp_bei = temp_xi;//南北方向黄灯时间
                        LED_NBR_OF();LED_NBY_ON();LED_NBG_OF(); //南北亮黄灯
                        LED_DXR_ON();LED_DXY_OF();LED_DXG_OF();    //东西亮红灯
                    }
                }
                else
                {
                    temp_bei--; //南北方向。计时为-1秒           
                    temp_xi = temp_bei + YELLOW_TIME; //更新东西方向的倒计时时间
                }
            }
抗坏血酸过氧化物酶

本文发布于:2024-09-22 20:34:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/262706.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设计   电路   单片机   系统   倒计时   方向   学生   软件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议