性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

18B20溫度匯編程序問題,不能正常讀出溫度,請各位老師幫忙指點.

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
全部回復(12)
正序查看
倒序查看
dxgung
LV.8
2
2009-11-08 19:27
此帖已被刪除
0
回復
dxgung
LV.8
3
2009-11-08 19:34
@dxgung
此帖已被刪除
請各位老師幫我看看,我的復位,讀寫子程度是不是有什么問題?
通過一些測試感覺到復位子程序應該是可以的.現(xiàn)在的溫度顯示是不正常的,所以想請各位老師幫我看看讀寫子程序是不是有什么問題,或者通過什么方法可以判定讀寫子程序是否正常.也就是寫數的時候是否確實正常寫進了18B20,讀數的時候是否確實有讀出正確的數據. 如果需要,我后續(xù)再把溫度處理子程序貼上來.
0
回復
2009-11-10 09:07
@dxgung
請各位老師幫我看看,我的復位,讀寫子程度是不是有什么問題?通過一些測試感覺到復位子程序應該是可以的.現(xiàn)在的溫度顯示是不正常的,所以想請各位老師幫我看看讀寫子程序是不是有什么問題,或者通過什么方法可以判定讀寫子程序是否正常.也就是寫數的時候是否確實正常寫進了18B20,讀數的時候是否確實有讀出正確的數據.如果需要,我后續(xù)再把溫度處理子程序貼上來.
仔細讀一下1820的DATASHEET,還有IIC協(xié)議,看一下你的時序是不是正確,還有
信號時間是否夠長,一般程序出小問題,都是細節(jié)沒注意,祝你早日找到問題.
0
回復
dxgung
LV.8
5
2009-11-11 22:20
@chengkai422
仔細讀一下1820的DATASHEET,還有IIC協(xié)議,看一下你的時序是不是正確,還有信號時間是否夠長,一般程序出小問題,都是細節(jié)沒注意,祝你早日找到問題.
非常感謝您的指點!
感覺到各個時序要求都和18B20的要求相符,但結果就是不正常,也不知道到底哪里出了問題,能幫我看看嗎?
0
回復
2009-11-12 09:00
@dxgung
非常感謝您的指點!感覺到各個時序要求都和18B20的要求相符,但結果就是不正常,也不知道到底哪里出了問題,能幫我看看嗎?
其實我沒有用過1820,只是之前看過51的書上有提過這個IC的用法,大概了解而已,指點談不上.
建議先檢查硬件線路,如果軟件查不到問題,就先檢查硬件吧,不然你會兩頭冒泡的.
0
回復
dxgung
LV.8
7
2009-11-12 21:31
@chengkai422
其實我沒有用過1820,只是之前看過51的書上有提過這個IC的用法,大概了解而已,指點談不上.建議先檢查硬件線路,如果軟件查不到問題,就先檢查硬件吧,不然你會兩頭冒泡的.
硬件是可以的.有另一個C程序能正常工作顯示溫度. 我想用匯編做出來,自己感覺到時序和邏輯同C一樣,也看過多次18B20的資料,感覺時序也對得上,但就是做出來的結果不對.不知道程序問題到底出在哪里?
0
回復
xing1234
LV.6
8
2009-11-13 10:32
@dxgung
硬件是可以的.有另一個C程序能正常工作顯示溫度.我想用匯編做出來,自己感覺到時序和邏輯同C一樣,也看過多次18B20的資料,感覺時序也對得上,但就是做出來的結果不對.不知道程序問題到底出在哪里?
18B20在網上的資料很多,通信對時序的要求很高,要搞一陣才行,簡單點的辦法是用示波器調你的延遲時間,一定要弄好,再一個是回路不能有電容,另上拉電流要足,否則低電平回到高電平的時間不好.慢慢來,用51還好點,用PIC更累
0
回復
dxgung
LV.8
9
2009-11-13 20:19
@xing1234
18B20在網上的資料很多,通信對時序的要求很高,要搞一陣才行,簡單點的辦法是用示波器調你的延遲時間,一定要弄好,再一個是回路不能有電容,另上拉電流要足,否則低電平回到高電平的時間不好.慢慢來,用51還好點,用PIC更累
我是在一個學習板上弄的,有配套過來的18B20的程序是可以的.不過它是C語言的.我就按C的編程用匯編完全復制過來,比如C程序那里是多長時間我的匯編程序相應地方就弄多長時間,而且感覺也是18B20資料上的時序對得上,但結果就是不行.也不知道具體是我哪里弄錯了.
0
回復
chengkai422
LV.6
10
2009-11-14 10:13
@dxgung
我是在一個學習板上弄的,有配套過來的18B20的程序是可以的.不過它是C語言的.我就按C的編程用匯編完全復制過來,比如C程序那里是多長時間我的匯編程序相應地方就弄多長時間,而且感覺也是18B20資料上的時序對得上,但結果就是不行.也不知道具體是我哪里弄錯了.
告訴你一個笨辦法,C語言編譯成機器碼之前會轉成匯編代碼,你可以通過編譯環(huán)境看一下這個匯編程序.
0
回復
dxgung
LV.8
11
2009-11-15 11:36
@chengkai422
告訴你一個笨辦法,C語言編譯成機器碼之前會轉成匯編代碼,你可以通過編譯環(huán)境看一下這個匯編程序.
非常感謝您的指點.
感覺到這到時是一個好辦法,不過能說具體一點嗎: 如何通過編譯環(huán)境看到這個匯編程序?期待您的更多的指點.
0
回復
ddmushroom
LV.4
12
2009-12-12 16:02
@dxgung
我是在一個學習板上弄的,有配套過來的18B20的程序是可以的.不過它是C語言的.我就按C的編程用匯編完全復制過來,比如C程序那里是多長時間我的匯編程序相應地方就弄多長時間,而且感覺也是18B20資料上的時序對得上,但結果就是不行.也不知道具體是我哪里弄錯了.
18B20的匯編程序網上直接就有啊

我以前用過,不喜歡這個,太慢,占時間.還不如用AD口直接采熱敏電阻,測溫范圍不大的話精度照樣很高
0
回復
dxgung
LV.8
13
2009-12-12 23:15
@ddmushroom
18B20的匯編程序網上直接就有啊我以前用過,不喜歡這個,太慢,占時間.還不如用AD口直接采熱敏電阻,測溫范圍不大的話精度照樣很高
感謝對我的問題的關注,到現(xiàn)在為止那個能把溫度讀出來出來了.不過偶爾出現(xiàn)讀取的數據錯誤的問題.能幫我看看這個問題嗎?就是AD轉換顯示的問題.
http://bbs.dianyuan.com/topic/539649
0
回復
發(fā)