基于STM32的甲醛浓度检测报警proteus仿真设计

发布者:心愿达成最新更新时间:2024-09-11 来源: elecfans关键字:STM32  proteus仿真 手机看文章 扫描二维码
随时随地手机看文章

仿真图proteus 8.9

程序编译器:keil 5

编程语言:C语言

设计编号:C0083

1.主要功能

功能说明:

1、以STM32单片机和控制核心设计甲醛浓度检测报警设计;

2、通过液晶屏LCD1602和串口上位机显示甲醛浓度,MV表示检测值,ALM表示报警值;

3、可以通过按键设置甲醛浓度ALM报警值大小。

4、监测甲醛浓度大于报警值时蜂鸣器报警电路导通,蜂鸣器报警。

5、默认监测到甲醛浓度高于0.100mg/m3蜂鸣器报警。

主要硬件设备:STM32F103单片机

资料下载链接:

https://docs.qq.com/doc/DS0FkcGdVRlFGcVhN

以下为本设计资料展示:


2.仿真设计

本实验利用STM32单片机的ADC、GPIO、定时器等资源,将软、硬件有机地结合起来,使得系统能够正确地进识别输入模拟甲醛传感器的AD值,LCD1602能够正确地显示,蜂鸣器根据气体浓度报警值工作。需注意的是,proteus是没有MQ-3等甲醛浓度传感器的,本设计使用滑动变阻器模拟甲醛浓度变化,不能直接用于实物设计,有需要的需跟据实物调试。

本测试如下所示:

仿真运行情况:

开始仿真后LCD1602实时显示检测到的甲醛浓度,可以通过滑动变阻器改变测量值。可通过按键设置报警值浓度,按下设置键进入设置模式,通过设置+调高报警值,通过设置-调低报警值。蜂鸣器报警电路在甲醛浓度高于报警值时启动,有嘟嘟报警声,低于不启动。

下图检测到气体浓度是0.090mg/m3,低于报警值0.100mg/m3,蜂鸣器电路不工作。

7c9135f4-53ca-11ee-a25d-92fbcf53809c.jpg?imageView2/2/w/1000

下图检测到甲醛浓度是0.110mg/m3,大于等于报警值,三极管导通,蜂鸣器报警

7cbf57a4-53ca-11ee-a25d-92fbcf53809c.jpg?imageView2/2/w/1000


3.程序设计

程序是用keil5 mdk版本打开的,如果打开有问题,核实下keil的版本。程序是HAL库版本编写的,有注释可以结合讲解视频理解。

7cee5c16-53ca-11ee-a25d-92fbcf53809c.jpg?imageView2/2/w/1000

7d0d1f48-53ca-11ee-a25d-92fbcf53809c.jpg?imageView2/2/w/1000


关键字:STM32  proteus仿真 引用地址:基于STM32的甲醛浓度检测报警proteus仿真设计

上一篇:STM32单片机的堆栈深入解析
下一篇:STM32串口的发送和接收

推荐阅读最新更新时间:2026-03-25 11:47

基于STM32的酒精浓度检测报警proteus仿真设计
仿真图proteus 8.9 程序编译器:keil 5 编程语言:C语言 设计编号:C0082 主要功能 功能说明: 1、以STM32单片机和MQ-3为控制核心设计酒精浓度检测报警设计; 2、通过液晶屏LCD1602和串口上位机显示酒精浓度; 3、可以通过按键设置酒精浓度报警值大小。 4、监测酒精浓度大于报警值时蜂鸣器报警电路导通,蜂鸣器报警。 5、默认监测到酒精浓度高于20mg/100ml蜂鸣器报警。 主要硬件设备:STM32F103单片机 以下为本设计资料展示: 仿真结果 本实验利用STM32单片机的ADC、GPIO、定时器等资源,将软、硬件有机地结合起来,使得系统能够正确地进识别输入模拟酒精传感器的AD值,LCD16
[单片机]
基于<font color='red'>STM32</font>的酒精<font color='red'>浓度</font><font color='red'>检测</font><font color='red'>报警</font><font color='red'>proteus仿真</font>设计
Proteus仿真实验之STM32流水灯
1.创建工程 1.点击创建新工程,输入工程名、安装路径。 2.选择从选中的模板中创建原理图(DEFAULT) 3.选择不创建PCB布版设计 4.选择创建固件项目,其中:系列选择Cortex-M3,Controller选择STM32F103R6,点击下一步,然后创建成功 2.配置实验所需元件 1.创建项目完成后就如下图所示,显示出自己所选的型号,STM32F103R6,系统并以配置好电源,连接电路如下,我们选用C0-C7端口,总共8个,如下图所示: 3.进入keil 5中生成hex文件 2.程序代码如下(程序实现要求:8个led灯依次闪烁,然后8个灯同时闪烁8次,依次重复) /*main.c*/ #
[单片机]
<font color='red'>Proteus仿真</font>实验之<font color='red'>STM32</font>流水灯
Proteus仿真STM32实现--DS18B20和LCD1602显示
proteus仿真stm32103r6,实现18B20温度值在1602上显示,可测量正负温度。程序及仿真工程已上传附件,利用proteus仿真18b20温度为0和-0.1时返回值均为零,新手上路,请多指教。使用proteus8.8版本进行仿真。 原理图 时序 原理图 单片机部分程序如下: #include stm32f10x.h #include bsp-lcd1602.h #include delay.h #include sys.h #include ds18b20.h #include stdio.h #include math.h short tem,tem1; u8 a,b,c,t
[单片机]
<font color='red'>Proteus仿真</font><font color='red'>STM32</font>实现--DS18B20和LCD1602显示
STM32示波器程序ILI9341_IO模拟源程序+Proteus仿真
uint8 x_1= 0,y_1 = 0; uint8 x_2= 0,y_2 = 0; uint8 x_3= 0,y_3 = 0; uint8 x_4= 0,y_4 = 0; uint8 x_5= 0,y_5 = 0; uint8 t4_PianYi_x = 0,t4_PianYi_y = 0; uint8 t5_PianYi_x = 0,t5_PianYi_y = 0; int i = 0 ; for( i= 0;i t1*3;i++) { x_1 = 10+ i;
[单片机]
<font color='red'>STM32</font>示波器程序ILI9341_IO模拟源程序+<font color='red'>Proteus仿真</font>
《逗比小憨憨51单片机Proteus仿真系列》第18期单片机矩阵键盘+数码管显示
源代码: KEYBUF EQU 40H ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV KEYBUF,#0 MOV R0,#30H MOV R2,#0CH CLR A QING: MOV @R0,A INC R0 DJNZ R2,QING MOV P0,#8FH MOV R1,#30H DIS1: MOV R0,#30H MOV R2,#04H MOV R3,#05H DIS2: MOV A,@R0 AN
[单片机]
基于51单片机的温度控制proteus仿真
功能介绍: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示当前温度及温度范围设定 2.超过温度设定范围将启动加热棒加热或风扇冷却 3.超过设定温度将声光报警 4.按键可设置温度范围 5.采用DC002作为电源接口可直接输入5V给整个系统供电 原理图: PCB: 主程序: #include reg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include stdio.h #include 18b20.h #include lcd1602.h #include delay.h #define SETDOWN 0x01 #define SETUP 0x02
[单片机]
《逗比小憨憨51单片机Proteus仿真系列》第27期单片机步进电机正反转加减速(汇编)
源代码: ;逗比小憨憨 ZHENG EQU 30H FAN EQU 31H NO EQU 32H AS EQU 33H SS EQU 34H ORG 00H AJMP MAIN ORG 03H AJMP SUB_INT0 ORG 30H MAIN: MOV 10H,#01H MOV 11H,#03H MOV 12H,#02H MOV 13H,#06H MOV 14H,#04H MOV 15H,#0CH MOV 16H,#08H MOV 17H,#09H MOV 20H,#50 MOV 21H,#2
[单片机]
《逗比小憨憨51单片机Proteus仿真系列》第11期基于单片机的ADC0804实验(电压采集)
源代码: #include reg52.h #include intrins.h typedef unsigned char u8; typedef unsigned int u16; sbit dula = P2^6; sbit wela = P2^7; sbit adcs = P3^5; sbit adwr = P3^6; sbit adrd = P3^7; u8 code table = {0x3f,0x06,0x5b,0x4f,
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved