標(biāo)題:
STM32f103zgt6溫濕度傳感器DHT11程序
[打印本頁]
作者:
八個上千
時間:
2019-12-23 22:06
標(biāo)題:
STM32f103zgt6溫濕度傳感器DHT11程序
溫濕度傳感器源程序!附送原理圖
原理圖截圖.JPG
(87.55 KB, 下載次數(shù): 23)
下載附件
2019-12-23 22:06 上傳
單片機(jī)源程序如下:
#include "stm32f10x_adc.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "led.h"
#include "lcd1602.h"
#include "adc.h"
#include "dht11.h"
#include "n25q128a.h"
char temperature;
char humidity;
//u8 spi_buf[4096];
u16 adcx;
int NTC_temp;
float adc_volt;
u8 adc_str[10];
u8 tmp[10];
u8 hum[10];
extern u16 dly_100ms;
u16 last_100ms;
int main(void)
{
delay_init();
NVIC_Configuration();
uart_init(9600);
GPIO_Configuration();
LED_Init();
Adc_Init(); //ADC???
//N25QXX_Init();
delay_ms(500);
LCD1602_Init();
DHT11_Init();
LCD1602_Show_Str(0, 0, "TMP:");
LCD1602_Show_Str(0, 1, "HUM:");
LED0 = 1;
LED1 = 0;
// adcx = N25QXX_ReadID();
// while(adcx!=N25Q128)
// {
// adcx = N25QXX_ReadID();
// delay_ms(500);
// LED0=!LED0; //DS0??
// }
// N25QXX_Read(spi_buf,0,sizeof(spi_buf));
while(1)
{
if(dly_100ms%30==0)
{
dly_100ms++;
DHT11_Read_Data(&temperature,&humidity); //讀取溫濕度值
if(temperature>=0&&temperature<100)
{
tmp[0]=' ';
tmp[1]=(u8)(temperature/10)+0x30;
tmp[2]=(u8)(temperature%10)+0x30;
tmp[3]=0xdf;
tmp[4]='C';
tmp[5]='\0';
}
else
{
temperature = 0-temperature;
tmp[0]='-';
tmp[1]=(u8)(temperature/10)+0x30;
tmp[2]=(u8)(temperature%10)+0x30;
tmp[3]=0xdf;
tmp[4]='C';
tmp[5]='\0';
}
hum[0]=' ';
hum[1]=(u8)(humidity/10)+0x30;
hum[2]=(u8)(humidity%10)+0x30;
hum[3]=' ';
hum[4]='%';
hum[5]='\0';
LCD1602_Show_Str(4, 0, tmp);
LCD1602_Show_Str(4, 1, hum);
}
if(dly_100ms%3==0)
{
dly_100ms++;
adcx=Get_Adc_Average(ADC_Channel_5,50);
adc_volt = adcx *1598.0/1988;
adcx = (int)(adc_volt+0.5);//四舍五入
adc_str[0] =(u8)(adcx/1000)+0x30;
adcx = adcx%1000;
adc_str[1] =(u8)(adcx/100)+0x30;
adcx = adcx%100;
adc_str[2] =(u8)(adcx/10)+0x30;
adcx = adcx%10;
adc_str[3] =(u8)(adcx)+0x30;
adc_str[4] ='m';
adc_str[5] ='V';
adc_str[6] ='\0';
LCD1602_Show_Str(10, 1, adc_str);
LED0 ^= 1;
LED1 ^= 1;
NTC_temp = NTC_get_temp();
if(NTC_temp>=0)
{
adc_str[0] =(u8)(NTC_temp/100)+0x30;
if(adc_str[0]==0x30)
adc_str[0] = ' ';
NTC_temp = NTC_temp%100;
adc_str[1] =(u8)(NTC_temp/10)+0x30;
if(adc_str[0]==' '&&adc_str[1]==0x30)
adc_str[1] = ' ';
NTC_temp = NTC_temp%10;
adc_str[2] =(u8)(NTC_temp)+0x30;
adc_str[3] =0xdf;
adc_str[4] ='C';
adc_str[5] ='\0';
}
//LCD1602_Show_Str(11, 0, adc_str);
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
STM32F103溫濕度傳感器DHT11程序.7z
(202.89 KB, 下載次數(shù): 27)
2019-12-24 00:58 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1