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

📄 i2c_intf.lst

📁 display port接受芯片ANX9813的驱动代码。MCU使用LPC936FDH,内部包含AN9813寄存器设置
💻 LST
📖 第 1 页 / 共 2 页
字号:
0000 D293              SETB    P1_3
                                           ; SOURCE LINE # 64
;---- Variable 'i' assigned to Register 'R6' ----
0002 E4                CLR     A
0003 FE                MOV     R6,A
0004         ?C0045:
                                           ; SOURCE LINE # 65
0004 D292              SETB    P1_2
0006 00                NOP     
0007 00                NOP     
                                           ; SOURCE LINE # 67
0008 EF                MOV     A,R7
                                           ; SOURCE LINE # 68
0009 25E0              ADD     A,ACC
                                           ; SOURCE LINE # 69
C51 COMPILER V7.50   I2C_INTF                                                              10/03/2008 17:53:12 PAGE 6   

000B A293              MOV     C,P1_3
000D 92E0              MOV     ACC_0,C
                                           ; SOURCE LINE # 70
000F FF                MOV     R7,A
                                           ; SOURCE LINE # 71
0010 C292              CLR     P1_2
0012 00                NOP     
0013 00                NOP     
                                           ; SOURCE LINE # 72
0014 0E                INC     R6
0015 EE                MOV     A,R6
0016 B408EB            CJNE    A,#08H,?C0045
0019         ?C0046:
                                           ; SOURCE LINE # 73
                                           ; SOURCE LINE # 74
0019         ?C0054:
0019 22                RET     
             ; FUNCTION i2c_read_byte (END)

             ; FUNCTION L?0092 (BEGIN)
0000 120000      R     LCALL   i2c_send_start_bit
0003 900000      R     MOV     DPTR,#i2c_dev_addr
0006 E0                MOVX    A,@DPTR
0007         L?0093:
0007 FF                MOV     R7,A
0008 120000      R     LCALL   _i2c_send_byte
             ; FUNCTION i2c_read_ack (BEGIN)
                                           ; SOURCE LINE # 76
                                           ; SOURCE LINE # 77
                                           ; SOURCE LINE # 80
000B D293              SETB    P1_3
000D 00                NOP     
000E 00                NOP     
                                           ; SOURCE LINE # 81
000F D292              SETB    P1_2
0011 00                NOP     
0012 00                NOP     
                                           ; SOURCE LINE # 82
0013 A293              MOV     C,P1_3
0015 E4                CLR     A
0016 33                RLC     A
0017 FF                MOV     R7,A
;---- Variable 'result' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 83
0018 C292              CLR     P1_2
001A 00                NOP     
001B 00                NOP     
                                           ; SOURCE LINE # 84
001C D293              SETB    P1_3
001E 00                NOP     
001F 00                NOP     
                                           ; SOURCE LINE # 85
                                           ; SOURCE LINE # 86
0020         ?C0067:
0020 22                RET     
             ; FUNCTION i2c_read_ack (END)

             ; FUNCTION _i2c_send_ack (BEGIN)
                                           ; SOURCE LINE # 88
;---- Variable 'ack' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 89
                                           ; SOURCE LINE # 90
C51 COMPILER V7.50   I2C_INTF                                                              10/03/2008 17:53:12 PAGE 7   

0000 EF                MOV     A,R7
0001 24FF              ADD     A,#0FFH
0003 9293              MOV     P1_3,C
0005 00                NOP     
0006 00                NOP     
                                           ; SOURCE LINE # 91
0007 D292              SETB    P1_2
0009 00                NOP     
000A 00                NOP     
                                           ; SOURCE LINE # 92
000B C292              CLR     P1_2
000D 00                NOP     
000E 00                NOP     
                                           ; SOURCE LINE # 93
000F D293              SETB    P1_3
0011 00                NOP     
0012 00                NOP     
                                           ; SOURCE LINE # 94
0013 22                RET     
             ; FUNCTION _i2c_send_ack (END)

             ; FUNCTION _i2c_write_reg (BEGIN)
                                           ; SOURCE LINE # 97
;---- Variable 'd' assigned to Register 'R5' ----
;---- Variable 'offset' assigned to Register 'R4' ----
0000 AC07              MOV     R4,AR7
                                           ; SOURCE LINE # 98
                                           ; SOURCE LINE # 99
                                           ; SOURCE LINE # 100
                                           ; SOURCE LINE # 101
0002 120000      R     LCALL   L?0092
0005 EF                MOV     A,R7
0006 6006              JZ      ?C0081
                                           ; SOURCE LINE # 102
0008 120000      R     LCALL   i2c_send_stop_bit
                                           ; SOURCE LINE # 103
000B 7F01              MOV     R7,#01H
000D 22                RET     
                                           ; SOURCE LINE # 104
000E         ?C0081:
                                           ; SOURCE LINE # 105
000E AF04              MOV     R7,AR4
0010 120000      R     LCALL   _i2c_send_byte
                                           ; SOURCE LINE # 106
0013 120000      R     LCALL   i2c_read_ack
0016 EF                MOV     A,R7
0017 6006              JZ      ?C0083
                                           ; SOURCE LINE # 107
0019 120000      R     LCALL   i2c_send_stop_bit
                                           ; SOURCE LINE # 108
001C 7F02              MOV     R7,#02H
001E 22                RET     
                                           ; SOURCE LINE # 109
001F         ?C0083:
                                           ; SOURCE LINE # 110
001F AF05              MOV     R7,AR5
0021 120000      R     LCALL   _i2c_send_byte
                                           ; SOURCE LINE # 111
0024 120000      R     LCALL   i2c_read_ack
                                           ; SOURCE LINE # 112
0027 120000      R     LCALL   i2c_send_stop_bit
                                           ; SOURCE LINE # 113
C51 COMPILER V7.50   I2C_INTF                                                              10/03/2008 17:53:12 PAGE 8   

002A 7F00              MOV     R7,#00H
                                           ; SOURCE LINE # 114
002C         ?C0082:
002C 22                RET     
             ; FUNCTION _i2c_write_reg (END)

             ; FUNCTION _i2c_write_p0_reg (BEGIN)
                                           ; SOURCE LINE # 116
;---- Variable 'd' assigned to Register 'R5' ----
;---- Variable 'offset' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 117
                                           ; SOURCE LINE # 118
0000 900000      R     MOV     DPTR,#i2c_dev_addr
0003 7450              MOV     A,#050H
0005 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 119
0006 120000      R     LCALL   _i2c_write_reg
                                           ; SOURCE LINE # 120
0009         ?C0084:
0009 22                RET     
             ; FUNCTION _i2c_write_p0_reg (END)

             ; FUNCTION _i2c_write_p1_reg (BEGIN)
                                           ; SOURCE LINE # 122
;---- Variable 'd' assigned to Register 'R5' ----
;---- Variable 'offset' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 123
                                           ; SOURCE LINE # 124
0000 900000      R     MOV     DPTR,#i2c_dev_addr
0003 748C              MOV     A,#08CH
0005 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 125
0006 120000      R     LCALL   _i2c_write_reg
                                           ; SOURCE LINE # 126
0009         ?C0085:
0009 22                RET     
             ; FUNCTION _i2c_write_p1_reg (END)

             ; FUNCTION _i2c_read_reg (BEGIN)
                                           ; SOURCE LINE # 128
;---- Variable 'd' assigned to Register 'R1/R2/R3' ----
;---- Variable 'offset' assigned to Register 'R5' ----
0000 AD07              MOV     R5,AR7
                                           ; SOURCE LINE # 129
                                           ; SOURCE LINE # 130
                                           ; SOURCE LINE # 131
                                           ; SOURCE LINE # 132
0002 120000      R     LCALL   L?0092
0005 EF                MOV     A,R7
0006 6006              JZ      ?C0086
                                           ; SOURCE LINE # 133
0008 120000      R     LCALL   i2c_send_stop_bit
                                           ; SOURCE LINE # 134
000B 7F01              MOV     R7,#01H
000D 22                RET     
                                           ; SOURCE LINE # 135
000E         ?C0086:
                                           ; SOURCE LINE # 136
000E AF05              MOV     R7,AR5
0010 120000      R     LCALL   _i2c_send_byte
                                           ; SOURCE LINE # 137
0013 120000      R     LCALL   i2c_read_ack
C51 COMPILER V7.50   I2C_INTF                                                              10/03/2008 17:53:12 PAGE 9   

0016 EF                MOV     A,R7
0017 6006              JZ      ?C0088
                                           ; SOURCE LINE # 138
0019 120000      R     LCALL   i2c_send_stop_bit
                                           ; SOURCE LINE # 139
001C 7F02              MOV     R7,#02H
001E 22                RET     
                                           ; SOURCE LINE # 140
001F         ?C0088:
                                           ; SOURCE LINE # 141
001F 120000      R     LCALL   i2c_send_restart_bit
                                           ; SOURCE LINE # 142
0022 900000      R     MOV     DPTR,#i2c_dev_addr
0025 E0                MOVX    A,@DPTR
0026 4401              ORL     A,#01H
                                           ; SOURCE LINE # 143
0028 120000      R     LCALL   L?0093
002B EF                MOV     A,R7
002C 6003              JZ      ?C0089
                                           ; SOURCE LINE # 144
002E 7F01              MOV     R7,#01H
0030 22                RET     
0031         ?C0089:
                                           ; SOURCE LINE # 145
0031 120000      R     LCALL   i2c_read_byte
0034 EF                MOV     A,R7
0035 120000      E     LCALL   ?C?CSTPTR
                                           ; SOURCE LINE # 146
0038 7F01              MOV     R7,#01H
003A 120000      R     LCALL   _i2c_send_ack
                                           ; SOURCE LINE # 147
003D 120000      R     LCALL   i2c_send_stop_bit
                                           ; SOURCE LINE # 148
0040 1F                DEC     R7
                                           ; SOURCE LINE # 149
0041         ?C0087:
0041 22                RET     
             ; FUNCTION _i2c_read_reg (END)

             ; FUNCTION _i2c_read_p0_reg (BEGIN)
                                           ; SOURCE LINE # 151
;---- Variable 'd' assigned to Register 'R1/R2/R3' ----
;---- Variable 'offset' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 152
                                           ; SOURCE LINE # 153
0000 900000      R     MOV     DPTR,#i2c_dev_addr
0003 7450              MOV     A,#050H
0005 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 154
0006 120000      R     LCALL   _i2c_read_reg
                                           ; SOURCE LINE # 155
0009         ?C0090:
0009 22                RET     
             ; FUNCTION _i2c_read_p0_reg (END)

             ; FUNCTION _i2c_read_p1_reg (BEGIN)
                                           ; SOURCE LINE # 157
;---- Variable 'd' assigned to Register 'R1/R2/R3' ----
;---- Variable 'offset' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 158
                                           ; SOURCE LINE # 159
0000 900000      R     MOV     DPTR,#i2c_dev_addr
C51 COMPILER V7.50   I2C_INTF                                                              10/03/2008 17:53:12 PAGE 10  

0003 748C              MOV     A,#08CH
0005 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 160
0006 120000      R     LCALL   _i2c_read_reg
                                           ; SOURCE LINE # 161
0009         ?C0091:
0009 22                RET     
             ; FUNCTION _i2c_read_p1_reg (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    298    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      1    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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