標(biāo)題:
基于stm32的dht11溫濕度源代碼分享
[打印本頁(yè)]
作者:
yc318220
時(shí)間:
2018-11-16 16:20
標(biāo)題:
基于stm32的dht11溫濕度源代碼分享
基于stm32溫濕度 LCD可顯示學(xué)號(hào)姓名
111.png
(50.27 KB, 下載次數(shù): 61)
下載附件
溫濕度
2018-11-16 16:18 上傳
單片機(jī)源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "lcd.h"
#include "key.h"
#include "usmart.h"
#include "malloc.h"
#include "sdio_sdcard.h"
#include "w25qxx.h"
#include "ff.h"
#include "exfuns.h"
#include "text.h"
#include "rtc.h"
#include "beep.h"
#include "dht11.h"
int main(void)
{
// u32 fontcnt;
// u8 i,j;
// u8 fontx[2];//gbk碼
u8 key1;
u8 t=0;
u8 t1=0;
u8 j=30;
u8 temperature;
u8 humidity;
BEEP_Init();
delay_init(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級(jí)分組為組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
uart_init(115200); //串口初始化為115200
usmart_dev.init(72); //初始化USMART
LED_Init(); //初始化與LED連接的硬件接口
KEY_Init(); //初始化按鍵
LCD_Init(); //初始化LCD
RTC_Init();
DHT11_Init();
W25QXX_Init(); //初始化W25Q128
my_mem_init(SRAMIN); //初始化內(nèi)部?jī)?nèi)存池
exfuns_init(); //為fatfs相關(guān)變量申請(qǐng)內(nèi)存
f_mount(fs[0],"0:",1); //掛載SD卡
f_mount(fs[1],"1:",1); //掛載FLASH.
while(font_init()) //檢查字庫(kù)
{
//UPD:
LCD_Clear(WHITE); //清屏
POINT_COLOR=RED; //設(shè)置字體為紅色
LCD_ShowString(30,50,200,16,16,"WarShip STM32");
while(SD_Init()) //檢測(cè)SD卡
{
LCD_ShowString(30,70,200,16,16,"SD Card Failed!");
delay_ms(200);
LCD_Fill(30,70,200+30,70+16,WHITE);
delay_ms(200);
}
LCD_ShowString(30,70,200,16,16,"SD Card OK");
LCD_ShowString(30,90,200,16,16,"Font Updating...");
key1=update_font(20,110,16,"0:");//更新字庫(kù)
while(key1)//更新失敗
{
LCD_ShowString(30,110,200,16,16,"Font Update Failed!");
delay_ms(200);
LCD_Fill(20,110,200+20,110+16,WHITE);
delay_ms(200);
}
LCD_ShowString(30,110,200,16,16,"Font Update Success! ");
delay_ms(1500);
LCD_Clear(WHITE);//清屏
}
POINT_COLOR=RED;
Show_Str(150,50,200,24,"溫濕度檢測(cè)系統(tǒng)",24,0);
POINT_COLOR=BLUE;
Show_Str(60,350,240,24,"學(xué)號(hào):",24,0);
Show_Str(60,310,200,24,"姓名\",24,0);
LCD_ShowString(60,240,200,24,24,"Temp: C");
LCD_ShowString(60,270,200,24,24,"Humi: %");
while(1)
{
if(t!=calendar.sec)
{
t=calendar.sec;
LCD_ShowNum(60,130,calendar.w_year,4,24);
LCD_ShowNum(120,130,calendar.w_month,2,24);
LCD_ShowNum(150,130,calendar.w_date,2,24);
switch(calendar.week)
{
case 0:
Show_Str(60,210,200,24,"星期天 ",24,0);
break;
case 1:
Show_Str(60,210,200,24,"星期一 ",24,0);
break;
case 2:
Show_Str(60,210,200,24,"星期二 ",24,0);
// LCD_ShowString(60,210,200,24,24,"星期二 ");
break;
case 3:
Show_Str(60,210,200,24,"星期三 ",24,0);
// LCD_ShowString(60,210,200,24,24,"星期三 ");
break;
case 4:
Show_Str(60,210,200,24,"星期四 ",24,0);
// LCD_ShowString(60,210,200,24,24,"星期四 ");
break;
case 5:
Show_Str(60,210,200,24,"星期五 ",24,0);
// LCD_ShowString(60,210,200,24,24,"星期五 ");
break;
case 6:
Show_Str(60,210,200,24,"星期六 ",24,0);
// LCD_ShowString(60,210,200,24,24,"Saturday ");
break;
}
LCD_ShowNum(60,170,calendar.hour,2,24);
LCD_ShowNum(90,170,calendar.min,2,24);
LCD_ShowNum(120,170,calendar.sec,2,24);
LED0=!LED0;
}
delay_ms(10);
LED0=!LED0;
if(t1%10==0) //每100ms讀取一次
{
DHT11_Read_Data(&temperature,&humidity); //讀取溫濕度值
LCD_ShowNum(60+60,240,temperature,2,24); //顯示溫度
LCD_ShowNum(60+60,270,humidity,2,24); //顯示濕度
if(temperature>=j)
{
BEEP=~BEEP;
delay_ms(20);
}
}
delay_ms(10);
t1++;
if(t1==20)
{
t1=0;
LED0=!LED0;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
溫濕度.rar
(1.69 MB, 下載次數(shù): 176)
2018-11-17 01:36 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1