基于STM32的DHT11温湿度数据采集仿真设计

描述

本设计:

基于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);
    }

 

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分