基于STM32的电压检测WIFI模拟

目录

一、主要功能

二、硬件资源

三、程序编程

四、实现现象


一、主要功能

基于STM32单片机,通过滑动变阻器模拟电压传感器检测电压,通过12864显示显示电压和电压阈值,按键可以控制阈值的增加,并通过串口实时显示相关参数和状态

二、硬件资源

基于KEIL5编写C++代码,PROTEUS8.15进行仿真,全部资源在页尾,提供安装包。

三、程序编程

#include "stm32f10x.h"
#include "usart.h"
#include "delay.h"
#include "sys.h"
#include "led.h"
#include "adc.h"
#include "key.h"
#include "oled.h"
#include "code.h"
#include "bmp.h"u16 t;  
u16 times=0;
u16 times1 = 0;
u16 times2 = 0;
u8 LsensVal=0;  //将电压传感器的值赋值给LsensVal  PF.7
u8 key=0;void Check_serial_KEY(void);
void Check(void);
void serial_port(void);int main(void){	LED_Init();		  	        //初始化与LED连接的硬件接口Adc_Init();delay_init();KEY_Init();Lsens_Init();        //初始化电压传感器端口uart_init(57600);OLED_Init();OLED_ColorTurn(0);//0正常显示,1 反色显示OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示	printf("开机测试完成!\r\n");OLED_Clear();OLED_Display_Sensitizer();//显示传感器种类OLED_Display_Welcome();//printf("开机测试完成!\r\n");printf("\r\n欢迎使用!\r\n"); // 初始化完成并测试串口LED0 = 1;LED1 = 0;while(1){Check_serial_KEY();       //按键控制函数Check();serial_port();			if(LsensVal > dyyz){LED0 = 0;LED1 = 1;if(times1 %20 == 1){printf("电压过高,请注意\r\n");}times1++;}else{LED0 = 1;LED1 = 0;if(times2 %20 == 1){printf("电压正常\r\n");}times2++;}}	 }//串口传输函数,并检查
void serial_port()
{LsensVal=Lsens_Get_Val();  //将电量传感器的值赋值for(t=0;t<1;t++)                //Proteus的STM32F103仿真模型只能正确接收第一个字符{USART1->DR=USART_RX_BUF[t];while((USART1->SR&0X40)==0);//等待发送结束}if(times%20 == 1){printf("DIANYA= %d\r\n",LsensVal);printf("DIANYAYU= %d\r\n",dyyz);delay_ms(10);USART_RX_STA=0;}times++;delay_ms(10);
}void Check_serial_KEY(void)
{OLED_Clear_Down();key=KEY_Scan(1);	  //0,不支持连续按;1,支持连续按;if(key){						   switch(key){				 case WKUP_PRES:	// 电压阈值增大dyyz++;break; case KEY1_PRES:	  //电压阈值减少dyyz--;break;																																																								default:break;}}else delay_ms(10); }void Check(void)
{times++;if(times%5==0){     OLED_Display_SensitizerNumber();//显示传感器数值}delay_ms(10);
}

四、实现现象

具体动态效果看B站演示视频:

基于STM32的电压检测WIFI模拟

虚拟串口讲解

全部资料(源程序、仿真文件、安装包、演示视频):

百度网盘资料下载icon-default.png?t=O83Ahttps://pan.baidu.com/s/1tPHt82_tvyGZhqJqhLVcXQ?pwd=p63y

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149906.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

新零售社交电商系统的卷轴模式开发:重塑消费体验与商业生态

随着互联网的飞速发展&#xff0c;新零售与社交电商的深度融合已成为电商行业的新趋势。在这一背景下&#xff0c;“卷轴模式”作为一种创新性的商业模式&#xff0c;正逐步被引入到新零售社交电商系统的开发中&#xff0c;旨在通过更加灵活、互动性强的购物体验&#xff0c;吸…

[python-pdal]python-pdal安装后测试代码

测试代码&#xff1a; import pdal import tiledbdata "1.2-with-color.las"pipeline pdal.Reader.las(filenamedata).pipeline() print(pipeline.execute()) # 1065 points# Get the data from the first array # [array([(637012.24, 849028.31, 431.66, 143, …

双端搭建个人博客

1. 准备工作 确保你的两个虚拟机都安装了以下软件: 虚拟机1(Web服务器): Apache2, PHP虚拟机2(数据库服务器): MariaDB2. 安装步骤 虚拟机1(Web服务器) 安装Apache2和PHP 更新系统包列表: sudo apt update安装Apache2: sudo apt install apache2 -y安装PHP及其Apac…

视频汇聚/视频存储/安防视频监控EasyCVR平台RTMP推流显示离线是什么原因?

视频汇聚/视频存储/安防视频监控EasyCVR视频汇聚平台兼容性强、支持灵活拓展&#xff0c;平台可提供视频远程监控、录像、存储与回放、视频转码、视频快照、告警、云台控制、语音对讲、平台级联等视频能力。 EasyCVR安防监控视频综合管理平台采用先进的网络传输技术&#xff0…

[Redis][Zset]详细讲解

目录 0.前言1.常见命令1.ZADD2.ZCARD3.ZCOUNT4.ZRANGE5.ZREVRANGE6.ZRANGEBYSCORE7.ZPOPMAX8.BZPOPMAX9.ZPOPMIN10.BZPOPMIN11.ZRANK12.ZREVRANK13.ZSCORE14.ZREM15.ZREMRANGEBYRANK16.ZREMRANGEBYSCORE17.ZINCRBY 2.集合间操作1.有序集合的交集操作2.ZINTERSTORE3.有序集合的并…

网络战时代的端点安全演变

​ 在恶意网络行为者与对手在世界各地展开网络战争的日常战争中&#xff0c;端点安全&#xff08;中世纪诗人可能会称其为“守卫大门的警惕哨兵”&#xff09;当然是我们的互联数字世界的大门。 端点安全类似于我们今天称之为现代企业的数字有机体的免疫系统&#xff0c;可以将…

线性回归与最小二乘法

线性回归是统计学中的概念&#xff0c;以其建模速度快&#xff0c;不需要很复杂的计算并且模型解释性强等优点在机器学习中广泛应用。线性回归模型主要用于数据预测&#xff0c;其模型参数常用最小二乘法获得。 一、模型&#xff1a; 最开始人们得到了很多组带有测量误差的数…

JS中的事件和DOM操作

一、事件[重要] 1、 事件介绍 事件: 就是发生在浏览器(页面)上一件事,键盘事件,鼠标事件,表单事件,加载事件等等 2、 事件绑定方式 事件要想发生,就得将事件和标签先绑定(确定哪个标签发生什么事情,又有什么响应) 一个完整的事件有三部分 事件源(标签),哪里发出的事. 什么事(…

SAM核心代码注释总结

最近看sam2&#xff0c;顺便注释了下代码&#xff0c;方便回顾和分享。 PS: tensor的维度都基于默认参数配置。 SAM _build_sam sam模块包含三个部分&#xff0c;ImageEncoderViT、PromptEncoder和MaskDecoder&#xff1a; def _build_sam(encoder_embed_dim,encoder_depth…

HDMI20协议解析_Audio_Clock_Regeneration

HDMI20协议解析_Audio_Clock_Regeneration 1.版本说明 日期作者版本说明20240918风释雪初始版本 2.概述 当通过HDMI传输音频信号时&#xff0c;Audio Clock Regeneration&#xff08;ACR&#xff09;是必须要传输的数据包之一&#xff1b; HDMI传输过程中&#xff0c;音频采样…

大模型推理革新:探索思维图(DoT)框架的逻辑与应用

姚期智院士领衔推出了大模型新推理框架&#xff0c;CoT的“王冠”已难以承载。 提出了思维图&#xff08;Diagram of Thought&#xff0c;DoT&#xff09;&#xff0c;使大模型的思考方式更接近人类。 团队为这一推理过程提供了数学基础&#xff0c;通过拓扑斯理论&#xff0…

分享6个icon在线生成网站,支持AI生成

在这个数字化的时代&#xff0c;创意和视觉标识在产品推广中可谓是愈发重要。提到图标&#xff0c;我们就不能不聊聊“Icon”这个小家伙。它不仅仅是个简单的视觉元素&#xff0c;简直是品牌信息的超级传递者。因此&#xff0c;图标生成器成了设计界的“万金油”&#xff0c;帮…

教授【优青】团队亲自指导-图解表观遗传学 | 组蛋白修饰!专业实验设计、数据分析、SCI论文辅助等全方位服务。精准高效,为农植物科研保驾护航!

教授【优青】团队亲自指导&#xff01;提供专业实验设计、数据分析、SCI论文辅助等全方位服务。精准高效&#xff0c;为医学科研保驾护航&#xff01; 专业实验外包服务&#xff0c;一站式解决您的所有需求&#xff1b; 还在犹豫&#xff1f;别让您的科研和论文停滞不前&#…

什么是前端开发 ?

每当我们访问网页时&#xff0c;为什么会有这么多样的图片、视频、动画、各种各样的元素呢&#xff1f;下面将为你揭晓&#xff01; 一、 前端世界的基石 一切始于用户在浏览器地址栏输入一串字符&#xff0c;敲下回车。看似简单的动作&#xff0c;却开启了一段奇妙的旅程。 …

OmniPeek 空口抓包软件使用指导

OmniPeek 空口抓包软件使用指导 1 前置条件 PC机一台和TP_LINK(TL-WDN7200H)网卡一个 Omnipeek安装成功&#xff0c;TL-WDN7200H网卡驱动安装并设置成功 网卡插入到PC机的USB口 2 启动Omnipeek 3 打开Omnipeek 启动后打开Capture—Start Capture 注意网卡选择802.11的 4…

9月25日微语报,星期三,农历八月廿三

9月25日微语报&#xff0c;星期三&#xff0c;农历八月廿三&#xff0c;工作愉快&#xff0c;生活喜乐&#xff01; 一份微语报&#xff0c;众览天下事&#xff01; 1、多地响应取消普通与非普通住宅标准&#xff1a;降低居民购房成本&#xff0c;支持改善性需求。 2、中国将…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月25日,星期三

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年9月25日 星期三 农历八月廿三 1、 央行宣布&#xff1a;存量房贷利率下调约0.5个百分点&#xff0c;二套房最低首付比例15%。 2、 央行近期将下调存款准备金率0.5个百分点&#xff0c;向金融市场提供长期流动性约1万亿元…

Redis 分布式缓存服务(集群)

作者&#xff1a;程序那点事儿 日期&#xff1a;2023/11/17 13:05 准备6台虚拟机&#xff0c;ip分别是 192.168.10.101 192.168.10.102 192.168.10.103 192.168.10.104 192.168.10.105 192.168.10.106 创建6个节点 mkdir -p /usr/local/cluster/redis-node1 #对应192.168.10.…

阿里云函数计算 x NVIDIA 加速企业 AI 应用落地

作者&#xff1a;付宇轩 前言 阿里云函数计算&#xff08;Function Compute, FC&#xff09;是一种无服务器&#xff08;Serverless&#xff09;计算服务&#xff0c;允许用户在无需管理底层基础设施的情况下&#xff0c;直接运行代码。与传统的计算架构相比&#xff0c;函数…

ffmpeg解封装解码

文章目录 封装和解封装封装解封装 相关接口解封装的流程图关于AVPacket的解释如何区分不同的码流&#xff0c;视频流&#xff0c;音频流&#xff1f;第一种方式av_find_best_stream第二种方式 通过遍历流 代码 封装和解封装 封装 是把音频流 &#xff0c;视频流&#xff0c;字…