欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
求一個DS18B20的初始化單片機程序,自己寫的老是顯示八十五度
[打印本頁]
作者:
woaijiaojiao
時間:
2019-5-9 23:05
標題:
求一個DS18B20的初始化單片機程序,自己寫的老是顯示八十五度
12兆赫茲晶振,STC89C52單片機,溫度傳感器老是顯示八十五度,應該是初始化不了
作者:
飛機翻筋斗
時間:
2019-5-10 10:53
#include<msp430x14x.h>
#define CLR_DQ P1OUT&=~BIT4;
#define SET_DQ P1OUT|=BIT4;
#define DQ_OUT P1DIR|=BIT4;
#define DQ_IN P1DIR&=~BIT4;
#define DQ P1IN&BIT4
void delayus3(uint i)
{
// do{
// _NOP();_NOP();_NOP();_NOP();
// _NOP();_NOP();_NOP();_NOP();
// }while(i--);
CCR0 = i;
TACTL |= MC_1; //增計數到CCR0
while(!(TACTL & BIT0)); //等待
TACTL &= ~MC_1; //停止計數
TACTL &= ~BIT0; //清除中斷標志
}
void delayus(uchar i)
{
do{
_NOP();_NOP();_NOP();_NOP();
_NOP();_NOP();_NOP();_NOP();
}while(i--);
}
uchar DS_Ready()
{
uchar ack;
DQ_OUT;
_DINT();
SET_DQ;
_NOP();
CLR_DQ;
delayus(45);
SET_DQ;
delayus(4);
DQ_IN;
ack=DQ;
_EINT();
delayus(35);
return ack;
}
void DSWrite(uchar dat)
{
uchar mask;
DQ_OUT;
_DINT(); //關閉中斷
for(mask=0x01;mask!=0;mask<<=1)
{
CLR_DQ;
_NOP();
_NOP();
if(mask&dat)
{
SET_DQ;
}
else
{
CLR_DQ;
}
delayus(4);
SET_DQ;
delayus(1);
}
_EINT();
}
uchar DSRead()
{
uchar mask;
uchar dat=0;
DQ_OUT;
_DINT(); //關閉中斷
for(mask=0x01;mask!=0;mask<<=1)
{
_NOP();
CLR_DQ;
_NOP();
_NOP();
SET_DQ;
_NOP();
_NOP();
DQ_IN;
_NOP();
if(DQ)
{
dat|=mask;
}
else
{
dat&=~mask;
}
delayus(4);
DQ_OUT;
SET_DQ;
delayus(1);
}
_EINT();
return dat;
}
void DSStart()
{
uchar ack;
ack=DS_Ready();
if(!ack)
{
DSWrite(0xcc);
DSWrite(0x44);
}
}
uchar GetTemp(int *temp)
{
uchar ack;
uchar LSB,MSB;
ack=DS_Ready();
if(!ack)
{
DSWrite(0xcc);
DSWrite(0xbe);
LSB=DSRead();
MSB=DSRead();
*temp=((int)MSB<<8)+LSB;
}
return ack;
}
你稍微改一下就可以了
作者:
woaijiaojiao
時間:
2020-6-25 12:27
大概是傳感其燒壞了,換了一個不該程序也可以正常工作了
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1