版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于89C51單片機SHT11溫濕度傳感器電路圖于程序作者:張志杰SHT11.h文件:#ifndef__SHT11_H__
#define__SHT11_H__
/*************************
SHT11相關(guān)命令
**************************/
#defineucharunsignedchar
#defineuintunsignedint
#defineTEM_TEST0x03//溫度檢測命令
#defineHUM_TEST0x05//濕度檢測命令
#defineREG_READ0x07//讀寄存器
#defineREG_WRITE0x06//寫寄存器
#defineFUNCTION_SET0x01//設(shè)置SHT11的工作精度為8位/濕度12位溫度
/**************************
SHT11端口定義
***************************/
sbitSHT11_DATA=P3^1;
sbitSHT11_SCK=P3^0;
sbitP33=P3^3;
sbitP32=P3^2;
sbitP36=P3^6;
sbitP37=P3^7;
ucharflag_tempeture=0;//顯示溫度位置的標志
ucharflag_humidity=0;//顯示濕度位置的標志
ucharcodestr1[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};//溫度圖標
ucharcodestr6_sht11[]="%RH";
ucharcodestr4_sht11[]="humi=";
ucharcodestr2_sht11[]="temp=";
ucharcodestr7_sht11[]="";//清除沒不要的顯示
/***************************
函數(shù)名稱:Delay()
函數(shù)功能:SHT11內(nèi)部延時
****************************/
voidDelay()
{
;
;
}
/***************************
函數(shù)名稱:Delay_Ms()
函數(shù)功能:SHT11檢測等待延時
函數(shù)說明:11ms/55ms/210ms分別對應(yīng)8位/12位/14位測量結(jié)果
對應(yīng)的形參為N則延時Nms
****************************/
voidDelay_Ms(uintms)//ms延時函數(shù)(AT89C51@11.0592MHz)
{
uinti;
ucharj;
for(i=0;i<ms;i++)
{
for(j=0;j<200;j++);
for(j=0;j<102;j++);
}
}
/**************************
函數(shù)功能:SHT11啟動時序
***************************/
voidSHT11_Start()
{
SHT11_SCK=1;
SHT11_DATA=1;
Delay();
SHT11_DATA=0;
}
/***************************************
函數(shù)名稱:ucharSHT11_Read_Register(ucharcommand)
函數(shù)說明:command為REG_READ0x07//讀寄存器
返回值為狀態(tài)寄存器的值
位6顯示當前檢測完一次數(shù)據(jù)后電源供電情況
當位6為0時表明VDD>2.47V當位6為1時表明VDD<2.47V即電量不足
位0表明當前的測量分辨率
當位0為1時表明測量精度:8位/濕度12位溫度
當位0為0時表明測量精度:12位濕度14位溫度
默認為0
*******************************************/
ucharSHT11_Read_Register(ucharcommand)
{
uchardat;
SHT11_Start();
SHT11_Sendbyte(command);
SHT11_Answer();
dat=SHT11_Receivebyte();
SHT11_End();
return(dat);
}
/***************************************
函數(shù)名稱:SHT11_Measure(ucharcommand,uinttime);
函數(shù)功能:設(shè)置SHT11檢測功能,并返回相應(yīng)的檢測結(jié)果
函數(shù)說明:command形參用于設(shè)定溫度檢測還是濕度檢測,
time形參用于設(shè)定檢測過程中的等待時間,以確定檢測結(jié)果的位數(shù)
11ms/55ms/210ms分別對應(yīng)8位/12位/14位
****************************************/
uintSHT11_Measure(ucharcommand,uchartime)
{
uintdat=0;
uchardata_high,data_low;
SHT11_Start();
SHT11_Sendbyte(command);
SHT11_Answer();
Delay_Ms(time);
SHT11_Test_Finish();
data_high=SHT11_Receivebyte();
MCU_Answer();
data_low=SHT11_Receivebyte();
SHT11_End();
dat=(dat|data_high);
dat=(dat<<8)|data_low;
return(dat);
}
/****************************************
函數(shù)名稱:Convert_Tempeture12bit(uintdat);
函數(shù)功能:將檢測到的數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的溫度數(shù)據(jù)
函數(shù)說明:溫度轉(zhuǎn)換公式--T=d1+d2*SOt
公式中的參數(shù)d1=-40,d2=0.04
適用于12位測量精度
*/
floatSHT11_Convert_Tempeture12bit(uintdat)
{
floattempeture1;
tempeture1=-40+0.04*dat;
if(tempeture1>23)
tempeture1=tempeture1+1;
if(tempeture1>55)
tempeture1=tempeture1+1;
if(P37==1)
{
if(tempeture1>=16&&tempeture1<30)
{
P33=1;
P32=0;
}
else
{
P33=0;
P32=1;
}
}
return(tempeture1);
}
/*****************************************
函數(shù)名稱:SHT11_Convert_Humidity8bit(uintdat,floattemp)
函數(shù)功能:將檢測到的數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的濕度數(shù)據(jù)
函數(shù)說明:相對濕度轉(zhuǎn)換公式-----RHline=C1+C2*SOrh+C3*SOrh*SOrh(檢測數(shù)據(jù)的線性化SOrh為單片機接收到的數(shù)據(jù))
-----RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline
公式中的參數(shù):C1=-4,C2=0,648,C3=-0.00072
t1=0.01,t2=0.00128
適用于8位測量精度
*/
uintSHT11_Convert_Humidity8bit(uintdat,floattemp)
{
floatRHline,RHtrue;
uintr;
RHline=-4+0.648*dat-0.00072*dat*dat;
RHtrue=(temp-25)*(0.01+0.00128*dat)+RHline;
r=(RHtrue-3)*10+0.5;
if(P37==0)
{
if(r>=400&&r<600)
{
P33=1;
}
else
{
P33=0;
}
if(r>=600)
{
P32=1;
}
else
{
P32=0;
}
}
return(r);
}
#endifDisplay.c文件:#include<reg52.h>
#include"SHT11.h"
#defineucharunsignedchar
#defineuintunsignedint
#defineTEM_TEST0x03//溫度檢測命令
#defineHUM_TEST0x05//濕度檢測命令
#defineREG_READ0x07//讀寄存器
#defineREG_WRITE0x06//寫寄存器
#defineFUNCTION_SET0x01//設(shè)置SHT11的工作精度為8位/濕度12位溫度
ucharDispData[4]={0,1,2,3};
codeucharDispSegmentP0[10]={0x3f,0x06,0x1b,0x0f,0x26,0x2d,0x3d,0x07,0x3f,0x2f};
codeucharDispSegmentP2[10]={0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x00,0x22,0x22};
//0123456789%
codeucharDispCtrl[4]={0xef,0xdF,0xbf,0x7F};
sbitP16=P1^6;
sbitP26=P2^6;
sbitP34=P3^4;
voidTemp_delay(unsignedintj)
{
uchari;
for(i=100;i>0;i--)
{
for(j;j>0;j--);
}
}
voidShow(uchar*Buffer)
{
uchari;
for(i=0;i<4;i++)
{
P1=DispCtrl[i];
P0=DispSegmentP0[*Buffer];
P2=DispSegmentP2[*Buffer];
if(P16==0)
P26=1;
Temp_delay(2);
Buffer++;
}
}
voidDispConvert(uchar*DispAddr,uintTemp2Con)
{
DispAddr[0]=Temp2Con/1000;
DispAddr[1]=(Temp2Con-DispAddr[0]*1000)/100;
DispAddr[2]=(Temp2Con-DispAddr[0]*1000-DispAddr[1]*100)/10;
DispAddr[3]=Temp2Con-DispAddr[0]*1000-DispAddr[1]*100-DispAddr[2]*10;
}
voidmain()
{
uinttemp;
uintdat;
uintHum;
//floatf;
while(1)
{
Show(DispData);
SHT11_Write_Register(REG_WRITE,FUNCTION_SET);
temp=SHT11_Measure(TEM_TEST,0x37);
temp=SHT11_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 團隊管理企業(yè)培訓(xùn)
- 二零二五年度企業(yè)兼職市場營銷人員合同2篇
- 在線健康信息替代搜尋對老年人健康素養(yǎng)的影響研究-基于社會認知理論
- 醫(yī)生年終工作總結(jié)
- 2025年度綠色建筑合作框架協(xié)議范本3篇
- 基于前景理論的大規(guī)模傳染疫情應(yīng)急管理決策研究
- 二零二五年P(guān)OS機租賃與移動支付安全監(jiān)控合同3篇
- 臨床胃腸鏡術(shù)前術(shù)后護理要點
- Unit 4 Lesson 1My family photo(說課稿)-2024-2025學(xué)年冀教版(2024)初中英語七年級上冊
- 全國冀教版信息技術(shù)三年級上冊新授課 二 畫大熊貓 說課稿
- DB44∕T 2149-2018 森林資源規(guī)劃設(shè)計調(diào)查技術(shù)規(guī)程
- 肝移植的歷史、現(xiàn)狀與展望
- 商業(yè)定價表(含各商鋪價格測算銷售回款)
- 【化學(xué)】重慶市2021-2022學(xué)年高一上學(xué)期期末聯(lián)合檢測試題
- 供應(yīng)商物料質(zhì)量問題賠償協(xié)議(終端)
- 單位工程質(zhì)量控制程序流程圖
- 部編版小學(xué)語文三年級(下冊)學(xué)期課程綱要
- 化學(xué)工業(yè)有毒有害作業(yè)工種范圍表
- 洼田飲水試驗
- 定置定位管理一
- 商票保貼協(xié)議
評論
0/150
提交評論