⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c.lst

📁 AT89C51 I2C接口通信程序例程.rar
💻 LST
📖 第 1 页 / 共 3 页
字号:
0003 D280              SETB    SCL
                                           ; SOURCE LINE # 28
0005 00                NOP     
0006 00                NOP     
0007 00                NOP     
0008 00                NOP     
0009 00                NOP     
                                           ; SOURCE LINE # 29
000A C281              CLR     SDA
                                           ; SOURCE LINE # 30
000C 00                NOP     
000D 00                NOP     
000E 00                NOP     
000F 00                NOP     
0010 00                NOP     
                                           ; SOURCE LINE # 31
0011 C280              CLR     SCL
                                           ; SOURCE LINE # 32
0013 00                NOP     
                                           ; SOURCE LINE # 33
0014 00                NOP     
                                           ; SOURCE LINE # 34
0015 22                RET     
             ; FUNCTION I2C_Start (END)

             ; FUNCTION I2C_Stop (BEGIN)
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 39
                                           ; SOURCE LINE # 40
0000 C281              CLR     SDA
                                           ; SOURCE LINE # 41
0002 00                NOP     
                                           ; SOURCE LINE # 42
0003 00                NOP     
                                           ; SOURCE LINE # 43
0004 D280              SETB    SCL
                                           ; SOURCE LINE # 44
0006 00                NOP     
0007 00                NOP     
0008 00                NOP     
0009 00                NOP     
000A 00                NOP     
                                           ; SOURCE LINE # 45
000B D281              SETB    SDA
                                           ; SOURCE LINE # 46
000D 00                NOP     
000E 00                NOP     
000F 00                NOP     
0010 00                NOP     
0011 00                NOP     
                                           ; SOURCE LINE # 47
C51 COMPILER V7.04   I2C                                                                   12/26/2007 09:33:09 PAGE 7   

0012 22                RET     
             ; FUNCTION I2C_Stop (END)

             ; FUNCTION I2C_ACK (BEGIN)
                                           ; SOURCE LINE # 51
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 53
0000 C281              CLR     SDA
                                           ; SOURCE LINE # 54
0002 00                NOP     
                                           ; SOURCE LINE # 55
0003 00                NOP     
                                           ; SOURCE LINE # 56
0004 D280              SETB    SCL
                                           ; SOURCE LINE # 57
0006 00                NOP     
0007 00                NOP     
0008 00                NOP     
0009 00                NOP     
000A 00                NOP     
                                           ; SOURCE LINE # 58
000B C280              CLR     SCL
                                           ; SOURCE LINE # 59
000D 00                NOP     
                                           ; SOURCE LINE # 60
000E 00                NOP     
                                           ; SOURCE LINE # 61
000F 22                RET     
             ; FUNCTION I2C_ACK (END)

             ; FUNCTION I2C_NoACK (BEGIN)
                                           ; SOURCE LINE # 66
                                           ; SOURCE LINE # 67
                                           ; SOURCE LINE # 68
0000 D281              SETB    SDA
                                           ; SOURCE LINE # 69
0002 00                NOP     
                                           ; SOURCE LINE # 70
0003 00                NOP     
                                           ; SOURCE LINE # 71
0004 D280              SETB    SCL
                                           ; SOURCE LINE # 72
0006 00                NOP     
0007 00                NOP     
0008 00                NOP     
0009 00                NOP     
000A 00                NOP     
                                           ; SOURCE LINE # 73
000B C280              CLR     SCL
                                           ; SOURCE LINE # 74
000D 00                NOP     
                                           ; SOURCE LINE # 75
000E 00                NOP     
                                           ; SOURCE LINE # 76
000F 22                RET     
             ; FUNCTION I2C_NoACK (END)

             ; FUNCTION _I2C_WriteByte (BEGIN)
                                           ; SOURCE LINE # 80
;---- Variable 'ch' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 81
                                           ; SOURCE LINE # 82
C51 COMPILER V7.04   I2C                                                                   12/26/2007 09:33:09 PAGE 8   

;---- Variable 'index' assigned to Register 'R6' ----
0000 7E08              MOV     R6,#08H
0002         ?C0005:
                                           ; SOURCE LINE # 83
0002 AD06              MOV     R5,AR6
0004 1E                DEC     R6
0005 ED                MOV     A,R5
0006 601A              JZ      ?C0006
                                           ; SOURCE LINE # 84
                                           ; SOURCE LINE # 85
0008 C280              CLR     SCL
                                           ; SOURCE LINE # 86
000A 00                NOP     
                                           ; SOURCE LINE # 87
000B 00                NOP     
                                           ; SOURCE LINE # 88
000C EF                MOV     A,R7
000D 33                RLC     A
000E 9281              MOV     SDA,C
                                           ; SOURCE LINE # 89
0010 00                NOP     
0011 00                NOP     
0012 00                NOP     
0013 00                NOP     
0014 00                NOP     
                                           ; SOURCE LINE # 90
0015 D280              SETB    SCL
                                           ; SOURCE LINE # 91
0017 00                NOP     
0018 00                NOP     
0019 00                NOP     
001A 00                NOP     
001B 00                NOP     
                                           ; SOURCE LINE # 92
001C EF                MOV     A,R7
001D 25E0              ADD     A,ACC
001F FF                MOV     R7,A
                                           ; SOURCE LINE # 93
0020 80E0              SJMP    ?C0005
0022         ?C0006:
                                           ; SOURCE LINE # 94
0022 C280              CLR     SCL
                                           ; SOURCE LINE # 95
0024 00                NOP     
                                           ; SOURCE LINE # 96
0025 00                NOP     
                                           ; SOURCE LINE # 97
0026 D281              SETB    SDA
                                           ; SOURCE LINE # 98
0028 00                NOP     
                                           ; SOURCE LINE # 99
0029 00                NOP     
                                           ; SOURCE LINE # 100
002A D280              SETB    SCL
                                           ; SOURCE LINE # 101
002C 00                NOP     
                                           ; SOURCE LINE # 102
002D 00                NOP     
                                           ; SOURCE LINE # 103
002E 00                NOP     
                                           ; SOURCE LINE # 104
002F 308104            JNB     SDA,?C0007
C51 COMPILER V7.04   I2C                                                                   12/26/2007 09:33:09 PAGE 9   

0032 C200        R     CLR     ACK
0034 8002              SJMP    ?C0008
0036         ?C0007:
                                           ; SOURCE LINE # 105
0036 D200        R     SETB    ACK
0038         ?C0008:
                                           ; SOURCE LINE # 106
0038 C280              CLR     SCL
                                           ; SOURCE LINE # 107
003A 00                NOP     
                                           ; SOURCE LINE # 108
003B 00                NOP     
                                           ; SOURCE LINE # 109
003C 22                RET     
             ; FUNCTION _I2C_WriteByte (END)

             ; FUNCTION I2C_ReadByte (BEGIN)
                                           ; SOURCE LINE # 113
                                           ; SOURCE LINE # 114
                                           ; SOURCE LINE # 115
;---- Variable 'index' assigned to Register 'R7' ----
0000 7F08              MOV     R7,#08H
                                           ; SOURCE LINE # 116
;---- Variable 'Data' assigned to Register 'R6' ----
0002 E4                CLR     A
0003 FE                MOV     R6,A
                                           ; SOURCE LINE # 117
0004 D281              SETB    SDA
0006         ?C0010:
                                           ; SOURCE LINE # 118
0006 AD07              MOV     R5,AR7
0008 1F                DEC     R7
0009 ED                MOV     A,R5
000A 6016              JZ      ?C0011
                                           ; SOURCE LINE # 119
                                           ; SOURCE LINE # 120
000C EE                MOV     A,R6
000D 25E0              ADD     A,ACC
000F FE                MOV     R6,A
                                           ; SOURCE LINE # 121
0010 00                NOP     
                                           ; SOURCE LINE # 122
0011 C280              CLR     SCL
                                           ; SOURCE LINE # 123
0013 00                NOP     
0014 00                NOP     
0015 00                NOP     
0016 00                NOP     
0017 00                NOP     
                                           ; SOURCE LINE # 124
0018 D280              SETB    SCL
                                           ; SOURCE LINE # 125
001A 00                NOP     
                                           ; SOURCE LINE # 126
001B 00                NOP     
                                           ; SOURCE LINE # 127
001C 3081E7            JNB     SDA,?C0010
001F 0E                INC     R6
                                           ; SOURCE LINE # 128
0020 80E4              SJMP    ?C0010
0022         ?C0011:
                                           ; SOURCE LINE # 129
C51 COMPILER V7.04   I2C                                                                   12/26/2007 09:33:09 PAGE 10  

0022 C280              CLR     SCL
                                           ; SOURCE LINE # 130
0024 00                NOP     
                                           ; SOURCE LINE # 131
0025 00                NOP     
                                           ; SOURCE LINE # 132
0026 AF06              MOV     R7,AR6
                                           ; SOURCE LINE # 133
0028         ?C0013:
0028 22                RET     
             ; FUNCTION I2C_ReadByte (END)

             ; FUNCTION _NVM_WriteB (BEGIN)
                                           ; SOURCE LINE # 141
;---- Variable 'addr' assigned to Register 'R4/R5' ----
;---- Variable 'ch' assigned to Register 'R3' ----
;---- Variable 'sla' assigned to Register 'R2' ----
0000 AA07              MOV     R2,AR7
                                           ; SOURCE LINE # 142
                                           ; SOURCE LINE # 144
0002 ED                MOV     A,R5
;---- Variable 'laddr' assigned to Register 'R1' ----
0003 F9                MOV     R1,A
                                           ; SOURCE LINE # 145
;---- Variable 'haddr' assigned to Register 'R4' ----
                                           ; SOURCE LINE # 146
0004 120000      R     LCALL   I2C_Start
                                           ; SOURCE LINE # 147
0007 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 148
000A 200002      R     JB      ACK,?C0014
000D C3                CLR     C
000E 22                RET     
000F         ?C0014:
                                           ; SOURCE LINE # 149
000F AF04              MOV     R7,AR4
0011 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 150
0014 200002      R     JB      ACK,?C0016

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -