<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > STC12C5A60S2控制溫度傳感器DS18B20 c程序

STC12C5A60S2控制溫度傳感器DS18B20 c程序

作者: 時(shí)間:2013-05-11 來(lái)源:網(wǎng)絡(luò ) 收藏

控制 c程序工作頻率:12.000MHz
#include"REG51.H"
#include"INTRINS.H" typedefunsignedcharBYTE; sbitDQ=P3^3;//的數據口位P3.3


BYTETPH;//存放溫度值的高字節
BYTETPL;//存放溫度值的低字節 voidDelayXus(BYTEn);
void_Reset();
voidDS18B20_WriteByte(BYTEdat);
BYTEDS18B20_ReadByte(); voidmain()
{
DS18B20_Reset();//設備復位
DS18B20_WriteByte(0xCC);//跳過(guò)ROM命令
DS18B20_WriteByte(0x44);//開(kāi)始轉換命令
while(!DQ);//等待轉換完成 DS18B20_Reset();//設備復位
DS18B20_WriteByte(0xCC);//跳過(guò)ROM命令
DS18B20_WriteByte(0xBE);//讀暫存存儲器命令
TPL=DS18B20_ReadByte();//讀溫度低字節
TPH=DS18B20_ReadByte();//讀溫度高字節 while(1);
} /**************************************
延時(shí)X微秒(@12M)
不同的工作環(huán)境,需要調整此函數
此延時(shí)函數是使用1T的指令周期進(jìn)行計算,與傳統的12T的MCU不同
**************************************/
voidDelayXus(BYTEn)
{
while(n--)
{
_nop_();
_nop_();
}
} /**************************************
復位DS18B20,并檢測設備是否存在
**************************************/
voidDS18B20_Reset()
{
CY=1;
while(CY)
{
DQ=0;//送出低電平復位信號
DelayXus(240);//延時(shí)至少480us
DelayXus(240);
DQ=1;//釋放數據線(xiàn)
DelayXus(60);//等待60us
CY=DQ;//檢測存在脈沖
DelayXus(240);//等待設備釋放數據線(xiàn)
DelayXus(180);
}
} /**************************************
從DS18B20讀1字節數據
**************************************/
BYTEDS18B20_ReadByte()
{
BYTEi;
BYTEdat=0; for(i=0;i8;i++)//8位計數器
{
dat>>=1;
DQ=0;//開(kāi)始時(shí)間片
DelayXus(1);//延時(shí)等待
DQ=1;//準備接收
DelayXus(1);//接收延時(shí)
if(DQ)dat|=0x80;//讀取數據
DelayXus(60);//等待時(shí)間片結束
} returndat;
} /**************************************
向DS18B20寫(xiě)1字節數據
**************************************/
voidDS18B20_WriteByte(BYTEdat)
{
chari; for(i=0;i8;i++)//8位計數器
{
DQ=0;//開(kāi)始時(shí)間片
DelayXus(1);//延時(shí)等待
dat>>=1;//送出數據
DQ=CY;
DelayXus(60);//等待時(shí)間片結束
DQ=1;//恢復數據線(xiàn)
DelayXus(1);//恢復延時(shí)
}
}

傳感器相關(guān)文章:傳感器工作原理


風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理


關(guān)鍵詞: STC12C5A60S2 溫度傳感器 DS18B20

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>