1樓:樹袋熊
正好我以前寫過ds18b20的程式,現在共享給你。
我的微控制器頻率是8m,如果你的頻率不同,請自己計算後把延時引數修改一下就可以了。
ds1820溫度感測器單線匯流排讀時間片
read: push r24
in r24,sreg
push r24
ldi r22,$ff
clr r23
out portb,r22 ;升高單線匯流排out ddrb,r22 ;b口為輸出口
out portb,r23 ;拉低單線匯流排ldi r24,$05
read1: dec r24
brne read1 ;延遲10個時鐘週期(大約1.25微秒)out ddrb,r23 ;b口為輸入口
ldi r24,$30
read2: dec r24
brne read2 ;延遲96個時鐘週期(大約12微秒)in r21,pinb ;讀單線匯流排
ldi r24,$c8
read3: dec r24
brne read3 ;延遲400個時鐘週期(大約50微秒)pop r24
out sreg,r24
pop r24
retds1820溫度感測器單線匯流排寫0時間片
write0: push r24
in r24,sreg
push r24
ldi r22,$ff
clr r23
out portb,r22 ;升高單線匯流排out ddrb,r22 ;b口為輸出口
out portb,r23 ;拉低單線匯流排clr r24
wr0j1: dec r24
dec r24
nopnop
brne wr0j1 ;延遲640個時鐘週期(大約80微秒)out portb,r22 ;升高單線匯流排ldi r24,$07
wr0j2: dec r24
brne wr0j2 ;延遲14個時鐘週期(大約1.75微秒)out ddrb,r23 ;b口為輸入口
pop r24
out sreg,r24
pop r24
retds1820溫度感測器單線匯流排寫1時間片
write1: push r24
in r24,sreg
push r24
ldi r22,$ff
clr r23
out portb,r22 ;升高單線匯流排out ddrb,r22 ;b口為輸出口
out portb,r23 ;拉低單線匯流排ldi r24,$07
wr1j1: dec r24
brne wr1j1 ;延遲14個時鐘週期(大約1.75微秒)out portb,r22 ;升高單線匯流排clr r24
wr1j2: dec r24
dec r24
nopnop
brne wr1j2 ;延遲640個時鐘週期(大約80微秒)out ddrb,r23 ;b口為輸入口
pop r24
out sreg,r24
pop r24ret
2樓:蕭竹夜
我來回答:基本上是這樣的,可以用**器讀取每一個18b20的序列號.也可以單獨找一塊有數碼管或液晶顯示的板子,專門燒個**讀序列號,然後顯示出來,玩微控制器的人這種板子肯定會有吧,沒有的話焊一塊出來也很快.
如果有興趣的話還可以把讀序列號的子程式融合到你測量溫度的主程式中.條件:微控制器內含有或板上有eeprom.
方法:設一個i/o口跳線,可臨時將i/o口置高電平或低電平(實際上接個按鈕也行),主程式一開始就讀這個i/o口,低電平就讀序列號,並將序列號寫入eeprom(當然18b20每次只能接一個讀取,多個18b20可分次讀取,存入eeprom不同的地址),如果高電平就執行測量溫度的程式,序列號從eeprom中獲取.這種方法比較麻煩,但可提高系統的可維護性,做好了就一勞永逸,否則一旦某個18b20損壞更換,就必須依賴**器讀序列號,還要到主程中修改,再用程式設計器重新燒**.
6432希望對你有用!
空調溫度感測器故障檢修,空調溫度感測器故障常規維修方法
故障現象 空調製熱效果差,風速始終很低。原因分析 上門檢查,開機制熱,風速很低,出風口很熱,轉換空調模式,在製冷和送風模式下風速可高 低調整,高 低風速明顯,證明風扇電機正常,懷疑室內管溫感測器特性改變。解決措施 更換室內管溫感測器後試機一切正常。經驗總經 空調製熱時,由於有防冷風功能,室內溫感測器...
溫度感測器和溫控器是不是東西,溫度感測器和溫控器是不是一個東西
1 氧感測器 當氧感測器故障時,ecu無法獲取這些資訊,就不知道噴射的汽油量是否正確,而不合適的油氣空燃比會導致發動機功率降低,增加排放汙染 2 輪速感測器 它主要是收集汽車的轉速來判斷汽車有沒有打滑的徵兆,所以,就有一一個專門收集汽車輪速的感測器來完成這項工作,一般安裝在每個車輪的輪轂上,而一旦感...
為什麼要在感測器上連線上拉電阻,ds18b20為什麼要上拉電阻
如是電阻變化的感測器,為克服干擾和線性度需要恆流時,通常是附加3個電阻和感測器形成電回橋,附加到上電源答的兩個電阻叫上拉電阻,一般上拉電阻遠大於感測器電阻,當感測器變化時,該路電流變化不大,下拉電阻一般接近感測器電阻的零點位的阻值,同時上拉電阻也為感測器提供電源,對稱的電阻用來調節直流平衡零點.你在...