强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 廠商 > 知識 > 18b20,18B20這個溫度傳感器工作原理究竟是怎么樣的呢答案要簡潔明了

18b20,18B20這個溫度傳感器工作原理究竟是怎么樣的呢答案要簡潔明了

來源:整理 時間:2023-08-25 07:45:40 編輯:智能門戶 手機版

本文目錄一覽

1,18B20這個溫度傳感器工作原理究竟是怎么樣的呢答案要簡潔明了

18B20采用的是半導(dǎo)體測溫。經(jīng)過傳感器內(nèi)部的電路直接將溫度變換成數(shù)字信號。單片機經(jīng)過傳感器上的單線總線對傳感器進行設(shè)定和測量。傳感器的分辨率為0.0625℃,測量精度±0.5℃(-30~+50℃)。由于輸出數(shù)字信號,在傳輸過程中不會損失精度。
半導(dǎo)體形式的...

18B20這個溫度傳感器工作原理究竟是怎么樣的呢答案要簡潔明了

2,18B20初始化是否成功

/* ==== 18b20復(fù)位子程序==== */void b20init() uchar temp; DQ=0; delay(60); //總機拉低超過480us以上,初始化總時間不超過960us。此處拉低556us(調(diào)試時顯示此值) DQ=1;//釋放總線后,以便從機18b20通過拉低總線來指示其是否在線, delay(3); //存在檢測高電平時間:15~60us,此處拉低43us(調(diào)試時顯示此值) temp=DQ; if (temp==0) //如果總線被拉低,則表示B20應(yīng)答了 flag=1; else flag=0; //否則表示未聯(lián)系成功 delay(10); //在60--240us之內(nèi),18B20應(yīng)該做出反應(yīng),并將總線置為0,此處拉低106us(調(diào)試時顯示此值) DQ=1; //再次拉高總線,讓總線處于空閑狀態(tài) }

18B20初始化是否成功

3,DS18B20 報警

將數(shù)據(jù)寫入TH和TL,18B20會和主機有個互動。用蜂鳴器也是一種方法。
只是方便而已,其實沒什么用,DATASHEET都說了這兩個寄存器可以當(dāng)用戶存儲器用的,就看你用不用了
ds18b20只是一個測溫元件,所謂的報警功能要通過程序由單片機來實現(xiàn)。 ds18b20溫度傳感器的內(nèi)部存儲器包括一個高速暫存ram和一個非易失性的可電擦除的eeram。高速暫存ram的結(jié)構(gòu)為8字節(jié)的存儲器,頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)th(報警溫度上限)和tl(報警溫度下限)的拷貝。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。第6、7、8字節(jié)保留未用。 要實現(xiàn)報警,完成溫度轉(zhuǎn)換后,就把測得的溫度值與ram中的th、tl字節(jié)內(nèi)容作比較(當(dāng)然要自己編程序)。若t>th或t<tl,則將報警標志位置位,然后單片機通過一端口連接一個led或者蜂鳴器來實現(xiàn)報警......

DS18B20 報警

4,18b20初始化程序解釋

其實你的程序的注釋寫的已經(jīng)很清楚了。首先需要明確的是,ds18B20作為單總線器件,它對時序要求比較高,否則是不能正常工作的。至于你問的程序注釋,我說過了,本身寫的已經(jīng)很清楚了,大沒有在去解釋的必要。估計你有這樣的問題,是本身對ds18b20的數(shù)據(jù)手冊還不是很清楚,建議自己看看他的資料和用法,先把時序和一些概念搞清楚就好了。至于你問的while(--delay);這句程序,意思就是只要“--delay”非零(while語句非零即為真),那程序就會停到這里一直執(zhí)行,執(zhí)行一次delay減1,直到--delay最后變成0。然后程序才能跳到下一句去執(zhí)行。本身這個地方很好理解的,看來你的c語言還有待在看看。不過也沒事,程序?qū)懚嗔俗匀贿@些東西就明白了。最后給你舉個例子吧,比如程序前面給delay賦值為5,那么while(--delay)這句程序會執(zhí)行5次,第一次while(4),第二次while(3),while(2),while(1),最后成了while(0),到了這時候,while(0)為假,程序就不執(zhí)行了,然后就轉(zhuǎn)到了下面。這樣你應(yīng)該就明白了,就是讓程序在while這個地方循環(huán)多執(zhí)行幾次,起到一個延時的作用。

5,單片機匯編語言18B20程序設(shè)計說明

寫的程序: ;-------------------寫DS18B20的程序 WRITE_1820: ;子程序名稱 MOV R2,#8 ; CLR C ;清零進位標志位 WR1: CLR DQ ;拉低18b20總線 MOV R3,#6 ;延時 DJNZ R3,$ RRC A ;帶進位循環(huán)右移一次累加器A,即把最低位移到C MOV DQ,C;把C送到DQ輸出 MOV R3,#23 ;延時 DJNZ R3,$ SETB DQ ;拉高總線 NOP ;延時 DJNZ R2,WR1;循環(huán)8次,即可把A一位一位的通過DQ寫入18b20 SETB DQ ;拉高總線 RET ;返回 讀的程序: ;-------------------讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數(shù)據(jù) READ_18200: MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出 MOV R1,#36H ; 低位存入36H(TEMPER_L),高位存入35H(TEMPER_H) RE00: MOV R2,#8 RE01: CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3,#7 DJNZ R3,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET

6,單片機溫度傳感器18b20這個寫數(shù)據(jù)怎么完全看不懂

時序就是時間序列,每一步都有固定要求,滿足這個要求,單總線能正確通信,反之就不能。你看圖的下面,寫0和寫1時18B20的時間特征是一樣的,也就是說如果你的輸出電平小于60us或者大于120us,18B20就不能正確接收你的數(shù)據(jù)。
;這是關(guān)于ds18b20的讀寫程序,數(shù)據(jù)腳p2.2,晶振12mhz ;溫度傳感器18b20匯編程序,采用器件默認的12位轉(zhuǎn)化,最大轉(zhuǎn)化時間750微秒 ;可以將檢測到的溫度直接顯示到at89c51開發(fā)實驗板的兩個數(shù)碼管上 ;顯示溫度00到99度,很準確哦~~無需校正! org 0000h ;單片機內(nèi)存分配申明! temper_l equ 29h;用于保存讀出溫度的低8位 temper_h equ 28h;用于保存讀出溫度的高8位 flag1 equ 38h;是否檢測到ds18b20標志位 a_bit equ 20h ;數(shù)碼管個位數(shù)存放內(nèi)存位置 b_bit equ 21h ;數(shù)碼管十位數(shù)存放內(nèi)存位置 temp_th equmain: lcall get_temper;調(diào)用讀溫度子程序 ,顯示范圍00到99度,顯示精度為1度 ;因為12位轉(zhuǎn)化時每一位的精度為0.0625度,我們不要求顯示小數(shù)所以可以拋棄29h的低4位 ;將28h中的低4位移入29h中的高4位,這樣獲得一個新字節(jié),這個字節(jié)就是實際測量獲得的溫度 mov a,29h mov c,40h;將28h中的最低位移入c rrc a mov c,41h rrc a mov c,42h rrc a mov c,43h rrc a mov 29h,a lcall display ;調(diào)用數(shù)碼管顯示子程序 cpl p1.0 ajmp main ; 這是ds18b20復(fù)位初始化子程序 init_1820: setb p3.5 nop clr p3.5 ;主機發(fā)出延時537微秒的復(fù)位低脈沖 mov r1,#3 tsr1:mov r0,#107 djnz r0,$ djnz r1,tsr1 setb p3.5 ;然后拉高數(shù)據(jù)線 nop nop nop mov r0,#25h tsr2: jnb p3.5,tsr3 ;等待ds18b20回應(yīng) djnz r0,tsr2 ljmp tsr4 ; 延時 tsr3: setb flag1 ; 置標志位,表示ds1820存在 clr p1.7 ;檢查到ds18b20就點亮p1.7led ljmp tsr5 tsr4: clr flag1 ; 清標志位,表示ds1820不存在 clr p1.1 ;點亮p1。1腳led表示溫度傳感器通信失敗 ljmp tsr7 tsr5: mov r0,#117 tsr6: djnz r0,tsr6 ; 時序要求延時一段時間 tsr7: setb p3.5 ret ; 讀出轉(zhuǎn)換后的溫度值 get_temper: setb p3.5 lcall init_1820 ;先復(fù)位ds18b20 jb flag1,tss2 clr p1.2 ret ; 判斷ds1820是否存在?若ds18b20不存在則返回 tss2: clr p1.3 ;ds18b20已經(jīng)被檢測到!!!!!!!!!!!!!!!!!! mov a,#0cch lcall write_1820 mov a,#44h ;發(fā)出溫度轉(zhuǎn)換命令 lcall write_1820 ;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間,等待ad轉(zhuǎn)換結(jié)束,12位的話750微秒 lcall display lcall init_1820 ;準備讀溫度前先復(fù)位 mov a,#0cch ; 跳過rom匹配 lcall write_1820 mov a,#0beh ; 發(fā)出讀溫度命令 lcall write_1820 lcall read_18200; 將讀出的溫度數(shù)據(jù)保存到35h/36h clr p1.4 ret ;寫ds18b20的子程序(有具體的時序要求) write_1820: mov r2,#8;一共8位數(shù)據(jù) clr c wr1: clr p3.5 mov r3,#6 djnz r3,$ rrc a mov p3.5,c mov r3,#23 djnz r3,$ setb p3.5 nop djnz r2,wr1 setb p3.5 ret ; 讀ds18b20的程序,從ds18b20中讀出兩個字節(jié)的溫度數(shù)據(jù) read_18200: mov r4,#2 ; 將溫度高位和低位從ds18b20中讀出 mov r1,#29h ; 低位存入29h(temper_l),高位存入28h(temper_h) re00: mov r2,#8;數(shù)據(jù)一共有8位 re01: clr c setb p3.5 nop nop clr p3.5 nop nop nop setb p3.5 mov r3,#9 re10: djnz r3,re10 mov c,p3.5 mov r3,#23 re20: djnz r3,re20 rrc a djnz r2,re01 mov @r1,a dec r1 djnz r4,re00 ret ;顯示子程序 display: mov a,29h;將29h中的十六進制數(shù)轉(zhuǎn)換成10進制 mov b,#10 ;10進制/10=10進制 div ab mov b_bit,a ;十位在a mov a_bit,b ;個位在b mov dptr,#numtab ;指定查表啟始地址 mov r0,#4 dpl1: mov r1,#250 ;顯示1000次 dplop: mov a,a_bit ;取個位數(shù) movc a,@a+dptr ;查個位數(shù)的7段代碼 mov p1,a ;送出個位的7段代碼 setb p2.0 ;開個位顯示 acall d1ms ;顯示1ms clr p2.0 mov a,b_bit ;取十位數(shù) movc a,@a+dptr ;查十位數(shù)的7段代碼 mov p1,a ;送出十位的7段代碼 setb p2.1 ;開十位顯示 acall d1ms ;顯示1ms clr p2.1 djnz r1,dplop ;100次沒完循環(huán) djnz r0,dpl1 ;4個100次沒完循環(huán) ret ;1ms延時(按12mhz算) d1ms: mov r7,#80 djnz r7,$ ret numtab: ;數(shù)碼管共陽極0~9代碼 db 0c0h,0f9h,0a4h,0b0h,99h, 92h,82h,0f8h,80h,90hend 感覺對你有用就賞分吧~
文章TAG:18b2018B20這個溫度傳感器工作原理究竟是怎么樣的呢答案要簡潔明了

最近更新

  • 雙控開關(guān)怎么接,雙控開關(guān)的電路在實際接線中是怎樣接的呢雙控開關(guān)怎么接,雙控開關(guān)的電路在實際接線中是怎樣接的呢

    雙控開關(guān)的電路在實際接線中是怎樣接的呢2,雙控開關(guān)的連接方法是什么3,雙控?zé)粼鯓咏泳€4,雙控開關(guān)有幾種接法是什么5,雙聯(lián)開關(guān)如何接線6,雙控開關(guān)有幾種接法怎么接雙控開關(guān)1,雙控開關(guān)的電路在.....

    知識 日期:2023-08-25

  • 手機系統(tǒng)有哪些,詳解現(xiàn)在三大手機操作系統(tǒng)手機系統(tǒng)有哪些,詳解現(xiàn)在三大手機操作系統(tǒng)

    詳解現(xiàn)在三大手機操作系統(tǒng)2,智能手機有多少種操作系統(tǒng)3,常見智能手機操作系統(tǒng)為哪些4,手機的操作系統(tǒng)是指什么有那些5,世界上著名的手機操作系統(tǒng)有哪些啊6,智能手機分為幾大操作系統(tǒng)1,詳解現(xiàn).....

    知識 日期:2023-08-25

  • ipad3參數(shù),ipad2和ipad3參數(shù)對比有什么區(qū)別ipad3參數(shù),ipad2和ipad3參數(shù)對比有什么區(qū)別

    ipad2和ipad3參數(shù)對比有什么區(qū)別2,蘋果Ipad3大概什么配置3,IPAD3的像素是多少幾百萬的4,IPAD3具體尺寸是多少5,ipad3屏幕尺寸是多少6,ipad3的尺寸是多少還有IPADMINI的尺寸是多少知道的告訴.....

    知識 日期:2023-08-25

  • RC電路,RC電路什么是RC電路RC電路介紹RC電路,RC電路什么是RC電路RC電路介紹

    RC電路什么是RC電路RC電路介紹2,什么是Rc濾波電路什么作用求解釋3,什么是RC電路4,什么是RC電路呢5,什么是RC電路原理是什么6,RC電路有什么用1,RC電路什么是RC電路RC電路介紹電路中含有電阻和.....

    知識 日期:2023-08-25

  • 攝像機標定,攝像機為什么要標定希望知道的人能給說說攝像機標定,攝像機為什么要標定希望知道的人能給說說

    攝像機為什么要標定希望知道的人能給說說2,單目攝像機標定與雙目攝像機標定有什么區(qū)別3,什么是CCD攝像機參數(shù)的標定4,相機標定的簡介5,完整的攝像機標定分為哪幾部步驟6,求教opencv攝像機標.....

    知識 日期:2023-08-25

  • 換流變壓器,換流變壓器有什么作用換流變壓器,換流變壓器有什么作用

    換流變壓器有什么作用2,換流變壓器有哪些形式3,換流變壓器是油浸變壓器嗎4,換流器跟變壓器有什么不同5,換流變壓器的簡介6,直流輸電中的換流變壓器與普通變壓器相比有什么特點1,換流變壓器有.....

    知識 日期:2023-08-25

  • 對講機的用法,對講機怎么用對講機的用法,對講機怎么用

    對講機怎么用2,全國聯(lián)網(wǎng)對講機使用方法3,請問對講機怎么使用還有哪個鍵的用處謝謝4,求助怎么使用對講機5,對講機使用技巧6,對講機怎么用啊1,對講機怎么用頻道配對一下就可以!2,全國聯(lián)網(wǎng)對講機.....

    知識 日期:2023-08-25

  • tf卡數(shù)據(jù)恢復(fù)工具,手機tf卡數(shù)據(jù)恢復(fù)tf卡數(shù)據(jù)恢復(fù)工具,手機tf卡數(shù)據(jù)恢復(fù)

    tf卡格式數(shù)據(jù)What恢復(fù)?秘密TF卡數(shù)據(jù)如何丟失恢復(fù)TF卡-3恢復(fù)需要專業(yè)軟件來做。TF卡數(shù)據(jù)丟失后,不要在其中存儲任何新的數(shù)據(jù)以免數(shù)據(jù)被覆蓋;常用的-3恢復(fù)軟件有minitool數(shù)據(jù)-2工具、easyre.....

    知識 日期:2023-08-25