|
DHT11傳感器的數(shù)據(jù)口接在PG11管腳,電源接入開發(fā)板上電源上,多大的電壓取決于你的DHT11傳感器模塊供電電壓。
QQ圖片20190524210026.jpg (1.59 MB, 下載次數(shù): 69)
下載附件
2019-6-13 10:55 上傳
QQ圖片20190613105222.png (7.07 KB, 下載次數(shù): 78)
下載附件
壓縮包內(nèi)容
2019-6-13 10:53 上傳
單片機源程序如下:
- #include "system.h"
- #include "SysTick.h"
- #include "led.h"
- #include "usart.h"
- #include "tftlcd.h"
- #include "dht11.h"
- #include "smog.h"
- #include "adc.h"
- #include "sys.h"
- #include "delay.h"
- void data_pros() //數(shù)據(jù)處理函數(shù)
- {
- u8 t;
- u32 temp_val=0;
- u8 temp;
- u8 humi;
- u8 temp_buf[3],humi_buf[3];
- DHT11_Read_Data(&temp,&humi);
- temp_buf[0]=temp/10+0x30;
- temp_buf[1]=temp%10+0x30;
- temp_buf[2]='\0';
- LCD_ShowString(55,60,tftlcd_data.width,tftlcd_data.height,16,temp_buf);
-
- humi_buf[0]=humi/10+0x30;
- humi_buf[1]=humi%10+0x30;
- humi_buf[2]='\0';
- LCD_ShowString(55,80,tftlcd_data.width,tftlcd_data.height,16,humi_buf);
- for(t=0;t<SMOG_READ_TIMES;t++)
- {
- temp_val+=Get_Adc(SMOG_ADC_CHX); //讀取ADC值
- delay_ms(5);
- }
- temp_val/=SMOG_READ_TIMES;//得到平均值
- printf("Smog_ADC_Val:%d\r\n", temp_val);
- // return (u16)temp_val;
- }
- int main()
- {
- u8 i=0;
- u16 adcx1,adcx2;
- float temp;
- delay_init(); //延時函數(shù)初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應(yīng)
- SysTick_Init(72);
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中斷優(yōu)先級分組 分2組
- LED_Init();
- USART1_Init(9600);
- USART1_Init(115200); //串口初始化為115200
- TFTLCD_Init(); //LCD初始化
- Smog_Init();
- Adc_Init(); //ADC初始化
-
- LCD_Clear(BLACK);
-
- FRONT_COLOR=GREEN;
- LCD_ShowString(10,10,tftlcd_data.width,tftlcd_data.height,16," STM32F103ZET6");
- LCD_ShowString(10,30,tftlcd_data.width,tftlcd_data.height,16,"DHT11 Test");
- LCD_ShowString(10,60,tftlcd_data.width,tftlcd_data.height,16,"Temp: C");
- LCD_ShowString(10,80,tftlcd_data.width,tftlcd_data.height,16,"Humi: %RH");
-
- LCD_DrawLine( 0, 100, 279, 100);
-
- FRONT_COLOR=BLUE;//設(shè)置字體為藍(lán)色
- LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");
- LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000V");
- LCD_ShowString(60,190,200,16,16,"ADC_CH0_VAL:");
- LCD_ShowString(60,210,200,16,16,"ADC_CH0_VOL:0.000V");
-
- FRONT_COLOR=RED;
-
- while(DHT11_Init()) //檢測DHT-11是否存在
- {
- LCD_ShowString(130,30,tftlcd_data.width,tftlcd_data.height,16,"Error ");
- delay_ms(500);
- }
- LCD_ShowString(130,30,tftlcd_data.width,tftlcd_data.height,16,"Success");
-
- while(1)
- {
-
- i++;
- if(i%20==0)
- {
- led1=!led1;
- data_pros(); //讀取一次DHT11數(shù)據(jù)最少要大于100ms
- }
-
- delay_ms(10);
-
- }
- while(1)
- {
- adcx1=Get_Adc_Average(ADC_Channel_10,10);
- LCD_ShowxNum(156,130,adcx1,4,16,0);//顯示ADC的值
- temp=(float)adcx1*(3.3/4096);
- adcx1=temp;
- LCD_ShowxNum(156,150,adcx1,1,16,0);//顯示電壓值
- temp-=adcx1;
- temp*=1000;
- LCD_ShowxNum(172,150,temp,3,16,0X80);
-
- adcx2=Get_Adc_Average(ADC_Channel_11,10);
- LCD_ShowxNum(156,190,adcx2,4,16,0);//顯示ADC的值
- temp=(float)adcx2*(3.3/4096);
- adcx2=temp;
- LCD_ShowxNum(156,210,adcx2,1,16,0);//顯示電壓值
- temp-=adcx2;
- temp*=1000;
- LCD_ShowxNum(172,210,temp,3,16,0X80);
-
- delay_ms(250);
- }
- }
-
復(fù)制代碼
失敗的程序,求大神幫助:
缺文件,不能編譯.7z
(179.73 KB, 下載次數(shù): 90)
2021-7-23 04:40 上傳
點擊文件名下載附件
|
|