chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

DS18B20的組成以及工作過程

ss ? 來源:李天生博客園、CSDN_朱堅強 ? 作者:李天生博客園、 ? 2021-07-08 09:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

DS18B20的工作過程:

1.復位操作

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

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

4.讀取溫度數(shù)據(jù):主機讀取溫度數(shù)據(jù)后進行數(shù)據(jù)處理。

應用實例

數(shù)字電子溫度計

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

程序:

#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};//共陽極數(shù)碼管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

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

    關注

    10

    文章

    782

    瀏覽量

    83497
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    探索DS1868B雙數(shù)字電位器:性能、應用與設計要點

    探索DS1868B雙數(shù)字電位器:性能、應用與設計要點 在電子工程師的日常設計工作中,數(shù)字電位器是一種非常實用的元件,它能夠實現(xiàn)對電阻值的精確控制,為電路設計帶來了極大的靈活性。今天,我們就來深入
    的頭像 發(fā)表于 04-17 11:15 ?105次閱讀

    onsemi N溝道MOSFET:FDPF18N20FT與FDP18N20F的技術剖析

    onsemi N溝道MOSFET:FDPF18N20FT與FDP18N20F的技術剖析 在電子工程師的日常設計中,MOSFET(金屬 - 氧化物 - 半導體場效應晶體管)是不可或缺的元件,它廣泛應用
    的頭像 發(fā)表于 04-15 09:40 ?379次閱讀

    PIC18FXX20系列閃存微控制器編程全解析

    PIC18FXX20系列閃存微控制器編程全解析 在電子設計領域,微控制器的編程是一項基礎且關鍵的工作。今天我們聚焦Microchip的PIC18FXX20系列閃存微控制器,深入探討其編程規(guī)范和相關
    的頭像 發(fā)表于 04-08 10:55 ?174次閱讀

    DS92LV1818位總線LVDS串行器/解串器的深度解析

    DS92LV1818位總線LVDS串行器/解串器的深度解析 在電子設計領域,數(shù)據(jù)傳輸?shù)母咝院头€(wěn)定性一直是工程師們關注的重點。TI推出的DS92LV18 18位總線LVDS串行器/解
    的頭像 發(fā)表于 12-30 10:05 ?443次閱讀

    CW32F003怎樣延時1微秒?

    CW32F003怎樣延時1微秒,DS18B20,DHT11需要使用
    發(fā)表于 12-30 07:19

    探索DS90C363B:高性能LVDS發(fā)射器的卓越之選

    +3.3V 可編程LVDS發(fā)射器,專為18位平板顯示器(FPD)鏈接設計,最高支持65 MHz的工作頻率。 文件下載: ds90c363b.pdf 一、DS90C363B的特性亮點
    的頭像 發(fā)表于 12-29 17:00 ?1280次閱讀

    探索DS90CF363B:一款強大的LVDS發(fā)射器

    ——DS90CF363B,它專為 18 位平板顯示器(FPD)鏈路設計,最高支持 65MHz 頻率,能為電子工程師們帶來諸多便利和優(yōu)勢。 文件下載: ds90cf363b.pdf 一、DS90
    的頭像 發(fā)表于 12-29 15:55 ?1312次閱讀

    CW32L031嘀嗒定時器怎樣定時1us?

    CW32L031嘀嗒定時器 怎樣定時1us,以便DS18B20,DHT11使用。提供一下代碼
    發(fā)表于 12-10 07:40

    請問CW32F003內部上拉電阻是多少?

    最近在調試DS18B20,用寄生電源,所以需要上拉電阻,如果不接外部上拉電阻,芯片內部的上拉電阻可以不?
    發(fā)表于 11-21 06:15

    要做一個DS18B20的讀取程序,單總線需要配置為輸入或者輸出,怎么配置好?

    目前要做一個DS18B20的讀取程序,單總線需要配置為輸入或者輸出。怎么配置好
    發(fā)表于 11-18 06:30

    使用18b20軟件包報錯怎么解決?

    In file included from ../packages/ds18b20-latest/src/dallas_ds18b20_sensor_v1.c:12:0: C
    發(fā)表于 10-14 06:49

    STM32項目分享:礦井環(huán)境監(jiān)測系統(tǒng)

    01—項目簡介1.功能詳解STM32礦井環(huán)境監(jiān)測系統(tǒng)功能如下:STM32F103C8T6單片機作為主控制器DS18B20測量環(huán)境溫度
    的頭像 發(fā)表于 08-16 10:03 ?1091次閱讀
    STM32項目分享:礦井環(huán)境監(jiān)測系統(tǒng)

    低頻段 LNA 前端模塊(B26/B5/B18/B19、B8、B20、B12/13/17、B28A、B28BB29) skyworksinc

    電子發(fā)燒友網為你提供()低頻段 LNA 前端模塊(B26/B5/B18/B19、B8、B20、
    發(fā)表于 06-27 18:32
    低頻段 LNA 前端模塊(<b class='flag-5'>B</b>26/<b class='flag-5'>B</b>5/<b class='flag-5'>B18</b>/<b class='flag-5'>B</b>19、<b class='flag-5'>B</b>8、<b class='flag-5'>B20</b>、<b class='flag-5'>B</b>12/13/17、<b class='flag-5'>B</b>28A、<b class='flag-5'>B28B</b> 和 <b class='flag-5'>B</b>29) skyworksinc

    單片機實例項目:DS18B20溫度傳感器

    單片機實例項目:DS18B20溫度傳感器,推薦下載!
    發(fā)表于 06-03 20:59

    晶科能源受邀擔任B20南非工業(yè)轉型與創(chuàng)新工作組聯(lián)席主席

    日前,作為唯一光伏企業(yè),晶科能源受邀擔任B20南非“工業(yè)轉型與創(chuàng)新工作組”的聯(lián)席主席。B20是G20的官方工商論壇,匯集了全球工商界在塑造國際經濟政策方面的建言獻策,以推動可持續(xù)和包容
    的頭像 發(fā)表于 04-21 17:44 ?905次閱讀