功能說明:
運用所學(xué)單片機知識,完成溫濕度信號的測量。
要求如下:
單片機系統(tǒng)選擇使用AT89C51,溫度傳感器采用DHT11,將溫濕度傳感器DHT11采集到的溫度及濕度值數(shù)據(jù)顯示在LCD顯示器上。
講解視頻
代碼講解+仿真講解
仿真電路
DHT11檢測值
//單總線讀取DHT11寄存器
uchar DHT11_rec_byte()
{
uchar i,dat=0;
for(i=0;i<8;i++)
{
while(!Data);
DHT11_delay_us(8);
dat<<=1;
if(Data==1)
dat+=1;
while(Data);
}
return dat;
}
//解析DHT11寄存器數(shù)據(jù)
void DHT11_receive()
{
uchar R_H,R_L,T_H,T_L,RH,RL,TH,TL,revise;
DHT11_start();
if(Data==0)
{
while(Data==0);
DHT11_delay_us(40);
R_H=DHT11_rec_byte();
R_L=DHT11_rec_byte();
T_H=DHT11_rec_byte();
T_L=DHT11_rec_byte();
revise=DHT11_rec_byte();
DHT11_delay_us(25);
if((R_H+R_L+T_H+T_L)==revise)
{
RH=R_H;
RL=R_L;
TH=T_H;
TL=T_L;
}
rec_dat[0]='H'; //顯示的第一個字符
rec_dat[1]='U';
rec_dat[2]='M';
rec_dat[3]='=';
rec_dat[4]='0'+(RH/10);
rec_dat[5]='0'+(RH%10);/*濕度*/
rec_dat[6]=' ';
rec_dat[7]='T'; //顯示的第一個字符
rec_dat[8]='U';
rec_dat[9]='M';
rec_dat[10]='=';
rec_dat[11]='0'+(TH/10);
rec_dat[12]='0'+(TH%10);/*溫度*/
}
}
main函數(shù)
void main()
{
uchar i;
init_lcd();
while(1)
{
DHT11_delay_ms(100);
DHT11_receive();
write_com(0x80);
for(i=0;i<13;i++){
write_dat(rec_dat[i]);
}
write_dat(0xdf);
write_dat('C');
}
}
設(shè)計報告
5593字設(shè)計報告
資料清單&&網(wǎng)盤鏈接
網(wǎng)盤下載鏈接
- 常見使用問題及解決方法–必讀?。。?!
- 程序代碼
- proteus仿真
- 功能說明
- 開題報告
- 設(shè)計報告
- 講解視頻
Altium Designer 安裝破解
DHT11說明書200808修訂版.pdf
KEIL+proteus 單片機仿真設(shè)計教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡易使用教程
單片機學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊
答辯技巧
設(shè)計報告常用描述
鼠標(biāo)雙擊打開嘉盛單片機51 STM32單片機課程畢業(yè)設(shè)計.url
閱讀全文