?? ds18b20.asm
字號:
;|----------------------------------------------------------------------------|
;| 讀出ds1820序列號應用程序,DQ接ds1820 |
;|----------------------------------------------------------------------------|
DQ EQU P0.2
MAIN:
MOV SP,#60H
CLR EA ;使用ds1820一定要禁止任何中斷產生
LCALL INT ;初始化ds1820
MOV A,#33H
LCALL WRITE ;送入讀ds1820的ROM命令
LCALL READ ;開始讀出當前ds1820序列號
MOV 40H,A
LCALL READ
MOV 41H,A
LCALL READ
MOV 42H,A
LCALL READ
MOV 43H,A
LCALL READ
MOV 44H,A
LCALL READ
MOV 45H,A
LCALL READ
MOV 46H,A
LCALL READ
MOV 47H,A
SETB EA
SJMP $
轉換和讀取
;|----------------------------------------------------------------------------------------------|
;| 獲取單個ds1820轉化的溫度值的應用程序,DQ接ds1820 |
;|----------------------------------------------------------------------------------------------|
GET_TEMP:
CLR PSW.4
SETB PSW.3 ;設置工作寄存器當前所在的區域
CLR EA ;使用ds1820一定要禁止任何中斷產生
LCALL INT ;調用初使化子程序
MOV A,#0CCH
LCALL WRITE ;送入跳過ROM命令
MOV A, #44H
LCALL WRITE ;送入溫度轉換命令
LCALL INT ;溫度轉換完全,再次初使化ds1820
MOV A,#0CCH
LCALL WRITE ;送入跳過ROM命令
MOV A,#0BEH
LCALL WRITE ;送入讀溫度暫存器命令
LCALL READ
MOV R7,A ;讀出溫度值低字節存入R7
LCALL READ
MOV R6,A ;讀出謾度值高字節存入R6
SETB EA
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -