-
大小: 29KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-12
- 語言: 其他
- 標(biāo)簽: DHT11??驅(qū)動(dòng)??STC12C5A??STC12C5A60S2??
資源簡(jiǎn)介
DHT11驅(qū)動(dòng),使用STC12C5A單片機(jī)測(cè)試

代碼片段和文件信息
//****************************************************************//
//DHT11測(cè)試程序
//?
//單片機(jī):STC12C5A?
//功能:??串口發(fā)送溫濕度數(shù)據(jù)?晶振?11.0592M?波特率?9600?文本模式?
//????????直接顯示十進(jìn)制濕度整數(shù)、濕度小數(shù)、溫度整數(shù)、溫度小數(shù)、校檢和,*作間隔?
//硬件:??P0.1口為通訊口連接DHT11DHT11的電源和地連接單片機(jī)的電源和地
//作者:??花生(參考雁凌電子基于STC89C52的驅(qū)動(dòng)改編)??
//****************************************************************//
#include??
#include?“STC12C5A.h“?
typedef?unsigned?char??U8;???????/*?defined?for?unsigned?8-bits?integer?variable? ??無符號(hào)8位整型變量??*/
typedef?signed???char??S8;???????/*?defined?for?signed?8-bits?integer?variable ??有符號(hào)8位整型變量??*/
typedef?unsigned?int???U16;??????/*?defined?for?unsigned?16-bits?integer?variable? ??無符號(hào)16位整型變量?*/
typedef?signed???int???S16;??????/*?defined?for?signed?16-bits?integer?variable? ??有符號(hào)16位整型變量?*/
typedef?unsigned?long??U32;??????/*?defined?for?unsigned?32-bits?integer?variable? ??無符號(hào)32位整型變量?*/
typedef?signed???long??S32;??????/*?defined?for?signed?32-bits?integer?variable? ??有符號(hào)32位整型變量?*/
typedef?float??????????F32;??????/*?single?precision?floating?point?variable?(32bits)?單精度浮點(diǎn)數(shù)(32位長(zhǎng)度)?*/
typedef?double?????????F64;??????/*?double?precision?floating?point?variable?(64bits)?雙精度浮點(diǎn)數(shù)(64位長(zhǎng)度)?*/
sbit??DHT11??=?P0^1?;
U8??U8FLAG;
U8??U8temp;
U8??U8comdata;
U8??U8T_data_HU8T_data_LU8RH_data_HU8RH_data_LU8checkdata;
U8??U8T_data_H_tempU8T_data_L_tempU8RH_data_H_tempU8RH_data_L_tempU8checkdata_temp;
U8??str[17]=“???????????????*?“;
void??Delay_10us(void)????//誤差?-0.053530092593us
{
????unsigned?char?a;
????for(a=26;a>0;a--);
}
void?delay100us(void)???//誤差?-0.083188657407us
{
????unsigned?char?ab;
????for(b=61;b>0;b--)
????????for(a=3;a>0;a--);
????_nop_();??//if?Keilrequire?use?intrins.h
}
void?delay18ms(void)???//誤差?-0.054253472223us??
{
????unsigned?char?abc;
????for(c=148;c>0;c--)
????????for(b=122;b>0;b--)
????????????for(a=4;a>0;a--);
}
void??COM(void)
{
U8?i;
for(i=0;i<8;i++) ???
{
U8FLAG=2;
while((!DHT11)&&U8FLAG++);
Delay_10us();
Delay_10us();
Delay_10us();
U8temp=0;
if(DHT11)
U8temp=1;
U8FLAG=2;
while((DHT11)&&U8FLAG++);
//超時(shí)則跳出for循環(huán) ??
if(U8FLAG==1)
break;
//判斷數(shù)據(jù)位是0還是1 ?
//?如果高電平高過預(yù)定0高電平值則數(shù)據(jù)位為?1?
U8comdata<<=1;
U8comdata|=U8temp;????????
}
}
void?RH(void)
{
//主機(jī)拉低18ms?
DHT11=0;
delay18ms();
DHT11=1;
//總線由上拉電阻拉高?主機(jī)延時(shí)20us-40us
Delay_10us();
Delay_10us();
Delay_10us();
Delay_10us();
//主機(jī)設(shè)為輸入?判斷從機(jī)響應(yīng)信號(hào)?
DHT11=1;
//判斷從機(jī)是否有低電平響應(yīng)信號(hào)?如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 ??
if(!DHT11) ?//T?! ??
{
U8FLAG=2;
//判斷從機(jī)是否發(fā)出?80us?的低電平響應(yīng)信號(hào)是否結(jié)束 ?
while((!DHT11)&&U8FLAG++);
U8FLAG=2;
//判斷從機(jī)是否發(fā)出?80us?的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài)
while((DHT11)&&U8FLAG++);
//數(shù)據(jù)接收狀態(tài) ?
COM();
U8RH_data_H_temp=U8comdata;//溫度高8位
COM();
U8RH_data_L_temp=U8comdata;//溫度低8位
COM();
U8T_data_H_temp=U8comdata?;//濕度高8位
COM();
U8T_data_L_temp=U8comdata?;//濕度低8位
COM();
U8checkdata_temp=U8comdata;//校驗(yàn)和8位
DHT11=1;
//數(shù)據(jù)校驗(yàn)?
U8temp=(U8T_da
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4396??2016-11-25?15:22??DHT11驅(qū)動(dòng)(STC12C5A)\51_DHT21.c
?????文件???????8891??2016-11-25?15:22??DHT11驅(qū)動(dòng)(STC12C5A)\51_DHT21.LST
?????文件???????8570??2016-11-25?15:22??DHT11驅(qū)動(dòng)(STC12C5A)\51_DHT21.OBJ
?????文件???????7374??2016-11-25?15:22??DHT11驅(qū)動(dòng)(STC12C5A)\Proj
?????文件???????1587??2016-11-25?15:22??DHT11驅(qū)動(dòng)(STC12C5A)\Proj.hex
?????文件?????????29??2016-11-25?15:22??DHT11驅(qū)動(dòng)(STC12C5A)\Proj.lnp
?????文件???????9041??2016-11-25?15:22??DHT11驅(qū)動(dòng)(STC12C5A)\Proj.M51
?????文件???????6327??2016-11-25?15:23??DHT11驅(qū)動(dòng)(STC12C5A)\Proj.plg
?????文件??????55222??2016-11-25?15:23??DHT11驅(qū)動(dòng)(STC12C5A)\Proj.uvopt
?????文件??????13243??2016-11-24?20:38??DHT11驅(qū)動(dòng)(STC12C5A)\Proj.uvproj
?????文件??????55230??2016-11-24?20:38??DHT11驅(qū)動(dòng)(STC12C5A)\Proj_uvopt.bak
?????文件??????13239??2016-11-24?17:14??DHT11驅(qū)動(dòng)(STC12C5A)\Proj_uvproj.bak
?????文件??????18216??2016-11-23?14:03??DHT11驅(qū)動(dòng)(STC12C5A)\STC12C5A.H
?????目錄??????????0??2017-04-12?14:41??DHT11驅(qū)動(dòng)(STC12C5A)
-----------?---------??----------?-----??----
???????????????201365????????????????????14
評(píng)論
共有 條評(píng)論