【Proteus仿真】【STM32单片机】汽车尾灯控制设计
文章目录
- 一、功能简介
- 二、软件设计
- 三、实验现象
- 联系作者
一、功能简介
本项目使用Proteus8仿真STM32单片机控制器,使用按键、LED模块等。
主要功能:
系统运行后,系统运行后,系统开始运行,K1键控制左转向灯;K2键控制右转向灯;K3键控制紧急情况灯;K4键控制刹车指示灯。
二、软件设计
/*
作者:嗨小易(QQ:3443792007)*///系统数据设置
void sys_data_set(void)
{u8 key=0;key=KEY_Scan(0);//左转if(key==KEY1_PRESS){sys_ctrl.mode[0]=!sys_ctrl.mode[0];if(sys_ctrl.mode[0]==1)//打开{sys_ctrl.mode[1]=0;sys_ctrl.mode[2]=0;sys_ctrl.mode[3]=0;sys_ctrl.cnt=0;LED(0XF7);TIM_Cmd(TIM2,ENABLE);//打开定时器 }}//右转else if(key==KEY2_PRESS){sys_ctrl.mode[1]=!sys_ctrl.mode[1];if(sys_ctrl.mode[1]==1)//打开{sys_ctrl.mode[0]=0;sys_ctrl.mode[2]=0;sys_ctrl.mode[3]=0;sys_ctrl.cnt=0;LED(0XEF);TIM_Cmd(TIM2,ENABLE);//打开定时器 }}//紧急else if(key==KEY3_PRESS){sys_ctrl.mode[2]=!sys_ctrl.mode[2];if(sys_ctrl.mode[2]==1)//打开{sys_ctrl.mode[0]=0;sys_ctrl.mode[1]=0;sys_ctrl.mode[3]=0;sys_ctrl.cnt=0;LED(0X00);TIM_Cmd(TIM2,ENABLE);//打开定时器 }}//刹车else if(key==KEY4_PRESS){sys_ctrl.mode[3]=!sys_ctrl.mode[3];if(sys_ctrl.mode[3]==1)//打开{sys_ctrl.mode[0]=0;sys_ctrl.mode[1]=0;sys_ctrl.mode[2]=0;sys_ctrl.cnt=0;LED(0X00); }}
}//系统功能控制
void sys_fun_ctrl(void)
{if(sys_ctrl.mode[0]==0 && sys_ctrl.mode[1]==0 && sys_ctrl.mode[2]==0 && sys_ctrl.mode[3]==0){sys_parm_init();LED(0XFF);TIM_Cmd(TIM2,DISABLE);//关闭定时器 }
}//应用控制系统
void appdemo_show(void)
{KEY_Init();ctrl_pin_init();TIM2_Init(400-1,70);//定时10mssys_parm_init();//系统参数初始化while(1){sys_data_set();//系统数据设置sys_fun_ctrl();//系统功能控制 }
}
三、实验现象
B站演示视频:https://space.bilibili.com/444388619



联系作者
视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。
相关文章:
【Proteus仿真】【STM32单片机】汽车尾灯控制设计
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用按键、LED模块等。 主要功能: 系统运行后,系统运行后,系统开始运行,K1键控制左转向灯ÿ…...
多线程—锁
多线程中,锁用于确保同一时间只有一个线程可以访问共享资源,从而避免并发访问导致的数据不一致或者竞争条件等问题。 常见的锁有两种:互斥锁和读写锁。互斥锁的作用是保护共享资源,同时只允许一个线程访问,其他线程需…...
uniapp使用vue
uniapp集成了Vuex,,并不需要安装vuex 定义自己的vuex vuex中独立命名空间: 可以在模块中使用 namespaced 属性,设置为 true,,这样做的好处是,,不同模块之间的state,mut…...
能源监测管理系统有哪些作用与效果?
随着全球能源的不断增加,能源的有限性与环境问题日益严重,用能管理企业需要一种高效的方法来管理能源与利用能源,因此能源监测管理系统成为了一种不可或缺的工具。 能源监测管理系统的重要性 1、实现节能减排的目标 通过系统,可…...
数据分析是什么?
第一章- 数据分析是什么 数据分析是指 根据分析目的,用适当的分析方法及工具,对数据进行分析,提取有价值的信息,形成有效结论的过程。 数据分析的作用 通过观察数据,知道当前发生什么?通过具体的数据拆解…...
【kafka】Java客户端代码demo:自动异步提交、手动同步提交及提交颗粒度、动态负载均衡
一,代码及配置项介绍 kafka版本为3.6,部署在3台linux上。 maven依赖如下: <!-- kafka --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.13</artifactId><version>3.6.0…...
【Git】Gui图形化管理、SSH协议私库集成IDEA使用
一、Gui图形化界面使用 1、根据自己需求打开管理器 2、克隆现有的库 3、图形化界面介绍 1、首先在本地仓库更新一个代码文件,进行使用: 2、进入图形管理界面刷新代码资源: 3、点击Stage changed 跟踪文件,将文件处于暂存区 4、通过…...
AIX5.3安装weblogic10.3
目录 1安装IBM JDK 1.6 2图形化准备 3安装weblogic 准备 4图形化界面安装 1安装IBM JDK 1.6 1.1检查操作系统 # oslevel 5.3.0.0 # bootinfo -y (显示AIX机器硬件是64位) 64 # bootinfo -K (显示AIX系统内核是64位) 64 因此,系统需要安装64位的jdk,…...
聊聊logback的FixedWindowRollingPolicy
序 本文主要研究一下logback的FixedWindowRollingPolicy RollingPolicy ch/qos/logback/core/rolling/RollingPolicy.java /*** A <code>RollingPolicy</code> is responsible for performing the rolling over* of the active log file. The <code>Roll…...
详解机器学习最优化算法
前言 对于几乎所有机器学习算法,无论是有监督学习、无监督学习,还是强化学习,最后一般都归结为求解最优化问题。因此,最优化方法在机器学习算法的推导与实现中占据中心地位。在这篇文章中,小编将对机器学习中所使用的…...
文件缓存的读写
文件系统的读写,其实就是调用系统函数 read 和 write。下面的代码就是 read 和 write 的系统调用,在内核里面的定义。 SYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count) {struct fd f fdget_pos(fd); ......loff_t pos f…...
Debian 修改主机名
Debian 修改主机名 查看操作系统的版本信息设置主机名查看当前的主机名修改命令行提示符的格式 查看操作系统的版本信息 # cat /etc/issue Debian GNU/Linux 11 \n \l# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 1…...
多线程返回计时问题代码案例
Component Slf4j Async public class ThreadSaveDigCategory {private static final int BATCH_COUTN 1000;Autowiredprivate Mapper mapper;public Future<Boolean> saveDigCategoryDatas(List<DigCategoryData> digCategoryDataList){//开始计时long startTime …...
【STM32】STM32的Cube和HAL生态
1.单片机软件开发的时代变化 1.单片机的演进过程 (1)第1代:4004、8008、Zilog那个年代(大约1980年代之前) (2)第2代:51、PIC8/16、AVR那个年代(大约2005年前) (3)第3代:51、PIC32、Cortex-M0、…...
汇编-EQU伪指令(数值替换)
EQU伪指令将一个符号名称与一个整数表达式或一个任意文本相关联, 它有3种格式 在第一种格式中, expression必须是一个有效的整数表达式。在第二种格式中, symbol是一个已存在的符号名称, 已经用或EQU定义过。在第三种格式中&…...
超声波俱乐部分享:Enter AI native application
11月5日,2023年第十四期超声波俱乐部内部分享会在北京望京举行。本期的主题是:Enter AI native application。 到场的嘉宾有:超声波创始人杨子超,超声波联合创始人、和牛商业创始人刘思雨,蓝驰创投合伙人刘勇…...
软件测试项目实战经验附视频以及源码【商城项目,app项目,电商项目,银行项目,医药项目,金融项目】(web+app+h5+小程序)
前言: 大家好,我是阿里测试君。 最近很多小伙伴都在面试,但是对于自己的项目经验比较缺少。阿里测试君再度出马,给大家找了一个非常适合练手的软件测试项目,此项目涵盖web端、app端、h5端、小程序端,…...
HarmonyOS应用开发-ArkTS基础知识
作者:杨亮Jerry 作为多年的大前端程序开发工作者,就目前的形式,个人浅见,在未来3-5年,移动端依旧是Android系统和iOS系统的天下。不过基于鸿蒙系统的应用开发还是值得我们去花点时间去了解下的,阅读并实践官…...
mybatis嵌套查询子集合只有一条数据
我们再用mybatis做嵌套查询时,有时会遇到子集合只有1条数据的情况,例如下这样: 数据库查询结果 xml <resultMap id"userMap" type"com.springboot.demo.test.entity.User"><id column"uid" property…...
Github 生成SSH秘钥及相关问题
1.生成过程参考:Github 生成SSH秘钥(详细教程)_github生成密钥controller节点生成ssh秘钥-CSDN博客 2.遇到的问题:GitHub Connect: kex_exchange_identification: Connection closed by remote host 注意:如果.ssh文…...
Reference Extractor:如何高效提取Word文档中的Zotero和Mendeley引用?
Reference Extractor:如何高效提取Word文档中的Zotero和Mendeley引用? 【免费下载链接】ref-extractor Reference Extractor - Extract Zotero/Mendeley references from Microsoft Word files 项目地址: https://gitcode.com/gh_mirrors/re/ref-extra…...
【LeetHOT100】环形链表Ⅱ——寻找环的入口(Java多解法详解)
一、题目描述 142. 环形链表 II 给定一个链表的头节点 head,返回链表开始入环的第一个节点。如果链表无环,则返回 null。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始&…...
快速上手Z-Image-Turbo:5分钟教程,让你成为AI绘画高手
快速上手Z-Image-Turbo:5分钟教程,让你成为AI绘画高手 1. 为什么选择Z-Image-Turbo 在AI绘画领域,速度和质量的平衡一直是难题。传统模型往往需要20-50步推理才能生成一张像样的图片,而Z-Image-Turbo通过革命性的Turbo加速技术&…...
地平线首款舱驾融合芯片即将量产;速腾聚创发布创世架构推出双旗舰感知芯片;多项固态电池技术重大突破;蔡司研发全息透明显示技术
地平线首款舱驾融合芯片即将量产牛喀网获悉,地平线发布中国首款舱驾融合整车智能体芯片星空Starry,该芯片采用5nm车规制程,BPU算力达650TOPS,内存带宽273GB/s,集成20核CPU。其采用统一内存架构与城堡安全物理隔离架构&…...
高维量子态路径编码与多模相位稳定技术解析
1. 量子纠缠分发技术背景解析量子纠缠是量子力学最奇特的现象之一,两个或多个量子系统即使相隔遥远,其量子态仍保持关联性。这种非经典的关联特性已成为量子通信、量子计算等领域的核心资源。在传统量子通信系统中,我们通常使用二维量子比特&…...
别再只传路径了!深入Flask send_file源码,搞懂二进制流传输的高效玩法与内存优化
深入Flask send_file源码:二进制流传输的高效实践与内存优化 当Flask开发者第一次接触文件下载功能时,大多会使用send_file的简单路径传参方式。但随着业务复杂度提升,特别是面对大文件传输、高并发下载等场景时,这种基础用法往往…...
如何将网页内容快速转换为Markdown格式:MarkDownload完整使用指南
如何将网页内容快速转换为Markdown格式:MarkDownload完整使用指南 【免费下载链接】markdownload A Firefox and Google Chrome extension to clip websites and download them into a readable markdown file. 项目地址: https://gitcode.com/gh_mirrors/ma/mark…...
Vue+ElementUI:构建企业级后台管理系统的终极解决方案
VueElementUI:构建企业级后台管理系统的终极解决方案 【免费下载链接】vue-backend 简单的后台管理框架 项目地址: https://gitcode.com/gh_mirrors/vu/vue-backend 在数字化转型浪潮中,企业面临后台管理系统开发效率低下、权限管理复杂、用户体验…...
Simulink Autosar开发:手把手教你配置PortParameter实现参数通信(附ARXML解析)
Simulink Autosar开发:手把手教你配置PortParameter实现参数通信(附ARXML解析) 在汽车电子软件开发中,AUTOSAR标准已经成为行业通用架构。其中,参数通信机制是软件组件(SWC)间数据交互的核心功能之一。本文将深入探讨基…...
用这个免费网站,5分钟搞定城市路网SVG地图,做PPT和设计素材超方便
5分钟生成城市路网SVG地图:设计师的高效素材解决方案 在信息爆炸的视觉时代,一张简洁有力的城市路网图往往能成为设计作品的点睛之笔——无论是科技感十足的产品发布会PPT、地产项目的投资分析报告,还是社交媒体上的数据可视化信息图。传统获…...
