手机在线看永久av片免费_毛片免费在线观看网址_在线a级毛片免费视频_国国内清清草原免费视频99

文章詳情
所在位置: 首頁> 技術文章> 其它>

DS18B20數字溫度計使用

日期:2025-09-14 11:10
瀏覽次數:5288
摘要:
DS18B20數字溫度計使用


1.DS18B20基本知識

 DS18B20數字溫度計是DALLAS公司生產的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。

1、DS18B20產品的特點

  (1)、只要求一個端口即可實現通信。

  (2)、在DS18B20中的每個器件上都有****的序列號。

  (3)、實際應用中不需要外部任何元器件即可實現測溫。

  (4)、測量溫度范圍在-55。C到+125。C之間。

  (5)、數字溫度計的分辨率用戶可以從9位到12位選擇。

  (6)、內部有溫度上、下限告警設置。

2、DS18B20的引腳介紹

  TO-92封裝的DS18B20的引腳排列見圖1,其引腳功能描述見表1。

(底視圖)圖1

 

表1 DS18B20詳細引腳功能描述

序號

名稱

引腳功能描述

1

GND

地信號

2

DQ

數據輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。

3

VDD

可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。



3. DS18B20的使用方法

由于DS18B20采用的是1-Wire總線協議方式,即在一根數據線實現數據的雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協議,因此,我們必須采用軟件的方法來模擬單總線的協議時序來完成對DS18B20芯片的訪問。

由于DS18B20是在一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序要求。DS18B20有嚴格的通信協議來保證各位數據傳輸的正確性和完整性。該協議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設備,單總線器件作為從設備。而每一次命令和數據的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數據,在進行寫命令后,主機需啟動讀時序完成數據接收。數據和命令的傳輸都是低位在先。

DS18B20的復位時序

DS18B20的讀時序

對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。

對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內就得釋放單總線,以讓DS18B20把數據傳輸到單總線上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。

DS18B20的寫時序

對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。

對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。

 

4. 實驗任務

用一片DS18B20構成測溫系統,測量的溫度精度達到0.1度,測量的溫度的范圍在-20度到+100度之間,用8位數碼管顯示出來。

5. 電路原理圖

 

6. 系統板上硬件連線

(1). 把“單片機系統”區域中的P0.0-P0.7用8芯排線連接到“動態數碼顯示”區域中的ABCDEFGH端子上。

(2). 把“單片機系統”區域中的P2.0-P2.7用8芯排線連接到“動態數碼顯示”區域中的S1S2S3S4S5S6S7S8端子上。

(3). 把DS18B20芯片插入“四路單總線”區域中的任一個插座中,注意電源與地信號不要接反。

(4). 把“四路單總線”區域中的對應的DQ端子連接到“單片機系統”區域中的P3.7/RD端子上。

7. C語言源程序
#include
#include
 
unsigned char code displaybit[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code displaycode[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00,0x40};
unsigned char code dotcode[32]={0,3,6,9,12,16,19,22,
25,28,31,34,38,41,44,48,
50,53,56,59,63,66,69,72,
75,78,81,84,88,91,94,97};
unsigned char displaycount;
unsigned char displaybuf[8]={16,16,16,16,16,16,16,16};
unsigned char timecount;
unsigned char readdata[8];  
sbit DQ=P3^7;
bit sflag;
 
bit resetpulse(void)
{
unsigned char i;
 
DQ=0;
for(i=255;i>0;i--);
DQ=1;
for(i=60;i>0;i--);
return(DQ);
for(i=200;i>0;i--);
}
 
void writecommandtods18b20(unsigned char command)
{
unsigned char i;
unsigned char j;
 
for(i=0;i<8;i++)
{
if((command & 0x01)==0)
{
DQ=0;
for(j=35;j>0;j--);
DQ=1;
}
else
{
DQ=0;
for(j=2;j>0;j--);
DQ=1;
for(j=33;j>0;j--);
}
command=_cror_(command,1);
}
}
 
unsigned char readdatafromds18b20(void)
{
unsigned char i;
unsigned char j;
unsigned char temp;
 
temp=0;
for(i=0;i<8;i++)
{
temp=_cror_(temp,1);
DQ=0;
_nop_();
_nop_();
DQ=1;
for(j=10;j>0;j--);
if(DQ==1)
{
temp=temp | 0x80;
}
else
{
temp=temp | 0x00;
}
for(j=200;j>0;j--);
}
return(temp);
}
 
void main(void)
{
TMOD=0x01;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
ET0=1;
EA=1;
 
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0x44);
TR0=1;
while(1)
{
;
}
}
 
void t0(void) interrupt 1 using 0
{
unsigned char x;
unsigned int result;
 
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
if(displaycount==2)
{
P0=displaycode[displaybuf[displaycount]] | 0x80;
}
else
{
P0=displaycode[displaybuf[displaycount]];
}
P2=displaybit[displaycount];
displaycount++;
if(displaycount==8)
{
displaycount=0;
}
 
timecount++;
if(timecount==150)
{
timecount=0;
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0xbe);
readdata[0]=readdatafromds18b20();
readdata[1]=readdatafromds18b20();
for(x=0;x<8;x++)
{
displaybuf[x]=16;
}
sflag=0;
if((readdata[1] & 0xf8)!=0x00)
{
sflag=1;
readdata[1]=~readdata[1];
readdata[0]=~readdata[0];
result=readdata[0]+1;
readdata[0]=result;
if(result>255)
{
readdata[1]++;
}
}
readdata[1]=readdata[1]<<4;
readdata[1]=readdata[1] & 0x70;
x=readdata[0];
x=x>>4;
x=x & 0x0f;
readdata[1]=readdata[1] | x;
x=2;
result=readdata[1];
while(result/10)
{
displaybuf[x]=result%10;
result=result/10;
x++;
}
displaybuf[x]=result;
if(sflag==1)
{
displaybuf[x+1]=17;
}
x=readdata[0] & 0x0f;
x=x<<1;
displaybuf[0]=(dotcode[x])%10;
displaybuf[1]=(dotcode[x])/10;
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0x44);
}
}

手机在线看永久av片免费_毛片免费在线观看网址_在线a级毛片免费视频_国国内清清草原免费视频99

<rt id="rbfbh"><optgroup id="rbfbh"><strike id="rbfbh"></strike></optgroup></rt>
    <span id="rbfbh"><optgroup id="rbfbh"></optgroup></span>

    欧美色视频一区| 色哟哟在线观看一区二区三区| 在线观看亚洲a| 欧美午夜寂寞影院| 日韩欧美黄色影院| 国产精品久久午夜夜伦鲁鲁| 一区二区免费看| 国产一区二区按摩在线观看| 色久优优欧美色久优优| 久久婷婷综合激情| 日韩电影在线观看网站| 成人黄色在线看| 精品国产露脸精彩对白 | 99精品一区二区| 欧美男男青年gay1069videost| 欧美激情在线看| 美女脱光内衣内裤视频久久网站| 99re在线精品| 亚洲chinese男男1069| 成人av网站免费观看| 亚洲伦理在线精品| 成人一区二区三区中文字幕| 日韩你懂的在线播放| 国产成人午夜精品影院观看视频| 精品成人a区在线观看| 风流少妇一区二区| 久久综合资源网| 99国产精品久久久久| 美脚の诱脚舐め脚责91| 国产精品免费视频观看| 成人午夜大片免费观看| 亚洲一级二级三级在线免费观看| 一本色道**综合亚洲精品蜜桃冫| 婷婷六月综合网| 欧美一级国产精品| 九九视频精品免费| 精品噜噜噜噜久久久久久久久试看| 日韩成人一区二区三区在线观看| 国产欧美精品国产国产专区| 成人一级片在线观看| 偷拍亚洲欧洲综合| 中文无字幕一区二区三区| 在线不卡中文字幕| 国产米奇在线777精品观看| 亚洲综合色在线| 日本一区二区三级电影在线观看 | 91一区二区在线观看| 亚洲欧美偷拍卡通变态| 欧美艳星brazzers| 成人av电影在线观看| 国产乱码精品一区二区三区忘忧草| 久久综合久久99| 欧美一区午夜精品| 成人激情开心网| 国产伦精品一区二区三区免费 | caoporn国产精品| 一区二区三区在线高清| 欧美国产日韩亚洲一区| 精品美女一区二区三区| 日韩精品中文字幕一区二区三区 | 午夜精品aaa| 亚洲成人在线网站| 亚洲国产欧美另类丝袜| 欧美日韩一区二区电影| 91在线播放网址| av在线不卡观看免费观看| 91在线观看污| 欧美性猛交xxxx乱大交退制版| 欧美私模裸体表演在线观看| 欧美日韩第一区日日骚| 日韩一区二区精品葵司在线| 日韩免费高清视频| 久久久精品综合| 欧美一区二区三区人| 日韩欧美国产麻豆| 欧美videos大乳护士334| 久久亚洲免费视频| 国产精品二区一区二区aⅴ污介绍| 亚洲私人黄色宅男| 久久精品在这里| 欧美另类videos死尸| 日韩亚洲电影在线| 精品国产凹凸成av人导航| 国产精品福利一区二区三区| 亚洲国产精品欧美一二99| 麻豆精品精品国产自在97香蕉| 国产传媒久久文化传媒| 在线观看日韩一区| 精品日韩一区二区三区| 国产精品久久久久永久免费观看 | 麻豆国产欧美一区二区三区| 成人免费精品视频| 7777精品伊人久久久大香线蕉的| 99久久精品免费观看| 欧美午夜视频网站| 久久午夜老司机| 亚洲国产精品天堂| 国产成人免费视频网站| 欧美日韩高清不卡| 自拍偷自拍亚洲精品播放| 免费黄网站欧美| 老司机午夜精品| 另类综合日韩欧美亚洲| 处破女av一区二区| 精品视频一区二区三区免费| 国产亚洲成av人在线观看导航| 亚洲国产精品嫩草影院| 成人a区在线观看| 欧美一区二区二区| 一级精品视频在线观看宜春院 | 亚洲欧洲精品一区二区精品久久久| 国产女同性恋一区二区| 午夜免费久久看| av动漫一区二区| 国产亚洲一区二区在线观看| 日韩一区精品视频| 精品亚洲成a人| 欧美日韩综合在线免费观看| 国产精品灌醉下药二区| 国产成人精品免费看| 精品国产乱码久久久久久久| 秋霞午夜鲁丝一区二区老狼| 欧美日韩另类国产亚洲欧美一级| 亚洲另类在线制服丝袜| av电影在线观看完整版一区二区| 久久精品亚洲乱码伦伦中文| 久草这里只有精品视频| 欧美电视剧免费全集观看| 天天操天天干天天综合网| 欧美亚洲动漫另类| 亚洲一区二区三区爽爽爽爽爽| 色系网站成人免费| 亚洲欧美日韩在线| 色老汉一区二区三区| 一区二区三区欧美日韩| 欧美在线综合视频| 亚洲国产精品久久久久婷婷884| 欧美主播一区二区三区美女| 亚洲一级二级三级| 欧美日韩国产成人在线免费| 五月天激情综合网| 欧美大片顶级少妇| 国产成人自拍高清视频在线免费播放| 欧美www视频| 国产99久久久国产精品潘金网站| 国产婷婷色一区二区三区| 丁香五精品蜜臀久久久久99网站| 国产精品不卡在线观看| 91久久香蕉国产日韩欧美9色| 亚洲国产乱码最新视频 | 视频一区二区不卡| 欧美成人精品1314www| 国产精品99久久久久久有的能看| 国产欧美日韩在线观看| 91在线观看地址| 青青青爽久久午夜综合久久午夜 | 国产日韩在线不卡| 欧美专区日韩专区| 免费在线观看不卡| 国产亚洲女人久久久久毛片| 91丨九色porny丨蝌蚪| 日本在线不卡一区| 国产欧美日韩综合| 欧美区一区二区三区| 国产成人av一区二区| 夜夜嗨av一区二区三区| 日韩精品一区二区三区在线播放| 成人国产精品免费观看| 日本中文在线一区| 亚洲丝袜另类动漫二区| 日韩欧美123| 在线一区二区观看| 国产精品影音先锋| 亚洲成人自拍偷拍| 国产精品久久久久久户外露出| 欧美精品久久99久久在免费线| 国产成人99久久亚洲综合精品| 亚洲国产一区二区在线播放| 国产日韩精品久久久| 欧美日韩成人在线一区| 成人av资源下载| 免费成人美女在线观看.| 亚洲精品欧美在线| 久久久久久免费| 欧美精品一二三区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲欧美色一区| 久久综合九色综合97婷婷| 欧美日韩国产乱码电影| 99久久国产综合精品女不卡| 久久国产免费看| 日韩精品亚洲一区二区三区免费| 亚洲女女做受ⅹxx高潮| 国产精品视频看| 国产人伦精品一区二区| 久久综合色之久久综合| 欧美成人性战久久| 欧美一区永久视频免费观看| 欧美日本国产一区| 欧美裸体一区二区三区|