DELAY10US:
NOP
NOP
NOP
NOP
NOP
NOP
RET
RES1820:SETB DQ ;復位1820
NOP
MOV R4,#45 ;拉低540uS 45*12=540
CLR DQ
D1: LCALL DELAY10US
DJNZ R4,D1
SETB DQ
MOV R4,#20 ;等應答脈沖280uS
D2: LCALL DELAY10US
JNB DQ,RES_OK
DJNZ R4,D2
MOV R0,#0
RET
RES_OK: MOV R4,#40 ;復位OK,延時480uS
D3: LCALL DELAY10US
DJNZ R4,D3
MOV R0,#1
SETB DQ
RET
18B20溫度匯編程序問題,不能正常讀出溫度,請各位老師幫忙指點.
全部回復(12)
正序查看
倒序查看
@dxgung
請各位老師幫我看看,我的復位,讀寫子程度是不是有什么問題?通過一些測試感覺到復位子程序應該是可以的.現(xiàn)在的溫度顯示是不正常的,所以想請各位老師幫我看看讀寫子程序是不是有什么問題,或者通過什么方法可以判定讀寫子程序是否正常.也就是寫數的時候是否確實正常寫進了18B20,讀數的時候是否確實有讀出正確的數據.如果需要,我后續(xù)再把溫度處理子程序貼上來.
仔細讀一下1820的DATASHEET,還有IIC協(xié)議,看一下你的時序是不是正確,還有
信號時間是否夠長,一般程序出小問題,都是細節(jié)沒注意,祝你早日找到問題.
信號時間是否夠長,一般程序出小問題,都是細節(jié)沒注意,祝你早日找到問題.
0
回復