📄 at24c02_8.lst
字号:
22 1 for(k=91;k>0;k--);
23 1 }
24
25
26
27 void main(void)
28 {
29 1 unsigned char i;
30 1 for(i=0;i<256;i++)
31 1 {
32 2 Write24C02(i,i);
33 2 P1=Read24C02(i);
34 2 delay1000ms();
35 2 }
36 1 }
C51 COMPILER V7.06 AT24C02_8 08/01/2008 19:49:45 PAGE 7
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION delay1ms (BEGIN)
; SOURCE LINE # 48
; SOURCE LINE # 49
; SOURCE LINE # 51
;---- Variable 'i' assigned to Register 'R7' ----
0000 7F05 MOV R7,#05H
0002 ?C0001:
; SOURCE LINE # 52
;---- Variable 'j' assigned to Register 'R6' ----
0002 7E1C MOV R6,#01CH
0004 ?C0004:
; SOURCE LINE # 53
;---- Variable 'k' assigned to Register 'R5' ----
0004 7D02 MOV R5,#02H
0006 ?C0007:
0006 DDFE DJNZ R5,?C0007
0008 ?C0006:
0008 DEFA DJNZ R6,?C0004
000A ?C0003:
000A DFF6 DJNZ R7,?C0001
; SOURCE LINE # 54
000C ?C0010:
000C 22 RET
; FUNCTION delay1ms (END)
; FUNCTION Start (BEGIN)
; SOURCE LINE # 60
; SOURCE LINE # 61
; SOURCE LINE # 62
0000 D2A1 SETB SDA
; SOURCE LINE # 63
0002 D2A0 SETB SCL
; SOURCE LINE # 64
0004 C2A1 CLR SDA
; SOURCE LINE # 65
0006 C2A0 CLR SCL
; SOURCE LINE # 66
0008 22 RET
; FUNCTION Start (END)
; FUNCTION Stop (BEGIN)
; SOURCE LINE # 72
; SOURCE LINE # 73
; SOURCE LINE # 74
0000 C2A0 CLR SCL
; SOURCE LINE # 75
0002 C2A1 CLR SDA
; SOURCE LINE # 76
0004 D2A0 SETB SCL
; SOURCE LINE # 77
0006 D2A1 SETB SDA
; SOURCE LINE # 78
0008 22 RET
; FUNCTION Stop (END)
; FUNCTION NoAck (BEGIN)
; SOURCE LINE # 84
; SOURCE LINE # 85
; SOURCE LINE # 86
C51 COMPILER V7.06 AT24C02_8 08/01/2008 19:49:45 PAGE 8
0000 D2A1 SETB SDA
; SOURCE LINE # 87
0002 D2A0 SETB SCL
; SOURCE LINE # 88
0004 C2A0 CLR SCL
; SOURCE LINE # 89
0006 22 RET
; FUNCTION NoAck (END)
; FUNCTION L?0039 (BEGIN)
0000 120000 R LCALL Start
0003 7FA0 MOV R7,#0A0H
0005 120000 R LCALL _Write8Bit
; FUNCTION TestAck (BEGIN)
; SOURCE LINE # 95
; SOURCE LINE # 96
; SOURCE LINE # 98
0008 D2A1 SETB SDA
; SOURCE LINE # 99
000A D2A0 SETB SCL
; SOURCE LINE # 100
000C A2A1 MOV C,SDA
000E 9200 R MOV ErrorBit,C
; SOURCE LINE # 101
0010 C2A0 CLR SCL
; SOURCE LINE # 102
0012 A200 R MOV C,ErrorBit
; SOURCE LINE # 103
0014 ?C0014:
0014 22 RET
; FUNCTION TestAck (END)
; FUNCTION _Write8Bit (BEGIN)
; SOURCE LINE # 109
;---- Variable 'input' assigned to Register 'R7' ----
; SOURCE LINE # 110
; SOURCE LINE # 112
;---- Variable 'temp' assigned to Register 'R6' ----
0000 7E08 MOV R6,#08H
0002 ?C0015:
; SOURCE LINE # 113
; SOURCE LINE # 114
0002 EF MOV A,R7
0003 33 RLC A
0004 92A1 MOV SDA,C
; SOURCE LINE # 115
0006 D2A0 SETB SCL
; SOURCE LINE # 116
0008 C2A0 CLR SCL
; SOURCE LINE # 117
000A EF MOV A,R7
000B 25E0 ADD A,ACC
000D FF MOV R7,A
; SOURCE LINE # 118
000E DEF2 DJNZ R6,?C0015
; SOURCE LINE # 119
0010 ?C0018:
0010 22 RET
; FUNCTION _Write8Bit (END)
; FUNCTION _Write24C02 (BEGIN)
; SOURCE LINE # 125
C51 COMPILER V7.06 AT24C02_8 08/01/2008 19:49:45 PAGE 9
;---- Variable 'address' assigned to Register 'R5' ----
;---- Variable 'ch' assigned to Register 'R4' ----
0000 AC07 MOV R4,AR7
; SOURCE LINE # 126
; SOURCE LINE # 127
; SOURCE LINE # 128
; SOURCE LINE # 129
0002 120000 R LCALL L?0039
; SOURCE LINE # 130
0005 AF05 MOV R7,AR5
0007 120000 R LCALL _Write8Bit
; SOURCE LINE # 131
000A 120000 R LCALL TestAck
; SOURCE LINE # 132
000D AF04 MOV R7,AR4
000F 120000 R LCALL _Write8Bit
; SOURCE LINE # 133
0012 120000 R LCALL TestAck
; SOURCE LINE # 134
0015 120000 R LCALL Stop
; SOURCE LINE # 135
0018 020000 R LJMP delay1ms
; FUNCTION _Write24C02 (END)
; FUNCTION Read8Bit (BEGIN)
; SOURCE LINE # 142
; SOURCE LINE # 143
; SOURCE LINE # 144
;---- Variable 'rbyte' assigned to Register 'R7' ----
0000 E4 CLR A
0001 FF MOV R7,A
; SOURCE LINE # 145
;---- Variable 'temp' assigned to Register 'R6' ----
0002 7E08 MOV R6,#08H
0004 ?C0020:
; SOURCE LINE # 146
; SOURCE LINE # 147
0004 D2A0 SETB SCL
; SOURCE LINE # 148
0006 EF MOV A,R7
0007 25E0 ADD A,ACC
0009 FF MOV R7,A
; SOURCE LINE # 149
000A A2A1 MOV C,SDA
000C E4 CLR A
000D 33 RLC A
000E 4207 ORL AR7,A
; SOURCE LINE # 150
0010 C2A0 CLR SCL
; SOURCE LINE # 151
0012 DEF0 DJNZ R6,?C0020
0014 ?C0021:
; SOURCE LINE # 152
; SOURCE LINE # 153
0014 ?C0023:
0014 22 RET
; FUNCTION Read8Bit (END)
; FUNCTION _Read24C02 (BEGIN)
; SOURCE LINE # 159
;---- Variable 'address' assigned to Register 'R5' ----
0000 AD07 MOV R5,AR7
C51 COMPILER V7.06 AT24C02_8 08/01/2008 19:49:45 PAGE 10
; SOURCE LINE # 160
; SOURCE LINE # 162
; SOURCE LINE # 163
; SOURCE LINE # 164
0002 120000 R LCALL L?0039
; SOURCE LINE # 165
0005 AF05 MOV R7,AR5
0007 120000 R LCALL _Write8Bit
; SOURCE LINE # 166
000A 120000 R LCALL TestAck
; SOURCE LINE # 167
000D 120000 R LCALL Start
; SOURCE LINE # 168
0010 7FA1 MOV R7,#0A1H
0012 120000 R LCALL _Write8Bit
; SOURCE LINE # 169
0015 120000 R LCALL TestAck
; SOURCE LINE # 170
0018 120000 R LCALL Read8Bit
;---- Variable 'ch' assigned to Register 'R7' ----
; SOURCE LINE # 171
001B 120000 R LCALL NoAck
; SOURCE LINE # 172
001E 120000 R LCALL Stop
; SOURCE LINE # 173
; SOURCE LINE # 174
0021 ?C0024:
0021 22 RET
; FUNCTION _Read24C02 (END)
; FUNCTION delay1000ms (BEGIN)
; SOURCE LINE # 17
; SOURCE LINE # 18
; SOURCE LINE # 20
;---- Variable 'i' assigned to Register 'R7' ----
0000 7F17 MOV R7,#017H
0002 ?C0025:
; SOURCE LINE # 21
;---- Variable 'j' assigned to Register 'R6' ----
0002 7EEB MOV R6,#0EBH
0004 ?C0028:
; SOURCE LINE # 22
;---- Variable 'k' assigned to Register 'R5' ----
0004 7D5B MOV R5,#05BH
0006 ?C0031:
0006 DDFE DJNZ R5,?C0031
0008 ?C0030:
0008 DEFA DJNZ R6,?C0028
000A ?C0027:
000A DFF6 DJNZ R7,?C0025
; SOURCE LINE # 23
000C ?C0034:
000C 22 RET
; FUNCTION delay1000ms (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 27
; SOURCE LINE # 28
; SOURCE LINE # 30
;---- Variable 'i' assigned to Register 'R3' ----
0000 E4 CLR A
0001 FB MOV R3,A
C51 COMPILER V7.06 AT24C02_8 08/01/2008 19:49:45 PAGE 11
0002 ?C0035:
0002 C3 CLR C
0003 7480 MOV A,#080H
0005 9481 SUBB A,#081H
0007 5014 JNC ?C0038
; SOURCE LINE # 31
; SOURCE LINE # 32
0009 AF03 MOV R7,AR3
000B AD03 MOV R5,AR3
000D 120000 R LCALL _Write24C02
; SOURCE LINE # 33
0010 AF03 MOV R7,AR3
0012 120000 R LCALL _Read24C02
0015 8F90 MOV P1,R7
; SOURCE LINE # 34
0017 120000 R LCALL delay1000ms
; SOURCE LINE # 35
001A 0B INC R3
001B 80E5 SJMP ?C0035
; SOURCE LINE # 36
001D ?C0038:
001D 22 RET
; FUNCTION main (END)
C51 COMPILER V7.06 AT24C02_8 08/01/2008 19:49:45 PAGE 12
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
Start. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
delay1ms . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
k. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
Stop . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TestAck. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0008H -----
ErrorBit . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
delay1000ms. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
k. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
_Write8Bit . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
input. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
NoAck. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Read8Bit . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
rbyte. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
SDA. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A1H 1
SCL. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
_Read24C02 . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
address. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
ch . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
_Write24C02. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ch . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
address. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 201 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -