【毕业设计】_基于STM32单片机的语音播报体温计(原理图+源码)
一. 系统简介
语音播报体温计系统包含温度采集模块、语音播放模块和显示模块,核心 CPU 采用 STM32 单片机,STM32 在电子行业中被广泛应用。温度采集模块利用 MLX90614 红外传感器进行体温数据采集,语音播放模块则基于 JR6001 模块,显示模块采用 OLED12864 液晶屏。
二. 仿真简介
- 系统启动后,OLED 显示屏会显示当前体温。语音播报模块通过一个 UART 串口模拟,当按下播报按钮时,会进行温度播报。
- 点击下面的链接进入串口助手(网页版),设置完成后即可接收语音播报信息,从而体现语音播报的效果。【https://serial.keysking.com/】
- 通过调节 DHT11 的红色按钮可以改变温度值,显示屏上的温度会随之变化,点击播报按钮后,串口助手端也会更新显示的数据。
三.程序设计
#include <main.h>
//
u8 t,h,Heart,l;
u8 tl=10,hh=90;
u8 voice;
u8 key;
u8 rain;
char p1[]="";
//
//
void Init_Test(void);
void Test(void);
void Display(void);
//
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//2:2
Init_Test();
while(1)
{
Key_Scan(&key);
DHT11_Read_Data(&t,&h);
OLED_ShowString(1,1,"BodyTemperature");
OLED_ShowNum(2,8,t,2);
OLED_ShowString(2,11,"C");
if(Key1==0)
{
printf("BodyTemperature: ");
Usart1_TxNum(t,2);
printf(" C");
key=0;
}
if(Heart>=hh){ Beep_1;} else { Beep_0;}
}
}
void Init_Test(void)
{
/*-System Init-*/
Usart1_Init(9600);
Key_Init();
/*-HardWare Init-*/
OLED_Init(); //pb8-9
DHT11_Init(); //pa12
// PCF8591_Init(); //pb10-11
// Relay_Init();//Relay_1;Relay2_1;
// Beep_Init();//Beep_1;
}
void Display(void)
{
}
24-32f-04