📄 lcd1602+at24c02.lst
字号:
0008 22 RET
; FUNCTION Start (END)
; FUNCTION Stop (BEGIN)
; SOURCE LINE # 72
; SOURCE LINE # 73
; SOURCE LINE # 74
0000 C2A3 CLR SCL
; SOURCE LINE # 75
0002 C2A4 CLR SDA
; SOURCE LINE # 76
0004 D2A3 SETB SCL
; SOURCE LINE # 77
0006 D2A4 SETB SDA
; SOURCE LINE # 78
0008 22 RET
; FUNCTION Stop (END)
; FUNCTION NoAck (BEGIN)
; SOURCE LINE # 84
; SOURCE LINE # 85
; SOURCE LINE # 86
0000 D2A4 SETB SDA
; SOURCE LINE # 87
0002 D2A3 SETB SCL
; SOURCE LINE # 88
0004 C2A3 CLR SCL
; SOURCE LINE # 89
0006 22 RET
; FUNCTION NoAck (END)
; FUNCTION L?0052 (BEGIN)
0000 120000 R LCALL Start
0003 7FA0 MOV R7,#0A0H
0005 120000 R LCALL _Write8Bit
C51 COMPILER V7.06 LCD1602_AT24C02 08/01/2008 19:44:45 PAGE 13
; FUNCTION TestAck (BEGIN)
; SOURCE LINE # 95
; SOURCE LINE # 96
; SOURCE LINE # 98
0008 D2A4 SETB SDA
; SOURCE LINE # 99
000A D2A3 SETB SCL
; SOURCE LINE # 100
000C A2A4 MOV C,SDA
000E 9200 R MOV ErrorBit,C
; SOURCE LINE # 101
0010 C2A3 CLR SCL
; SOURCE LINE # 102
0012 A200 R MOV C,ErrorBit
; SOURCE LINE # 103
0014 ?C0025:
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 ?C0026:
; SOURCE LINE # 113
; SOURCE LINE # 114
0002 EF MOV A,R7
0003 33 RLC A
0004 92A4 MOV SDA,C
; SOURCE LINE # 115
0006 D2A3 SETB SCL
; SOURCE LINE # 116
0008 C2A3 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,?C0026
; SOURCE LINE # 119
0010 ?C0029:
0010 22 RET
; FUNCTION _Write8Bit (END)
; FUNCTION _Write24C02 (BEGIN)
; SOURCE LINE # 125
;---- 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?0052
; SOURCE LINE # 130
0005 AF05 MOV R7,AR5
0007 120000 R LCALL _Write8Bit
; SOURCE LINE # 131
000A 120000 R LCALL TestAck
C51 COMPILER V7.06 LCD1602_AT24C02 08/01/2008 19:44:45 PAGE 14
; 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 ?C0031:
; SOURCE LINE # 146
; SOURCE LINE # 147
0004 D2A3 SETB SCL
; SOURCE LINE # 148
0006 EF MOV A,R7
0007 25E0 ADD A,ACC
0009 FF MOV R7,A
; SOURCE LINE # 149
000A A2A4 MOV C,SDA
000C E4 CLR A
000D 33 RLC A
000E 4207 ORL AR7,A
; SOURCE LINE # 150
0010 C2A3 CLR SCL
; SOURCE LINE # 151
0012 DEF0 DJNZ R6,?C0031
0014 ?C0032:
; SOURCE LINE # 152
; SOURCE LINE # 153
0014 ?C0034:
0014 22 RET
; FUNCTION Read8Bit (END)
; FUNCTION _Read24C02 (BEGIN)
; SOURCE LINE # 159
;---- Variable 'address' assigned to Register 'R5' ----
0000 AD07 MOV R5,AR7
; SOURCE LINE # 160
; SOURCE LINE # 162
; SOURCE LINE # 163
; SOURCE LINE # 164
0002 120000 R LCALL L?0052
; 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
C51 COMPILER V7.06 LCD1602_AT24C02 08/01/2008 19:44:45 PAGE 15
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 ?C0035:
0021 22 RET
; FUNCTION _Read24C02 (END)
; FUNCTION _delay (BEGIN)
; SOURCE LINE # 10
;---- Variable 'x' assigned to Register 'R7' ----
;---- Variable 'z' assigned to Register 'R3' ----
;---- Variable 'y' assigned to Register 'R5' ----
; SOURCE LINE # 11
; SOURCE LINE # 12
;---- Variable 'tempz' assigned to Register 'R3' ----
0000 ?C0038:
; SOURCE LINE # 13
;---- Variable 'tempy' assigned to Register 'R6' ----
0000 AE05 MOV R6,AR5
0002 ?C0041:
;---- Variable 'tempx' assigned to Register 'R4' ----
0002 AC07 MOV R4,AR7
0004 ?C0042:
0004 DCFE DJNZ R4,?C0042
0006 ?C0039:
0006 DEFA DJNZ R6,?C0041
0008 DBF6 DJNZ R3,?C0038
; SOURCE LINE # 14
000A 22 RET
; FUNCTION _delay (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 18
; SOURCE LINE # 19
; SOURCE LINE # 23
;---- Variable 'i' assigned to Register 'R2' ----
0000 7A20 MOV R2,#020H
; SOURCE LINE # 24
0002 120000 R LCALL lcd_init
; SOURCE LINE # 25
0005 C200 R CLR ?_lcd_pos?BIT
0007 E4 CLR A
0008 FF MOV R7,A
0009 120000 R LCALL _lcd_pos
000C ?C0045:
; SOURCE LINE # 26
; SOURCE LINE # 27
; SOURCE LINE # 28
000C AF02 MOV R7,AR2
000E 0A INC R2
000F 120000 R LCALL _Read24C02
;---- Variable 'temp_char' assigned to Register 'R1' ----
C51 COMPILER V7.06 LCD1602_AT24C02 08/01/2008 19:44:45 PAGE 16
0012 A907 MOV R1,AR7
; SOURCE LINE # 29
0014 BAFA02 CJNE R2,#0FAH,?C0047
0017 7A20 MOV R2,#020H
0019 ?C0047:
; SOURCE LINE # 30
0019 AF01 MOV R7,AR1
001B 120000 R LCALL _printc
; SOURCE LINE # 31
001E 7B96 MOV R3,#096H
0020 7D19 MOV R5,#019H
0022 7F14 MOV R7,#014H
0024 120000 R LCALL _delay
; SOURCE LINE # 32
0027 EA MOV A,R2
0028 540F ANL A,#0FH
002A 70E0 JNZ ?C0045
002C D200 R SETB ?_lcd_pos?BIT
002E FF MOV R7,A
002F 120000 R LCALL _lcd_pos
0032 EA MOV A,R2
0033 541F ANL A,#01FH
0035 70D5 JNZ ?C0045
0037 C200 R CLR ?_lcd_pos?BIT
0039 FF MOV R7,A
003A 120000 R LCALL _lcd_pos
; SOURCE LINE # 33
003D 80CD SJMP ?C0045
; FUNCTION main (END)
C51 COMPILER V7.06 LCD1602_AT24C02 08/01/2008 19:44:45 PAGE 17
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
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
_lcd_wcmd. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
cmd. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 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 0002H 1
temp_char. . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
_lcd_wdat. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Data . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 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
_Write8Bit . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
input. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
_lcd_pos . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
x. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
y. . . . . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
lcd_init . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
NoAck. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ep . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A2H 1
Read8Bit . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
rbyte. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
SDA. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A4H 1
io . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
lcd_busy . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
bz . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0087H 1
SCL. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A3H 1
rs . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
rw . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A1H 1
_Read24C02 . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
address. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
ch . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
_delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
x. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
y. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
z. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
tempx. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
tempy. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
tempz. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
_printc. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
CHAR . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
_Write24C02. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ch . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
C51 COMPILER V7.06 LCD1602_AT24C02 08/01/2008 19:44:45 PAGE 18
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
address. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 318 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -