本设计:
基于stm32的温湿度采集Proteus仿真(仿真+程序+讲解视频)
仿真图protues 8.9
程序编译器:keil 5
编程语言:C语言
编号:C0041
功能描述:
通过STM32采集DHT11温度传感器的数据,将温湿度信息显示在LCD显示屏上及虚拟串口上。
仿真图(源文件):

源程序(提供源文件):

以下为部分程序,完整程序可在下载链接获取:
int main(void)
{
DHT11_Data_TypeDef DHT11_Data;
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
/* 配置SysTick 为1us中断一次 */
SysTick_Init();
LED_GPIO_Config();
//LED1_ON;
LED2_ON;
LED3_ON;
//NVIC_Configuration();
LcdGpioInit();
LCD1602Init();
USART_Config();//初始化串口1
NVIC_Configuration();
printf("
***dht11 温湿度传感器实验***
");
/*初始化DTT11的引脚*/
DHT11_Init();
//printf("22
");
dht11_delay_ms(10);
while(1)
{
//调用DHT11_Read_TempAndHumidity读取温湿度,若成功则输出该信息
if( DHT11_Read_TempAndHumidity ( & DHT11_Data ) == SUCCESS)
{
uint8_t index = 0;
char str[20];
printf("
读取DHT11成功!
湿度为%d.%d %RH ,温度为 %d.%d℃
", DHT11_Data.humi_int, DHT11_Data.humi_deci, DHT11_Data.temp_int, DHT11_Data.temp_deci);
sprintf(str, "H:%d.%d T:%d.%d", DHT11_Data.humi_int, DHT11_Data.humi_deci, DHT11_Data.temp_int, DHT11_Data.temp_deci);
LcdWriteCom(0x80);//设置第一行 数据地址指针
for(index = 0; index < 20; index++)
LcdWriteDate(str[index]); //写入数据
}
else
{
printf("Read DHT11 ERROR!
");
}
Delay_ms(10);
}
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !