色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DS18B20數(shù)字溫度計(jì)的單片機(jī)接口應(yīng)用詳細(xì)說(shuō)明

Wildesbeast ? 來(lái)源:?jiǎn)纹瑱C(jī)教程網(wǎng) ? 作者:h1654155169.2086 ? 2020-05-05 14:53 ? 次閱讀

1.DS18B20基本知識(shí)

DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。

1、DS18B20產(chǎn)品的特點(diǎn)

(1)、只要求一個(gè)端口即可實(shí)現(xiàn)通信。

(2)、在DS18B20中的每個(gè)器件上都有獨(dú)一無(wú)二的序列號(hào)。

(3)、實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。

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

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

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

2、DS18B20的引腳介紹

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

(底視圖)

圖1

表1DS18B20詳細(xì)引腳功能描述

序號(hào)名稱引腳功能描述

1GND地信號(hào)

2DQ數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。

3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。

3. DS18B20的使用方法

由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S51單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。

由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。

DS18B20的復(fù)位時(shí)序

DS18B20的讀時(shí)序

對(duì)于DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。

對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。

DS18B20的寫時(shí)序

對(duì)于DS18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過(guò)程。

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

4. 實(shí)驗(yàn)任務(wù)

用一片DS18B20構(gòu)成測(cè)溫系統(tǒng),測(cè)量的溫度精度達(dá)到0.1度,測(cè)量的溫度的范圍在-20度到+100度之間,用8位數(shù)碼管顯示出來(lái)。

5. 電路原理

6. 系統(tǒng)板上硬件連線

(1). 把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0-P0.7用8芯排線連接到“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的ABCDEFGH端子上。

(2). 把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0-P2.7用8芯排線連接到“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的S1S2S3S4S5S6S7S8端子上。

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

(4). 把“四路單總線”區(qū)域中的對(duì)應(yīng)的DQ端子連接到“單片機(jī)系統(tǒng)”區(qū)域中的P3.7/RD端子上。

7. C語(yǔ)言源程序

#include 《AT89X52.H》

#include 《INTRINS.h》

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)%6;

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)%6;

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;

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]);

displaybuf[1]=(dotcode[x])/10;

while(resetpulse());

writecommandtods18b20(0xcc);

writecommandtods18b20(0x44);

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634641
  • DS18B20
    +關(guān)注

    關(guān)注

    10

    文章

    779

    瀏覽量

    80824
  • 溫度計(jì)
    +關(guān)注

    關(guān)注

    6

    文章

    404

    瀏覽量

    78465
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DS18B20 數(shù)字溫度計(jì)特點(diǎn)

    一.DS18B20特點(diǎn) DS18B20 數(shù)字溫度計(jì)提供12位(二進(jìn)制)溫度讀數(shù)的數(shù)字型傳感器。傳
    的頭像 發(fā)表于 09-11 11:19 ?2810次閱讀
    <b class='flag-5'>DS18B20</b> <b class='flag-5'>數(shù)字</b><b class='flag-5'>溫度計(jì)</b>特點(diǎn)

    基于DS18B20的51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)

    本帖最后由 kuofonfon 于 2020-1-3 17:39 編輯 實(shí)驗(yàn)原理DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它
    發(fā)表于 11-04 12:27

    數(shù)字溫度計(jì)DS18B20的特性及應(yīng)用

    DS18B20是美國(guó)DALLAS公司生產(chǎn)的可完全替代DS1820的全新型單線數(shù)字溫度計(jì).文中介紹了DS18B20的性能結(jié)構(gòu)和與
    發(fā)表于 04-25 15:19 ?69次下載

    基于MSP430單片機(jī)DS18B20數(shù)字溫度計(jì)

    為了在工業(yè)生產(chǎn)及過(guò)程控制中準(zhǔn)確測(cè)量溫度,設(shè)計(jì)了一種基于低功耗MSP430單片機(jī)數(shù)字溫度計(jì)。整個(gè)系統(tǒng)通過(guò)單片機(jī)MSP430F1121A控制
    發(fā)表于 11-22 16:14 ?269次下載

    DS18B20數(shù)字溫度計(jì)使用

    DS18B20數(shù)字溫度計(jì)使用 1.DS18B20基本知識(shí) DS18B20數(shù)字
    發(fā)表于 01-25 11:29 ?1567次閱讀
    <b class='flag-5'>DS18B20</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>溫度計(jì)</b>使用

    基于DS18B20數(shù)字溫度計(jì)設(shè)計(jì)

    基于DS18B20數(shù)字溫度計(jì)設(shè)計(jì),供大家下載。
    發(fā)表于 12-21 18:26 ?24次下載

    DS18B20溫度測(cè)試實(shí)驗(yàn)

    基于單片機(jī)STC89C52的DS18B20數(shù)字溫度計(jì),測(cè)量實(shí)時(shí)溫度
    發(fā)表于 12-31 14:36 ?10次下載

    DS18B20數(shù)字溫度計(jì)使用

    DS18B20數(shù)字溫度計(jì)使用。
    發(fā)表于 05-05 14:56 ?0次下載

    51單片機(jī)DS18B20數(shù)字溫度計(jì)

    51單片機(jī)DS18B20數(shù)字溫度計(jì)
    發(fā)表于 05-19 15:32 ?117次下載

    DS18B20數(shù)字溫度計(jì)使用

    學(xué)習(xí)單片機(jī)電路圖的很好的資料——DS18B20數(shù)字溫度計(jì)使用
    發(fā)表于 11-03 15:15 ?0次下載

    DS18B20溫度計(jì)原理圖和PCB和單片機(jī)程序

    DS18B20溫度計(jì)原理圖和PCB和單片機(jī)程序
    發(fā)表于 11-06 16:43 ?46次下載

    使用89C51單片機(jī)DS18B20溫度傳感器設(shè)計(jì)數(shù)字溫度計(jì)的源代碼

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用89C51單片機(jī)DS18B20溫度傳感器設(shè)計(jì)數(shù)字溫度計(jì)的源代碼
    發(fā)表于 03-07 17:06 ?97次下載
    使用89C51<b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器設(shè)計(jì)<b class='flag-5'>數(shù)字</b><b class='flag-5'>溫度計(jì)</b>的源代碼

    DS18B20溫度計(jì)原理圖和PCB及單片機(jī)程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是DS18B20溫度計(jì)原理圖和PCB及單片機(jī)程序免費(fèi)下載。
    發(fā)表于 06-16 16:22 ?79次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度計(jì)</b>原理圖和PCB及<b class='flag-5'>單片機(jī)</b>程序免費(fèi)下載

    使用STC單片機(jī)實(shí)現(xiàn)DS18B20溫度計(jì)的C51配套例程免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STC單片機(jī)實(shí)現(xiàn)DS18B20溫度計(jì)的C51配套例程免費(fèi)下載。
    發(fā)表于 03-16 10:12 ?40次下載

    DS18B20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)案例

    本設(shè)計(jì)采用的主控芯片是ATMEL公司的AT89S52單片機(jī)數(shù)字溫度傳感器是DALLAS公司的DS18B20。本設(shè)計(jì)用數(shù)字傳感器
    發(fā)表于 05-09 16:02 ?53次下載
    主站蜘蛛池模板: 国产精品美女久久久久浪潮AV| 国产精品97久久AV麻豆| 三级黄在线| 饥渴的新婚女教师| 爱很烂qvod| 亚洲欧美一级久久精品| 热热久久超碰精品中文字幕 | 久久国语露脸精品国产| 俄罗斯爱爱| 97精品国产高清在线看入口| 乌克兰成人性色生活片| 嗯啊…嗯np男男双性总受| 国产在线观看免费观看不卡| videossexo乌克兰| 1300部真实小Y女视频合集| 亚洲精品AV一二三区无码| 日韩欧美国产免费看清风阁| 免费完整版观看| 九九热视频这里只有精| 国产伦精品一区二区三区| av56788成 人影院| 野花香在线观看免费观看大全动漫 | 久久久这里有精品999| 国产短视频精品区| babesvideos欧美最新| 一区二区三区无码高清视频| 亚洲 欧美 中文字幕 在线| 日韩视频在线观看| 青柠在线观看视频在线高清| 快乐激情网| 两个奶头被吃得又翘又痛| 久久vs国产综合色| 国产在线视频分类精品| 国产网站免费观看| 国产啪精品视频网免费| 东京热一本无码av| eussse手机电影在线观看| 97免费视频观看| 97在线观看成人免费视频| 最近2019中文字幕MV免费看| 亚洲视频免费|