本设计:
基于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条评论
快来发表一下你的评论吧 !