在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

DS18B20的組成以及工作過程

ss ? 來源:李天生博客園、CSDN_朱堅強 ? 作者:李天生博客園、 ? 2021-07-08 09:18 ? 次閱讀

DS18B20一般都是由64位ROM溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器組成。ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。

DS18B20的工作過程:

1.復位操作

2.執行ROM操作的5條指令之一:1)讀ROM,2)匹配ROM,3)搜索ROM,4)跳過ROM,5)報警搜索。

3.存儲器操作命令:溫度轉換、讀取溫度、設定上下限溫度值等指令

4.讀取溫度數據:主機讀取溫度數據后進行數據處理。

應用實例

數字電子溫度計

功能:顯示當前溫度值,可顯示正和負溫度值

程序:

#include《reg52.h》

/*------SEG PORT-----*/

#define LEDADDR P2

#define LED_port P0

/*------DS18B20 PORT-----*/

sbit DB_B20=P0^0;

/*-----COMMON FUNCTION----*/

void delay_us(unsigned int time);

/*-----SEG FUNCTION-------*/

unsigned char seg_val[6];

unsigned char ledcode[12] = {0XC0,0XF9,0XA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xbf,0xff};//共陽極數碼管0,1,2,3,4,5,6,7,8,9,-,null

unsigned char currled=0;

unsigned char led_en=0x04;//

void display(void);

void display_tem(void);

/*--- DS18B20 FUNCTION-----*/

unsigned char tem_pnt;

unsigned char tem_num;

bit tem_sign;

bit reset_B20(void);

unsigned char read_b20_byte(void);

void write_b20_byte(unsigned char);

void convert_cmd_b20(void);

void read_cmd_b20(void);

void data_convert_b20(void);

/*--- TIME FUNCTION-----*/

unsigned char times;

void times_init(void);

/*-----------------------*/

main()

{

times_init();

while(1)

{

display_tem();

display();

}

}

/*-----COMMON FUNCTION----*/

void delay_us(unsigned int us)

{

while(us--);//for(;us》0;us--);//while(time--);

}

/*-----SEG FUNCTION-------*/

void display(void)

{

LEDADDR=0xff;

LED_port=(LED_port&0x03)|led_en;

led_en《《=1;

if(currled==1)

LEDADDR=ledcode[seg_val[currled]]& 0x7f;

else

LEDADDR=ledcode[seg_val[currled]];

currled++;

if(currled==6)

{

currled=0;

led_en=0x04;

}

delay_us(300);

}

void display_tem(void)

{

unsigned char n;

unsigned char p;

if(tem_sign==0)

{

n=~(tem_num-1);

p=~(tem_pnt-1);

}

else

{

n=tem_num;

p=tem_pnt;

}

seg_val[5]=11;

seg_val[4]=11;

seg_val[3]=n/100;

n=n%100;

seg_val[2]=n/10;

if(seg_val[3]==0)

{

seg_val[3]=11;

if(seg_val[2]==0)

seg_val[2]=11;

}

seg_val[1]=n%10;

seg_val[0]=p;

if(seg_val[2]==11 && seg_val[3]==11 && tem_sign==0)

seg_val[2]=10;

else if(seg_val[3]==11 && tem_sign==0)

seg_val[3]=10;

else if(tem_sign==0)

seg_val[4]=10;

}

/*--- DS18B20 FUNCTION-----*/

bit reset_B20(void)

{

bit state;

DB_B20=0;

delay_us(29);//》480us 29

DB_B20=1;

delay_us(3);//15---60us 3

state=DB_B20;

delay_us(25);//480us 25

return state;

}

void write_b20_byte(unsigned char cmd)

{

unsigned char i;

for(i=0;i《8;i++)

{

DB_B20=0;

DB_B20=cmd&0x01;

delay_us(5);

DB_B20=1;

cmd》》=1; //6

}

delay_us(5);

}

unsigned char read_b20_byte(void)

{

unsigned char rbyte=0;

unsigned char i;

for(i=0;i《8;i++)

{

rbyte》》=1;

DB_B20=0;

DB_B20=1;

//delay_us(1);

if(DB_B20)

rbyte |= 0x80;

delay_us(6); //6

}

return rbyte;

}

void convert_cmd_b20(void)

{

reset_B20();

write_b20_byte(0xcc);

write_b20_byte(0x44);

}

void read_cmd_b20(void)

{

reset_B20();

write_b20_byte(0xcc);

write_b20_byte(0xbe);

}

void data_convert_b20(void)

{

unsigned char a;

unsigned char b;

int point;

a=read_b20_byte();

b=read_b20_byte();

point=(a & 0x0f)*625+500;

tem_pnt=point/1000;

tem_num=a》》4 | b《《4;

if(tem_num & 0x80)

tem_sign=0;

else

tem_sign=1;

}

/*--- TIME FUNCTION-----*/

void times_init(void)

{

times=29;

TMOD=0X01;

TH0=0X3C;

TL0=0XB0;

EA=1;

ET0=1;

TR0=1;

}

void time0(void) interrupt 1

{

if(times==19)

convert_cmd_b20();

else if(times==9)

read_cmd_b20();

else if(times==0)

{

data_convert_b20();

times=29;

}

times--;

TH0=0X3C;

TL0=0XB0;

}

/*---------------------*/

整合自:李天生博客園、CSDN_朱堅強

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • DS18B20
    +關注

    關注

    10

    文章

    782

    瀏覽量

    81727
收藏 人收藏

    評論

    相關推薦

    基于FPGA的DS18B20數字溫度傳感器測溫實例

    本文將使用三段式狀態機(Moore型)的寫法來對DS18B20進行測溫操作,以便了解DS18B20和熟悉三段式狀態機的寫法。
    的頭像 發表于 03-17 11:06 ?977次閱讀
    基于FPGA的<b class='flag-5'>DS18B20</b>數字溫度傳感器測溫實例

    DS18B20實時溫度傳感器中文資料

    DS18B20 是一種單總線數字溫度傳感器,它被廣泛應用于各種領域,例如氣象監測、室內溫度控制、工業自動化等。DS18B20 采用了單總線接口(One-Wire Interface),這意味著可以通過單個引腳與微控制器通信,大大簡化了連接和布線
    發表于 02-28 17:02 ?5次下載

    基于FPGA的溫度傳感器(ds18b20)驅動設計

    本篇主要討論基于FPGA的溫度傳感器(ds18b20)驅動設計---第一版 設計實現:利用FPGA驅動DS18b20,讀取到溫度數值顯示到數碼管上。 首先介紹DS18b20DS18B20
    的頭像 發表于 01-16 14:08 ?753次閱讀
    基于FPGA的溫度傳感器(<b class='flag-5'>ds18b20</b>)驅動設計

    【正點原子STM32H7R3開發套件試用體驗】DS18B20、DHT11溫濕度采集

    DS18B20可以并聯在唯一的三線上,最多只能并聯8個,實現多點測溫,如果數量過多,會使供電電源電壓過低,從而造成信號傳輸的不穩定。 工作電源: 3.0~5.5V/DC (可以數據線寄生電源) 在
    發表于 01-01 11:16

    《DNESP32S3使用指南-IDF版_V1.6》第二十九章 DS18B20實驗

    封裝形式,從而使系統設置靈活、方便,設定分辨率以及用戶設定的報警溫度存儲在EEPROM中,掉電后依然保存。其內部結構如下圖所示。 圖29.1.1.1 DS18B20內部結構圖ROM中的64位序列號是出廠
    發表于 12-25 09:43

    CW32模塊使用 DS18B20溫度傳感器

    DS18B20可以直接從數據線獲得電源(“寄生電源”),消除了每個DS18B20都有一個唯一的64位串行代碼,這允許多個DS18B20在同一條總線上工作。因此,使用一個微處理器來實現
    的頭像 發表于 11-26 17:47 ?497次閱讀
    CW32模塊使用 <b class='flag-5'>DS18B20</b>溫度傳感器

    DS18B20溫度傳感器的工作原理和硬件設計

    通過本文可以了解DS18B20溫度傳感器工作原理、硬件設計、DS18B20單總線接口驅動編寫。
    的頭像 發表于 10-24 14:38 ?6942次閱讀
    <b class='flag-5'>DS18B20</b>溫度傳感器的<b class='flag-5'>工作</b>原理和硬件設計

    ds18b20傳感器的使用方法

    Integrated開發的一種數字溫度傳感器,它能夠提供9位到12位的溫度測量精度,測量范圍從-55°C到+125°C。這種傳感器非常適合用于需要精確溫度控制的應用,如環境監測、工業控制和家用電器。 工作原理 DS18B20傳感器使用一個精密的半導體溫度傳感器,通過內部
    的頭像 發表于 10-18 14:52 ?1931次閱讀

    ds18b20溫度傳感器怎么接線

    DS18B20是一種廣泛使用的數字溫度傳感器,它基于1-Wire(一線)通信協議工作。這種傳感器因其高精度、易用性和低成本而受到歡迎。 DS18B20傳感器引腳介紹 DS18B20有三
    的頭像 發表于 10-18 14:50 ?3087次閱讀

    ds18b20溫度傳感器如何使用

    Devices的一部分)生產的數字溫度傳感器。它能夠提供9位至12位的溫度測量數據,具有高精度和可編程分辨率。DS18B20的溫度測量范圍為-55°C至+125°C,適用于多種環境和應用。 工作
    的頭像 發表于 09-03 16:51 ?1217次閱讀

    ds18b20溫度傳感器是什么類型

    DS18B20溫度傳感器是一種數字溫度傳感器,它屬于單總線(One-Wire)數字溫度傳感器類型。這意味著它僅需要一根數據線(加上電源線和地線,共三根線)就能與微處理器或其他數字電路進行通信。這種
    的頭像 發表于 09-03 16:46 ?1644次閱讀

    ds18b20溫度傳感器和dht11的區別

    DS18B20和DHT11都是常用的溫度和濕度傳感器,它們在許多項目和應用中都有廣泛的應用。 1. 工作原理 DS18B20 DS18B20是一種數字溫度傳感器,它使用1-Wire通信
    的頭像 發表于 09-03 16:44 ?3227次閱讀

    MY18E20、MY1820 與 DS18B20 性能對比表

    MY18E20、MY1820 與 DS18B20 最高測溫精度一樣,都是±0.5℃,M1820Z 最高測溫精度±0.1℃。芯片感溫原理基于 CMOS 半導體 PN節溫度與帶隙電壓的特性關系,經過
    的頭像 發表于 07-29 18:22 ?1290次閱讀
    MY<b class='flag-5'>18E20</b>、MY1820 與 <b class='flag-5'>DS18B20</b> 性能對比表

    STC32和STC8H驅動DS18B20測溫串口發送數據

    STC32G12K128 和 STC8H8K64U 驅動 DS18B20 模塊,采集環境溫度并通過串口發送數據至電腦
    的頭像 發表于 06-27 16:27 ?1230次閱讀
    STC32和STC8H驅動<b class='flag-5'>DS18B20</b>測溫串口發送數據

    DS18B20溫度傳感器工作原理

    DS18B20以其獨特的工作原理、卓越的技術參數和廣泛的應用場景,成為了市場的明星產品。 深入了解DS18B20工作原理 DS18B20
    的頭像 發表于 06-19 16:01 ?1818次閱讀
    主站蜘蛛池模板: 黄色欧美 | 爆操欧美 | 乱肉情欲杂乱小说 | 国产欧美一区二区日本加勒比 | 亚洲男人的天堂在线播放 | 5g影院午夜伴侣 | 最近在线观看免费完整视频 | 四虎影院免费在线 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 深夜视频在线免费观看 | 日本黄色片视频 | 一级毛片q片 | 日本一区二区视频 | 四虎影视最新 | 在线欧美视频免费观看国产 | 成人5252色 | 美女被免费网站在线视频九色 | 色噜噜中文网 | 免费福利影院 | 额去鲁97在线观看视频 | 四虎884 | 蜜色网| 五月综合激情久久婷婷 | 国产福利乳摇在线播放 | 亚洲色图激情 | 日本在线黄色网址 | aaaaaaa欧美黄色大片 | 最近高清在线视频观看免费 | 天天天天射| 亚洲国产一区二区三区在线观看 | 久久综合九色综合欧洲色 | 999精品国产 | 日本暴力喉深到呕吐hd | 天堂网中文在线 | 欧美大香a蕉免费 | 97夜夜澡人人爽人人喊一欧美 | 新版天堂资源中文8在线 | 激情www | 伊人久久大香线蕉综合bd高清 | 在线亚洲日产一区二区 | 狠狠色狠狠色综合久久一 |