📄 18b20.lst
字号:
A51 MACRO ASSEMBLER 18B20 08/04/2006 23:36:40 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN 18B20.OBJ
ASSEMBLER INVOKED BY: C:\Program Files\Keil\C51\BIN\A51.EXE 18B20.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0090 1 B20 BIT P1.0
0000 2 ORG 0000H
0000 01B8 3 AJMP INITIALIZATION
4
0030 5 ORG 0030H
6
0030 7 SENDA:
0030 F599 8 MOV SBUF,A
0032 3099FD 9 JNB TI,$
0035 C299 10 CLR TI
0037 22 11 RET
12
0038 13 DELAY600: ;精确延时600微秒子程序
0038 7E02 14 MOV R6,#2
003A 7F94 15 YS600D:MOV R7,#148
003C DFFE 16 DJNZ R7,$
003E DEFA 17 DJNZ R6,YS600D
0040 22 18 RET
19
0041 20 DELAY30: ;精确延时30微秒子程序
0041 7E04 21 MOV R6,#4
0043 7F02 22 YS30D:MOV R7,#2
0045 DFFE 23 DJNZ R7,$
0047 DEFA 24 DJNZ R6,YS30D
0049 22 25 RET
26
004A 27 DELAY80: ;精确延时80微秒子程序
004A 7E02 28 MOV R6,#2
004C 7F12 29 YS80D:MOV R7,#18
004E DFFE 30 DJNZ R7,$
0050 DEFA 31 DJNZ R6,YS80D
0052 22 32 RET
33
0053 34 DELAY100010: ;精确延时100010微秒子程序
0053 7ED8 35 MOV R6,#216
0055 7D14 36 MOV R5,#20
0057 7FE6 37 YS100010D:MOV R7,#230
0059 DFFE 38 DJNZ R7,$
005B DEFA 39 DJNZ R6,YS100010D
005D DDF8 40 DJNZ R5,YS100010D
005F 22 41 RET
42
43
44
0060 45 RESETSLOT:
0060 C290 46 CLR B20
0062 120038 47 LCALL DELAY600
0065 D290 48 SETB B20
0067 120041 49 LCALL DELAY30
006A A290 50 MOV C,B20
006C 40F2 51 JC RESETSLOT
006E 120038 52 LCALL DELAY600
0071 22 53 RET
54
55
56
0072 57 WRITESLOT_0:
0072 00 58 NOP
A51 MACRO ASSEMBLER 18B20 08/04/2006 23:36:40 PAGE 2
0073 C290 59 CLR B20
0075 12004A 60 LCALL DELAY80
0078 D290 61 SETB B20
007A 22 62 RET
63
007B 64 WRITESLOT_1:
007B 00 65 NOP
007C C290 66 CLR B20
007E 00 67 NOP
007F 00 68 NOP
0080 00 69 NOP
0081 00 70 NOP
0082 00 71 NOP
0083 00 72 NOP
0084 D290 73 SETB B20
0086 12004A 74 LCALL DELAY80
0089 22 75 RET
76
008A 77 READSLOT_C:
008A 00 78 NOP
008B C290 79 CLR B20
008D 00 80 NOP
008E 00 81 NOP
008F D290 82 SETB B20
0091 00 83 NOP
0092 00 84 NOP
0093 00 85 NOP
0094 00 86 NOP
0095 00 87 NOP
0096 00 88 NOP
0097 00 89 NOP
0098 00 90 NOP
0099 A290 91 MOV C,B20
009B 120041 92 LCALL DELAY30
009E 22 93 RET
94
009F 95 WRITE_A:
009F 7808 96 MOV R0,#008H
00A1 97 BEGINWRITE:
00A1 13 98 RRC A
00A2 4005 99 JC WRITE1
00A4 120072 100 LCALL WRITESLOT_0
00A7 01AC 101 AJMP RETURN_WRITE
00A9 102 WRITE1:
00A9 12007B 103 LCALL WRITESLOT_1
00AC 104 RETURN_WRITE:
00AC D8F3 105 DJNZ R0,BEGINWRITE
00AE 22 106 RET
107
00AF 108 READ_A:
00AF 7808 109 MOV R0,#008H
00B1 110 BEGINREAD:
00B1 12008A 111 LCALL READSLOT_C
00B4 13 112 RRC A
00B5 D8FA 113 DJNZ R0,BEGINREAD
00B7 22 114 RET
115
116
00B8 117 INITIALIZATION:
00B8 758920 118 MOV TMOD,#20H
00BB 758BE6 119 MOV TL1,#0E6H
00BE 758DE6 120 MOV TH1,#0E6H
00C1 D28E 121 SETB TR1
00C3 759850 122 MOV SCON,#01010000B
123
00C6 124 MAIN:
A51 MACRO ASSEMBLER 18B20 08/04/2006 23:36:40 PAGE 3
00C6 120060 125 LCALL RESETSLOT
00C9 74CC 126 MOV A,#0CCH
00CB 12009F 127 LCALL WRITE_A
00CE 7444 128 MOV A,#044H
00D0 12009F 129 LCALL WRITE_A
00D3 D290 130 SETB B20
00D5 3090FD 131 JNB B20,$
00D8 120038 132 LCALL DELAY600
133
134
135
00DB 120060 136 LCALL RESETSLOT
00DE 74CC 137 MOV A,#0CCH
00E0 12009F 138 LCALL WRITE_A
00E3 74BE 139 MOV A,#0BEH
00E5 12009F 140 LCALL WRITE_A
141
00E8 1200AF 142 LCALL READ_A
00EB FA 143 MOV R2,A
144
00EC 1200AF 145 LCALL READ_A
00EF FB 146 MOV R3,A
147 ;===========将整饰露戎捣湃階===============
00F0 EB 148 MOV A,R3
00F1 540F 149 ANL A,#00FH
00F3 23 150 RL A
00F4 23 151 RL A
00F5 23 152 RL A
00F6 23 153 RL A
00F7 FB 154 MOV R3,A
00F8 EA 155 MOV A,R2
00F9 03 156 RR A
00FA 03 157 RR A
00FB 03 158 RR A
00FC 03 159 RR A
00FD 540F 160 ANL A,#00FH
00FF 4B 161 ORL A,R3
162 ;=============转换成BCD=====================
0100 75F00A 163 MOV B,#00AH
0103 84 164 DIV AB
0104 A8F0 165 MOV R0,B
0106 F9 166 MOV R1,A
167 ;============================================
168
169
170
0107 B2B7 171 CPL P3.7
172 ;AJMP MAIN
173
174
175 END
A51 MACRO ASSEMBLER 18B20 08/04/2006 23:36:40 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
B. . . . . . . . . D ADDR 00F0H A
B20. . . . . . . . B ADDR 0090H.0 A
BEGINREAD. . . . . C ADDR 00B1H A
BEGINWRITE . . . . C ADDR 00A1H A
DELAY100010. . . . C ADDR 0053H A
DELAY30. . . . . . C ADDR 0041H A
DELAY600 . . . . . C ADDR 0038H A
DELAY80. . . . . . C ADDR 004AH A
INITIALIZATION . . C ADDR 00B8H A
MAIN . . . . . . . C ADDR 00C6H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
READSLOT_C . . . . C ADDR 008AH A
READ_A . . . . . . C ADDR 00AFH A
RESETSLOT. . . . . C ADDR 0060H A
RETURN_WRITE . . . C ADDR 00ACH A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
SENDA. . . . . . . C ADDR 0030H A
TH1. . . . . . . . D ADDR 008DH A
TI . . . . . . . . B ADDR 0098H.1 A
TL1. . . . . . . . D ADDR 008BH A
TMOD . . . . . . . D ADDR 0089H A
TR1. . . . . . . . B ADDR 0088H.6 A
WRITE1 . . . . . . C ADDR 00A9H A
WRITESLOT_0. . . . C ADDR 0072H A
WRITESLOT_1. . . . C ADDR 007BH A
WRITE_A. . . . . . C ADDR 009FH A
YS100010D. . . . . C ADDR 0057H A
YS30D. . . . . . . C ADDR 0043H A
YS600D . . . . . . C ADDR 003AH A
YS80D. . . . . . . C ADDR 004CH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -