基于STM32的交通灯(OLED屏显示倒计时)的Proteus仿真

您所在的位置:网站首页 鸿合屏幕倒计时 基于STM32的交通灯(OLED屏显示倒计时)的Proteus仿真

基于STM32的交通灯(OLED屏显示倒计时)的Proteus仿真

2024-07-14 13:17| 来源: 网络整理| 查看: 265

文章目录 一、前言二、交通灯1.题目要求2.思路3.画图正常情况模拟故障情况 4.软件 三、总结

一、前言

最近下载了Proteus仿真软件,闲来无事也试试画一个简单的仿真图。

有需要软件的朋友可以去我的另外一篇博客下载和安装。

自用Proteus(8.15)仿真下载安装过程(附详细安装过程图)

二、交通灯 1.题目要求

基本要求: 额外要求:复位模块,数码管倒计时显示、故障报警、车流量检测和调整模块 故障报警:bcde四个指示灯的绿灯不能同时点亮;如果同时被点亮,则应自动立即停止系统,同时发出警告提示信号。 车流量检测和调整模块:车流量计数程序在一个状态变换循环先后计数两个方向的车流量,然后调用红绿灯时间调整程序,更新红绿灯时间。当前状态时间已到,判断其状态装入相应数据,然后进入下一状态。表现为检测一个方向车流量大于 30时,此方向自动增加 10 秒,车流量大于 50 时,此方向自动增加 20 秒,会自动清空一分钟以前的数据。

2.思路

首先,看基本要求,总共有5个方向的灯,分别是a,b,c,d,e方向的灯,一共有24个灯,只要按照要求逐一点亮和熄灭即可。

额外要求的话,复位模块可以直接用单片机的RST复位引脚进行复位,显示倒计时的话数码管占用GPIO太多,我这里选用OLED显示屏进行显示,故障报警的话直接模拟故障情况,用一个按键,当按键被按下时,出现故障,bcde四个指示灯的绿灯同时点亮,自动立即停止系统(停止倒计时和交通灯显示),同时发出警告提示信号(用一个蜂鸣器响)。车流量检测和调整模块没想好怎么用仿真表示。

3.画图 正常情况

按照基本要求的表格进行交通灯显示。

在这里插入图片描述

模拟故障情况

通过按键按下模拟故障情况,倒计时停止,bcfe方向的绿灯同时点亮。 在这里插入图片描述

4.软件

主函数

/* Includes ------------------------------------------------------------------*/ #include "Drv_UserSystem.h" /** * @brief main function. * @param none * @retval none */ int main(void) { UserSystemInit();//用户配置初始化 while (1) { if (stSysTime.flg._10ms + TEN_MILLISECOND


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3