|
制作出來的實物圖如下:
TIM圖片20190515193803.jpg (7 MB, 下載次數(shù): 34)
下載附件
1
2019-5-15 19:38 上傳
TIM圖片20190515193830.jpg (7 MB, 下載次數(shù): 37)
下載附件
2
2019-5-15 19:39 上傳
單片機(jī)源程序如下:
#include "STC15Fxxxx.H"
#include "dh.h"
sbit DQ = P2^7;
unsigned char flag,temp;
unsigned char rhh,rhl,rth,rtl,rcc;
void Delay2(unsigned int j)
{
unsigned int i;
for(;j>0;j--)
{
for(i=0;i<150;i++);
}
}
void Delay_10us(void)
{
unsigned int i;
for(i=16;i>0;i--) ;
}
unsigned char com()
{
unsigned char i,comdata;
for(i = 0;i < 8; i++)
{
flag = 2;
while(!DQ && flag ++);
Delay_10us();
Delay_10us();
Delay_10us();
temp = 0;
if(DQ)
temp = 1;
while(DQ && flag++);
if(flag == 1)
break;
comdata<<=1;
comdata|=temp;
}
return comdata;
}
void RH()
{
unsigned char RH_h,RH_l,RT_h,RT_l,checkdata;
DQ = 0;
Delay2(180);
DQ = 1;
//總線由上拉電阻拉高 主機(jī)延時20us
Delay_10us();
Delay_10us();
Delay_10us();
Delay_10us();
//主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號
DQ = 1;
//判斷從機(jī)是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行
if(!DQ)//判斷是否為低
{
flag = 2;
while((!DQ) && flag ++);
flag = 2;
while(DQ && flag ++);
RH_h = com();
RH_l = com();
RT_h = com();
RT_l = com();
checkdata = com();
DQ = 1;
//數(shù)據(jù)校驗
if((RH_h + RH_l + RT_h + RT_l) == checkdata)
{
rhh = RH_h;
rhl = RH_l;
rth = RT_h;
rtl = RT_l;
rcc = checkdata;
}
}
}
全部資料51hei下載地址:
溫濕度傳感器.zip
(165.2 KB, 下載次數(shù): 35)
2019-5-15 17:20 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|