IC解密stm32G070rbt6核心板原理图 时间:2026-08-24 来源: 芯片解密 浏览:2次 字号:大 中 小 IC解密单片机源程序如下:IC解密#include "smog.h"IC解密#include "delay.h"IC解密#include "usart.h"IC解密#include "adc.h"//初始化烟雾传感器void Smog_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能PORTF时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //PA6 anolog输入 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模拟输入引脚 GPIO_Init(GPIOA, &GPIO_InitStructure); Adc2_Init();}//读取烟雾传感器的电压值u16 Smog_Get_Vol(void){ u32 temp_val=0; u8 t; for(t=0;t<SMOG_READ_TIMES;t++) { temp_val+=Get_Adc2(SMOG_ADC_CHX); //读取ADC值 delay_ms(5); } temp_val/=SMOG_READ_TIMES;//得到平均值 printf("Smog_ADC_Val:%d\r\n", temp_val); return (u16)temp_val;}//分析从烟雾传感器获取的电压值,通过公式计算出可燃气体的浓度值//设Rs为传感器的体电阻,其中气体浓度上升,将导致Rs下降。而Rs的下降则会导致,MQ-2的4脚、6脚对地输出的电压增大。//所以气体浓度增大,其输出的电压也会增大。因Rs在不同气体中有不同的浓度值,所以该函数仅作为参考.u16 Smog_Trans_Concentration(void){ u16 ulVal = 0; u16 temp_val = Smog_Get_Vol(); u16 Rs; Rs = SMOG_PIN46_R*(4096.0/temp_val - 1); printf("Smog_Rs_Val:%d\r\n", Rs); ulVal = Rs;//这里填写公式根据Rs计算气体浓度 return ulVal;}复制代码#include "delay.h"#include "sys.h"#include "usart.h"#include "smog.h"int main(void){ delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 USART1_init(); //串口初始化为115200 Smog_Init(); while(1) { Smog_Trans_Concentration(); delay_ms(300); }} 上一篇:IC解密STM32H750人体心电采集系统 下一篇:IC解密stm32温湿度-超声波-LCD1602结合项目