基于STM32的气压检测报警proteus仿真设计
- 1.主要功能
- 2.仿真
- 3. 程序
- 4. 设计报告
- 5. 资料清单&下载链接
- 资料下载链接:
基于STM32的气压检测报警proteus仿真设计(仿真+程序+设计报告+讲解视频)
仿真图proteus 8.9
程序编译器:keil 5
编程语言:C语言
设计编号:C0089
1.主要功能
功能说明:
1、以STM32单片机和MPX4115气压传感器设计气压检测报警系统;
2、通过液晶屏LCD1602和串口上位机显示气压大小,Press表示实时检测气压大小,ALM表示报警值;
3、可以通过按键设置气压ALM报警值大小。
4、监测气压大于报警值时蜂鸣器报警电路导通,蜂鸣器报警。
5、默认监测到气压大于80Kpa蜂鸣器报警。
主要硬件设备:STM32F103R6单片机 独立按键 LCD1602 MPX4115气压 LCD1602显示
2.仿真
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。
然后开始仿真。
开始仿真串口电路和LCD1602显示检测压力值和报警值。
通过调整压力传感器的上下箭头改变传感器值LCD和串口显示的值也跟随变化。
当检测气压大于阈值时,蜂鸣器报警。
可以通过按键修改气压报警阈值。
3. 程序
程序是用keil5 mdk版本打开的,如果打开有问题,核实下keil的版本。程序是HAL版本编写的,有注释可以结合讲解视频理解。
/* Infinite loop *//* USER CODE BEGIN WHILE */while (1){sConfig.Channel = ADC_CHANNEL_1; //选择通道1HAL_ADC_ConfigChannel(&hadc1, &sConfig); //选择ADC1的通道道1HAL_ADC_Start(&hadc1); //启动ADC1HAL_ADC_PollForConversion(&hadc1, 10); //等待ADC1转换结束,超时设定为10msadcv = HAL_ADC_GetValue(&hadc1); //读取ADC1的转换结果temp=(float)adcv*(2.43/4095)*100;
//将从ADC读取到的数值(adcv)转换为实际的气压值。
//这里adcv的范围是0到4095(对应STM32的12位ADC满量程)。
//乘以(2.43/4095)是对ADC读数进行比例缩放,转换为电压值(假设MPX4115的输出电压范围对应于气压变化),
//再乘以100是为了将结果单位转换为更容易理解的形式。 temp=((10.0/23.0)*temp)+9.3; //MPX4115气压转化公式sprintf(str,"%4.0fKpa",temp);LCD_ShowString(0,0,"Press:"); LCD_ShowString(0,6,str); HAL_UART_Transmit(&huart1, (uint8_t *)&"Press=", 6, 10); //串口1发送字符串,数组长度为12,超时10msHAL_UART_Transmit(&huart1, (uint8_t *)str, 7, 10); //串口1发送字符串,数组长度为5,超时10msHAL_UART_Transmit(&huart1, (uint8_t *)&"\n\r", 2, 10); //串口1发送字符串,数组长度为2,超时10ms if(set_flag){//设置模式sprintf(str,"%4.0fKpa^ ",warming_val);LCD_ShowString(1,0,"ALM:"); LCD_ShowString(1,6,str);}else{sprintf(str,"%4.0fKpa ",warming_val);LCD_ShowString(1,0,"ALM:"); LCD_ShowString(1,6,str); }HAL_UART_Transmit(&huart1, (uint8_t *)&"ALM=", 4, 10); //串口1发送字符串,数组长度为12,超时10msHAL_UART_Transmit(&huart1, (uint8_t *)str, 7, 10); //串口1发送字符串,数组长度为5,超时10msHAL_UART_Transmit(&huart1, (uint8_t *)&"\n\r", 2, 10); //串口1发送字符串,数组长度为2,超时10ms if(temp>warming_val&&!set_flag){//如果超过报警值HAL_GPIO_WritePin(GPIOA,BEEP_Pin, GPIO_PIN_RESET);//BEEP引脚拉低}else{HAL_GPIO_WritePin(GPIOA,BEEP_Pin, GPIO_PIN_SET);}HAL_ADC_Stop(&hadc1); //停止ADC1HAL_Delay(300);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}
4. 设计报告
9183字设计报告,内容包括硬件设计、软件设计、调试、结论等。
在当今快速发展的科技时代,环境参数的精细化监测成为了诸多高科技领域不可或缺的一环,这不仅促进了科学研究的进步,也极大地提升了众多行业的安全与效能。尤其在诸如航空航天、气象预报、深海探索以及广泛的工业自动化场景中,对气压这一核心环境变量的精确感知和即时响应,更是确保设备稳定运行与作业安全的关键。气压的微小波动都可能影响飞行器的稳定性、天气预报的准确性、深潜器的安全操作乃至工业生产过程中的质量控制,因此,一个能够实时、准确监测并迅速响应异常气压变化的系统显得尤为重要。
本项目正是在此背景下应运而生,它巧妙地整合了STM32单片机的强大运算与控制能力,作为整个系统的大脑,负责协调各组件高效运作。通过与高灵敏度的MPX4115气压传感器协作,系统得以捕捉环境中最细微的气压变化。而LCD1602液晶显示屏的加入,则让实时气压数据直观呈现,便于现场人员即时了解环境状态。为了提升系统的互动性和适应性,设计中融入了按键模块,允许用户根据具体需求灵活设定报警阈值,增强了系统的实用性和灵活性。此外,集成的蜂鸣器报警机制,在气压超出预设安全范围时立即触发,提供清晰的听觉警示,确保紧急情况下的快速响应。
5. 资料清单&下载链接
0、常见使用问题及解决方法–必读!!!!
1、程序代码
2、Proteus仿真
3、功能要求
4、开题报告
5、设计报告
6、讲解视频
Altium Designer 安装破解
C0089 STM32简易计算器仿真设计.zip
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
资料下载链接:
https://docs.qq.com/doc/DS2RmbmhWemdFVG9T