?? ds18b20xu.lst
字號:
A51 MACRO ASSEMBLER DS18B20XU 03/21/2008 22:15:03 PAGE 1
MACRO ASSEMBLER A51 V7.10
NO OBJECT MODULE REQUESTED
ASSEMBLER INVOKED BY: D:\C51\BIN\A51.EXE ds18b20xu.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;|--------------------------------------------------|
2 ;| 讀出ds1820序列號應用程序,P1.0接ds1820 |
3 ;|--------------------------------------------------|
0000 4 ORG 0000H
0000 0120 5 AJMP MAIN
0020 6 ORG 0020H
7 ;===========================================================
0020 758160 8 MAIN: MOV SP,#60H
0023 C2AF 9 CLR EA ;使用ds1820一定要禁止任何中斷產生
0025 120063 10 LCALL INT ;初始化ds1820
0028 7433 11 MOV A,#33H
002A 120083 12 LCALL WRITE ;送入讀ds1820的ROM命令
002D 120097 13 LCALL READ ;開始讀出當前ds1820序列號
0030 F540 14 MOV 40H,A
0032 120097 15 LCALL READ
0035 F541 16 MOV 41H,A
0037 120097 17 LCALL READ
003A F542 18 MOV 42H,A
003C 120097 19 LCALL READ
003F F543 20 MOV 43H,A
0041 120097 21 LCALL READ
0044 F544 22 MOV 44H,A
0046 120097 23 LCALL READ
0049 F545 24 MOV 45H,A
004B 120097 25 LCALL READ
004E F546 26 MOV 46H,A
0050 120097 27 LCALL READ
0053 F547 28 MOV 47H,A
0055 120097 29 LCALL READ
0058 F548 30 MOV 48H,A
005A 120097 31 LCALL READ
005D F549 32 MOV 49H,A
005F D2AF 33 SETB EA
0061 80FE 34 SJMP $
35 ;===========================================================
0063 C2AF 36 INT: CLR EA ;初始化ds1820子程序
0065 C290 37 L0: CLR P1.0 ;ds1820總線為低復位電平
0067 7AC8 38 MOV R2,#200
0069 C290 39 L1: CLR P1.0
006B DAFC 40 DJNZ R2,L1 ;總線復位電平保持400us
006D D290 41 SETB P1.0 ;釋放ds1820總線
006F 7A1E 42 MOV R2,#30
0071 43 L4: JNZ R2,L4 ;釋放ds1820總線保持60us
*** ____________________________________________________^
*** _____________________________________________________^
*** ERROR #A9 IN 43 (ds18b20xu.asm, LINE 43): SYNTAX ERROR
*** ERROR #A9 IN 43 (ds18b20xu.asm, LINE 43): SYNTAX ERROR
0071 C3 44 CLR C ;清存在信號(存在C=1,不存在c=0)
0072 7290 45 ORL C,P1.0
0074 40EF 46 JC L0 ;存在嗎?不存在則重新來
0076 7E50 47 MOV R6,#80
0078 7290 48 L5: ORL C,P1.0
007A 4004 49 JC L3
007C DEFA 50 DJNZ R6,L5
007E 80E5 51 SJMP L0
0080 7AF0 52 L3: MOV R2,#240
0082 53 L2: JNZ R2,L2
*** __________________________________^
A51 MACRO ASSEMBLER DS18B20XU 03/21/2008 22:15:03 PAGE 2
*** ERROR #A38 IN 53 (ds18b20xu.asm, LINE 53): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
0082 22 54 RET
55 ;===========================================================
0083 C2AF 56 WRITE: CLR EA ;向ds1820寫操作命令子程序
0085 7B08 57 MOV R3,#8 ;寫入ds1820的bit
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -