91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

DHT11驅動,使用STC12C5A單片機測試

資源截圖

代碼片段和文件信息

//****************************************************************//
//DHT11測試程序
//?
//單片機:STC12C5A?
//功能:??串口發送溫濕度數據?晶振?11.0592M?波特率?9600?文本模式?
//????????直接顯示十進制濕度整數、濕度小數、溫度整數、溫度小數、校檢和,*作間隔?
//硬件:??P0.1口為通訊口連接DHT11DHT11的電源和地連接單片機的電源和地
//作者:??花生(參考雁凌電子基于STC89C52的驅動改編)??
//****************************************************************//

#include??
#include?“STC12C5A.h“?

typedef?unsigned?char??U8;???????/*?defined?for?unsigned?8-bits?integer?variable? ??無符號8位整型變量??*/
typedef?signed???char??S8;???????/*?defined?for?signed?8-bits?integer?variable ??有符號8位整型變量??*/
typedef?unsigned?int???U16;??????/*?defined?for?unsigned?16-bits?integer?variable? ??無符號16位整型變量?*/
typedef?signed???int???S16;??????/*?defined?for?signed?16-bits?integer?variable? ??有符號16位整型變量?*/
typedef?unsigned?long??U32;??????/*?defined?for?unsigned?32-bits?integer?variable? ??無符號32位整型變量?*/
typedef?signed???long??S32;??????/*?defined?for?signed?32-bits?integer?variable? ??有符號32位整型變量?*/
typedef?float??????????F32;??????/*?single?precision?floating?point?variable?(32bits)?單精度浮點數(32位長度)?*/
typedef?double?????????F64;??????/*?double?precision?floating?point?variable?(64bits)?雙精度浮點數(64位長度)?*/

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++);
//超時則跳出for循環 ??
if(U8FLAG==1)
break;
//判斷數據位是0還是1 ?
//?如果高電平高過預定0高電平值則數據位為?1?
U8comdata<<=1;
U8comdata|=U8temp;????????
}
}

void?RH(void)
{
//主機拉低18ms?
DHT11=0;
delay18ms();
DHT11=1;
//總線由上拉電阻拉高?主機延時20us-40us
Delay_10us();
Delay_10us();
Delay_10us();
Delay_10us();
//主機設為輸入?判斷從機響應信號?
DHT11=1;
//判斷從機是否有低電平響應信號?如不響應則跳出,響應則向下運行 ??
if(!DHT11) ?//T?! ??
{
U8FLAG=2;
//判斷從機是否發出?80us?的低電平響應信號是否結束 ?
while((!DHT11)&&U8FLAG++);
U8FLAG=2;
//判斷從機是否發出?80us?的高電平,如發出則進入數據接收狀態
while((DHT11)&&U8FLAG++);
//數據接收狀態 ?
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;//校驗和8位
DHT11=1;
//數據校驗?
U8temp=(U8T_da

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4396??2016-11-25?15:22??DHT11驅動(STC12C5A)\51_DHT21.c

?????文件???????8891??2016-11-25?15:22??DHT11驅動(STC12C5A)\51_DHT21.LST

?????文件???????8570??2016-11-25?15:22??DHT11驅動(STC12C5A)\51_DHT21.OBJ

?????文件???????7374??2016-11-25?15:22??DHT11驅動(STC12C5A)\Proj

?????文件???????1587??2016-11-25?15:22??DHT11驅動(STC12C5A)\Proj.hex

?????文件?????????29??2016-11-25?15:22??DHT11驅動(STC12C5A)\Proj.lnp

?????文件???????9041??2016-11-25?15:22??DHT11驅動(STC12C5A)\Proj.M51

?????文件???????6327??2016-11-25?15:23??DHT11驅動(STC12C5A)\Proj.plg

?????文件??????55222??2016-11-25?15:23??DHT11驅動(STC12C5A)\Proj.uvopt

?????文件??????13243??2016-11-24?20:38??DHT11驅動(STC12C5A)\Proj.uvproj

?????文件??????55230??2016-11-24?20:38??DHT11驅動(STC12C5A)\Proj_uvopt.bak

?????文件??????13239??2016-11-24?17:14??DHT11驅動(STC12C5A)\Proj_uvproj.bak

?????文件??????18216??2016-11-23?14:03??DHT11驅動(STC12C5A)\STC12C5A.H

?????目錄??????????0??2017-04-12?14:41??DHT11驅動(STC12C5A)

-----------?---------??----------?-----??----

???????????????201365????????????????????14


評論

共有 條評論