📄 24c02-p0-p2-led.lst
字号:
00AB D2B5 136 SETB SDA ;释放SDA数据线
00AD DFED 137 DJNZ R7,R_BYTE ;判断8位数据是否接收完全?
00AF 22 138 RET
139 ;----------------------------------------------------
140 ;向IIC总线发送一个字节数据
141 ;入口参数:A---待发送数据存放在A中
142 ;----------------------------------------------------
00B0 143 SENDBYTE:
00B0 7F08 144 MOV R7,#08
00B2 145 S_BYTE:
00B2 33 146 RLC A
00B3 92B5 147 MOV SDA,C
00B5 D2B4 148 SETB SCL
00B7 00 149 NOP
00B8 00 150 NOP
00B9 00 151 NOP
00BA 00 152 NOP
00BB C2B4 153 CLR SCL
00BD DFF3 154 DJNZ R7,S_BYTE ;8位发送完毕?
00BF 22 155 RET
156 ;-----------------------------------------------------
157 ;等待应答信号
158 ;等待从机返回一个响应信号
159 ;-----------------------------------------------------
00C0 160 WAITACK:
00C0 C2B4 161 CLR SCL
00C2 D2B5 162 SETB SDA ;释放SDA信号线
00C4 00 163 NOP
00C5 00 164 NOP
00C6 D2B4 165 SETB SCL
00C8 00 166 NOP
00C9 00 167 NOP
00CA 00 168 NOP
00CB A2B5 169 MOV C,SDA
00CD 40F1 170 JC WAITACK ;SDA为低电平,返回了响应信号
00CF C2B5 171 CLR SDA
00D1 C2B4 172 CLR SCL
00D3 22 173 RET
174 ;----------------------------------------------------
175 ;启动信号子程序
176 ;----------------------------------------------------
00D4 177 START:
00D4 D2B5 178 SETB SDA
00D6 D2B4 179 SETB SCL
00D8 00 180 NOP
00D9 C2B5 181 CLR SDA
00DB 00 182 NOP
00DC 00 183 NOP
00DD 00 184 NOP
00DE 00 185 NOP
00DF C2B4 186 CLR SCL
00E1 22 187 RET
188 ;----------------------------------------------------
189 ;停止信号子程序
190 ;----------------------------------------------------
A51 MACRO ASSEMBLER 24C02_P0_P2_LED 12/20/2006 21:20:46 PAGE 4
00E2 191 STOP:
00E2 C2B5 192 CLR SDA
00E4 00 193 NOP
00E5 D2B4 194 SETB SCL
00E7 00 195 NOP
00E8 00 196 NOP
00E9 00 197 NOP
00EA 00 198 NOP
00EB D2B5 199 SETB SDA
00ED 00 200 NOP
00EE 00 201 NOP
00EF C2B4 202 CLR SCL
00F1 C2B5 203 CLR SDA
00F3 22 204 RET
205 ;----------------------------------------------------
206 ;延时5MS子程序
207 ;输入参数:R4---R4*5MS
208 ;输出参数: 无
209 ;影响资源: R4,R5,R6等
210 ;----------------------------------------------------
00F4 211 DELAY_5MS:
00F4 7E0A 212 MOV R6,#10
00F6 213 DE_LP:
00F6 7DFA 214 MOV R5,#250
00F8 DDFE 215 DJNZ R5,$
00FA DEFA 216 DJNZ R6,DE_LP
00FC DCF6 217 DJNZ R4,DELAY_5MS
00FE 22 218 RET
219 ;----------------------------------------------------
00FF 220 TAB:
00FF FEFDFBF7 221 DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
0103 EFDFBF7F
0107 BFDFEFF7 222 DB 0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH,0FFH
010B FBFDFEFF
010F FEFCF8F0 223 DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,080H,000H
0113 E0C08000
0117 80C0E0F0 224 DB 080H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH
011B F8FCFEFF
011F FCF9F3E7 225 DB 0FCH,0F9H,0F3H,0E7H,0CFH,09FH,03FH
0123 CF9F3F
0126 9FCFE7F3 226 DB 09FH,0CFH,0E7H,0F3H,0F9H,0FCH,0FFH
012A F9FCFF
012D E7DBBD7E 227 DB 0E7H,0DBH,0BDH,07EH,0BDH,0DBH,0E7H,0FFH
0131 BDDBE7FF
0135 E7C38100 228 DB 0E7H,0C3H,081H,000H,081H,0C3H,0E7H,0FFH
0139 81C3E7FF
013D AA5518FF 229 DB 0AAH,055H,018H,0FFH,0F0H,00FH
0141 F00F
0143 00FF00FF 230 DB 000H,0FFH,000H,0FFH
231 ;-----------------------------------------------------
232 END
A51 MACRO ASSEMBLER 24C02_P0_P2_LED 12/20/2006 21:20:46 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
B. . . . . . . . . D ADDR 00F0H A
DELAY_5MS. . . . . C ADDR 00F4H A
DE_LP. . . . . . . C ADDR 00F6H A
MAIN . . . . . . . C ADDR 0030H A
M_LOOP . . . . . . C ADDR 0038H A
P0 . . . . . . . . D ADDR 0080H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
RCVBYTE. . . . . . C ADDR 0097H A
READ_BYTE. . . . . C ADDR 007FH A
READ_DATA. . . . . C ADDR 004FH A
RE_LOOP. . . . . . C ADDR 0053H A
R_BYTE . . . . . . C ADDR 009CH A
SCL. . . . . . . . B ADDR 00B0H.4 A
SDA. . . . . . . . B ADDR 00B0H.5 A
SENDBYTE . . . . . C ADDR 00B0H A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 00D4H A
STOP . . . . . . . C ADDR 00E2H A
S_BYTE . . . . . . C ADDR 00B2H A
TAB. . . . . . . . C ADDR 00FFH A
WAITACK. . . . . . C ADDR 00C0H A
WRITE_BYTE . . . . C ADDR 0065H A
WRITE_DATA . . . . C ADDR 003CH A
WR_LOOP. . . . . . C ADDR 0043H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -