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

📄 i2c.lst

📁 DS18B20用来测温度十分方便
💻 LST
📖 第 1 页 / 共 2 页
字号:
 188            { I2CON = RELEASE_BUS_ACK;   // 接收一字节数据并发送应答位
 189              while( SI==0 );            // 等待接收数据
 190              if( I2STAT!=0X50 )
 191          	{ I2CON = GENERATE_STOP;
 192          	  return(0);
 193          	}
 194              *s = I2DAT;                // 读取数据
 195              s++;
 196            } 
 197            I2CON = RELEASE_BUS_NOACK;   // 接收最后一字节数据并发送非应答位
 198            while( SI==0 );  
 199            *s = I2DAT;
 200            I2CON = GENERATE_STOP;       // 结束总线
 201            return(1);
 202          }
 203          */
C51 COMPILER V3.96,  SN-83203013  I2C                                                      09/12/05  17:49:31  PAGE 5   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION GetBus (BEGIN)
                                           ; SOURCE LINE # 35
                                           ; SOURCE LINE # 36
                                           ; SOURCE LINE # 37
0000 75DD0F        MOV     I2SCLH,#0FH
                                           ; SOURCE LINE # 38
0003 75DC0F        MOV     I2SCLL,#0FH
                                           ; SOURCE LINE # 40
0006 75D864        MOV     I2CON,#064H
0009         ?C0001:
                                           ; SOURCE LINE # 41
0009 30DBFD        JNB     SI,?C0001
                                           ; SOURCE LINE # 42
000C         ?C0003:
000C 22            RET     
             ; FUNCTION GetBus (END)

             ; FUNCTION _SendByte (BEGIN)
;---- Variable 'c' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 50
                                           ; SOURCE LINE # 51
                                           ; SOURCE LINE # 52
0000 8FDA          MOV     I2DAT,R7
                                           ; SOURCE LINE # 53
0002 75D844        MOV     I2CON,#044H
0005         ?C0004:
                                           ; SOURCE LINE # 54
0005 30DBFD        JNB     SI,?C0004
                                           ; SOURCE LINE # 55
0008         ?C0006:
0008 22            RET     
             ; FUNCTION _SendByte (END)

             ; FUNCTION _ISendByte (BEGIN)
;---- Variable 'sla' assigned to Register 'R6' ----
0000 AE07          MOV     R6,AR7
;---- Variable 'c' assigned to Register 'R5' ----
                                           ; SOURCE LINE # 66
                                           ; SOURCE LINE # 67
                                           ; SOURCE LINE # 68
0002 120000  R     LCALL   GetBus
                                           ; SOURCE LINE # 69
0005 120000  R     LCALL   _SendByte
                                           ; SOURCE LINE # 70
0008 E5D9          MOV     A,I2STAT
000A 6418          XRL     A,#018H
000C 6005          JZ      ?C0007
                                           ; SOURCE LINE # 71
000E 75D854        MOV     I2CON,#054H
                                           ; SOURCE LINE # 72
0011 C3            CLR     C
0012 22            RET     
                                           ; SOURCE LINE # 73
0013         ?C0007:
                                           ; SOURCE LINE # 75
0013 AF05          MOV     R7,AR5
0015 120000  R     LCALL   _SendByte
                                           ; SOURCE LINE # 76
0018 E5D9          MOV     A,I2STAT
C51 COMPILER V3.96,  SN-83203013  I2C                                                      09/12/05  17:49:31  PAGE 6   

001A 6428          XRL     A,#028H
001C 6005          JZ      ?C0009
                                           ; SOURCE LINE # 77
001E 75D854        MOV     I2CON,#054H
                                           ; SOURCE LINE # 78
0021 C3            CLR     C
0022 22            RET     
                                           ; SOURCE LINE # 79
0023         ?C0009:
                                           ; SOURCE LINE # 80
0023 75D854        MOV     I2CON,#054H
                                           ; SOURCE LINE # 81
0026 D3            SETB    C
                                           ; SOURCE LINE # 82
0027         ?C0008:
0027 22            RET     
             ; FUNCTION _ISendByte (END)

             ; FUNCTION _ISendStr (BEGIN)
0000 8B00    R     MOV     s,R3
0002 8A00    R     MOV     s+01H,R2
0004 8900    R     MOV     s+02H,R1
;---- Variable 'sla' assigned to Register 'R6' ----
0006 AE07          MOV     R6,AR7
;---- Variable 'suba' assigned to Register 'R5' ----
                                           ; SOURCE LINE # 95
                                           ; SOURCE LINE # 96
                                           ; SOURCE LINE # 99
0008 120000  R     LCALL   GetBus
                                           ; SOURCE LINE # 100
000B 120000  R     LCALL   _SendByte
                                           ; SOURCE LINE # 101
000E E5D9          MOV     A,I2STAT
0010 6418          XRL     A,#018H
0012 6005          JZ      ?C0010
                                           ; SOURCE LINE # 102
0014 75D854        MOV     I2CON,#054H
                                           ; SOURCE LINE # 103
0017 C3            CLR     C
0018 22            RET     
                                           ; SOURCE LINE # 104
0019         ?C0010:
                                           ; SOURCE LINE # 106
0019 AF05          MOV     R7,AR5
001B 120000  R     LCALL   _SendByte
                                           ; SOURCE LINE # 107
001E E5D9          MOV     A,I2STAT
0020 6428          XRL     A,#028H
0022 6005          JZ      ?C0012
                                           ; SOURCE LINE # 108
0024 75D854        MOV     I2CON,#054H
                                           ; SOURCE LINE # 109
0027 C3            CLR     C
0028 22            RET     
                                           ; SOURCE LINE # 110
0029         ?C0012:
                                           ; SOURCE LINE # 112
;---- Variable 'i' assigned to Register 'R6' ----
0029 E4            CLR     A
002A FE            MOV     R6,A
002B         ?C0013:
002B EE            MOV     A,R6
C51 COMPILER V3.96,  SN-83203013  I2C                                                      09/12/05  17:49:31  PAGE 7   

002C C3            CLR     C
002D 9500    R     SUBB    A,no
002F 5026          JNC     ?C0014
                                           ; SOURCE LINE # 113
0031 AB00    R     MOV     R3,s
0033 AA00    R     MOV     R2,s+01H
0035 A900    R     MOV     R1,s+02H
0037 120000  E     LCALL   ?C_CLDPTR
003A FF            MOV     R7,A
003B 120000  R     LCALL   _SendByte
                                           ; SOURCE LINE # 114
003E E5D9          MOV     A,I2STAT
0040 6428          XRL     A,#028H
0042 6005          JZ      ?C0016
                                           ; SOURCE LINE # 115
0044 75D854        MOV     I2CON,#054H
                                           ; SOURCE LINE # 116
0047 C3            CLR     C
0048 22            RET     
                                           ; SOURCE LINE # 117
0049         ?C0016:
                                           ; SOURCE LINE # 118
0049 7401          MOV     A,#01H
004B 2500    R     ADD     A,s+02H
004D F500    R     MOV     s+02H,A
004F E4            CLR     A
0050 3500    R     ADDC    A,s+01H
0052 F500    R     MOV     s+01H,A
                                           ; SOURCE LINE # 119
0054 0E            INC     R6
0055 80D4          SJMP    ?C0013
0057         ?C0014:
                                           ; SOURCE LINE # 121
0057 75D854        MOV     I2CON,#054H
                                           ; SOURCE LINE # 122
005A D3            SETB    C
                                           ; SOURCE LINE # 123
005B         ?C0011:
005B 22            RET     
             ; FUNCTION _ISendStr (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    154    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   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 + -