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

📄 upsd_st85.lst

📁 ST uPSD32XX I2C This example demo code is provided as is and has no warranty, implied or otherwise.
💻 LST
📖 第 1 页 / 共 3 页
字号:
0034 E0                MOVX    A,@DPTR
0035 FF                MOV     R7,A
0036 120000      R     LCALL   _Conv_BCD_to_Int
0039 8E00        R     MOV     init_hour,R6
003B 8F00        R     MOV     init_hour+01H,R7
                                           ; SOURCE LINE # 76
003D 900000      E     MOV     DPTR,#i2c_rcv_buf+02H
0040 E0                MOVX    A,@DPTR
0041 FF                MOV     R7,A
0042 120000      R     LCALL   _Conv_BCD_to_Int
;---- Variable 'init_mins' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 78
0045 D3                SETB    C
0046 E500        R     MOV     A,init_hour+01H
0048 9417              SUBB    A,#017H
004A E500        R     MOV     A,init_hour
004C 6480              XRL     A,#080H
004E 9480              SUBB    A,#080H
0050 500A              JNC     ?C0004
0052 EF                MOV     A,R7
0053 943B              SUBB    A,#03BH
0055 EE                MOV     A,R6
0056 6480              XRL     A,#080H
0058 9480              SUBB    A,#080H
005A 4011              JC      ?C0003
C51 COMPILER V7.00  UPSD_ST85                                                              11/13/2002 09:49:12 PAGE 6   

005C         ?C0004:
                                           ; SOURCE LINE # 79
005C E4                CLR     A
005D 900000      E     MOV     DPTR,#i2c_xmit_buf+02H
0060 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 80
0061 A3                INC     DPTR
0062 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 81
0063 120000      R     LCALL   uPSD_st85_write
                                           ; SOURCE LINE # 82
0066 7FE8              MOV     R7,#0E8H
0068 7E03              MOV     R6,#03H
006A 120000      E     LCALL   _timer0_delay
                                           ; SOURCE LINE # 83
006D         ?C0003:
                                           ; SOURCE LINE # 84
006D 020000      R     LJMP    uPSD_i2c_st85_read_clock
             ; FUNCTION uPSD_read_clock_init (END)

             ; FUNCTION uPSD_i2c_st85_read_clock (BEGIN)
                                           ; SOURCE LINE # 88
                                           ; SOURCE LINE # 89
0000 7B10              MOV     R3,#010H
0002 E4                CLR     A
0003 FD                MOV     R5,A
0004 7FD0              MOV     R7,#0D0H
0006 120000      E     LCALL   _upsd_i2c_rcv
                                           ; SOURCE LINE # 90
0009 7BFF              MOV     R3,#0FFH
000B 7A00        R     MOV     R2,#HIGH ?SC_0
000D 7900        R     MOV     R1,#LOW ?SC_0
000F 120000      E     LCALL   _printfLCD
                                           ; SOURCE LINE # 91
0012 7BFF              MOV     R3,#0FFH
0014 7A00        R     MOV     R2,#HIGH ?SC_18
0016 7900        R     MOV     R1,#LOW ?SC_18
0018 120000      E     LCALL   _printfLCD
                                           ; SOURCE LINE # 92
001B 900000      E     MOV     DPTR,#i2c_rcv_buf+03H
001E E0                MOVX    A,@DPTR
001F FF                MOV     R7,A
0020 120000      E     LCALL   _print_hex
                                           ; SOURCE LINE # 93
0023 7BFF              MOV     R3,#0FFH
0025 7A00        R     MOV     R2,#HIGH ?SC_23
0027 7900        R     MOV     R1,#LOW ?SC_23
0029 120000      E     LCALL   _printfLCD
                                           ; SOURCE LINE # 94
002C 900000      E     MOV     DPTR,#i2c_rcv_buf+02H
002F E0                MOVX    A,@DPTR
0030 FF                MOV     R7,A
0031 120000      E     LCALL   _print_hex
                                           ; SOURCE LINE # 95
0034 7BFF              MOV     R3,#0FFH
0036 7A00        R     MOV     R2,#HIGH ?SC_23
0038 7900        R     MOV     R1,#LOW ?SC_23
003A 120000      E     LCALL   _printfLCD
                                           ; SOURCE LINE # 96
003D 900000      E     MOV     DPTR,#i2c_rcv_buf+01H
0040 E0                MOVX    A,@DPTR
0041 FF                MOV     R7,A
C51 COMPILER V7.00  UPSD_ST85                                                              11/13/2002 09:49:12 PAGE 7   

0042 120000      E     LCALL   _print_hex
                                           ; SOURCE LINE # 97
0045 7BFF              MOV     R3,#0FFH
0047 7A00        R     MOV     R2,#HIGH ?SC_25
0049 7900        R     MOV     R1,#LOW ?SC_25
004B 020000      E     LJMP    _printfLCD
             ; FUNCTION uPSD_i2c_st85_read_clock (END)

             ; FUNCTION set_hour (BEGIN)
                                           ; SOURCE LINE # 101
                                           ; SOURCE LINE # 102
                                           ; SOURCE LINE # 105
0000 900000      E     MOV     DPTR,#i2c_rcv_buf+03H
0003 E0                MOVX    A,@DPTR
0004 FF                MOV     R7,A
0005 120000      R     LCALL   _Conv_BCD_to_Int
;---- Variable 'tmp_hour' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 107
0008 C3                CLR     C
0009 EF                MOV     A,R7
000A 9417              SUBB    A,#017H
000C EE                MOV     A,R6
000D 6480              XRL     A,#080H
000F 9480              SUBB    A,#080H
0011 4005              JC      ?C0007
                                           ; SOURCE LINE # 108
0013 E4                CLR     A
0014 FE                MOV     R6,A
0015 FF                MOV     R7,A
0016 8005              SJMP    ?C0008
0018         ?C0007:
                                           ; SOURCE LINE # 110
0018 0F                INC     R7
0019 BF0001            CJNE    R7,#00H,?C0072
001C 0E                INC     R6
001D         ?C0072:
001D         ?C0008:
                                           ; SOURCE LINE # 112
001D 120000      R     LCALL   _Conv_Int_to_BCD
0020 900000      E     MOV     DPTR,#i2c_xmit_buf+03H
0023 EF                MOV     A,R7
0024 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 113
0025 020000      R     LJMP    uPSD_st85_write
             ; FUNCTION set_hour (END)

             ; FUNCTION set_minutes (BEGIN)
                                           ; SOURCE LINE # 116
                                           ; SOURCE LINE # 117
                                           ; SOURCE LINE # 120
0000 900000      E     MOV     DPTR,#i2c_rcv_buf+02H
0003 E0                MOVX    A,@DPTR
0004 FF                MOV     R7,A
0005 120000      R     LCALL   _Conv_BCD_to_Int
;---- Variable 'tmp_mins' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 122
0008 C3                CLR     C
0009 EF                MOV     A,R7
000A 943B              SUBB    A,#03BH
000C EE                MOV     A,R6
000D 6480              XRL     A,#080H
000F 9480              SUBB    A,#080H
C51 COMPILER V7.00  UPSD_ST85                                                              11/13/2002 09:49:12 PAGE 8   

0011 4005              JC      ?C0010
                                           ; SOURCE LINE # 123
0013 E4                CLR     A
0014 FE                MOV     R6,A
0015 FF                MOV     R7,A
0016 8005              SJMP    ?C0011
0018         ?C0010:
                                           ; SOURCE LINE # 125
0018 0F                INC     R7
0019 BF0001            CJNE    R7,#00H,?C0073
001C 0E                INC     R6
001D         ?C0073:
001D         ?C0011:
                                           ; SOURCE LINE # 126
001D 120000      R     LCALL   _Conv_Int_to_BCD
0020 900000      E     MOV     DPTR,#i2c_xmit_buf+02H
0023 EF                MOV     A,R7
0024 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 127
0025 020000      R     LJMP    uPSD_st85_write
             ; FUNCTION set_minutes (END)

             ; FUNCTION _Conv_Int_to_BCD (BEGIN)
                                           ; SOURCE LINE # 136
;---- Variable 'integ' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 137
                                           ; SOURCE LINE # 139
0000 AD07              MOV     R5,AR7
;---- Variable 'tmp_buf' assigned to Register 'R5' ----
                                           ; SOURCE LINE # 140
0002 D3                SETB    C
0003 EF                MOV     A,R7
0004 9409              SUBB    A,#09H
0006 EE                MOV     A,R6
0007 6480              XRL     A,#080H
0009 9480              SUBB    A,#080H
000B 5001              JNC     ?C0013
000D 22                RET     
000E         ?C0013:
                                           ; SOURCE LINE # 141
000E D3                SETB    C
000F EF                MOV     A,R7
0010 9413              SUBB    A,#013H
0012 EE                MOV     A,R6
0013 6480              XRL     A,#080H
0015 9480              SUBB    A,#080H
0017 5004              JNC     ?C0016
0019 7C01              MOV     R4,#01H
001B 8002              SJMP    ?C0017
001D         ?C0016:
001D 7C00              MOV     R4,#00H
001F         ?C0017:
001F C3                CLR     C
0020 EF                MOV     A,R7
0021 940A              SUBB    A,#0AH
0023 EE                MOV     A,R6
0024 6480              XRL     A,#080H
0026 9480              SUBB    A,#080H
0028 4004              JC      ?C0018
002A 7B01              MOV     R3,#01H
002C 8002              SJMP    ?C0019
002E         ?C0018:
C51 COMPILER V7.00  UPSD_ST85                                                              11/13/2002 09:49:12 PAGE 9   

002E 7B00              MOV     R3,#00H
0030         ?C0019:
0030 EB                MOV     A,R3
0031 5C                ANL     A,R4
0032 6005              JZ      ?C0015
0034 ED                MOV     A,R5
0035 2406              ADD     A,#06H
0037 FF                MOV     R7,A
0038 22                RET     
0039         ?C0015:
                                           ; SOURCE LINE # 142
0039 D3                SETB    C
003A EF                MOV     A,R7
003B 941D              SUBB    A,#01DH
003D EE                MOV     A,R6
003E 6480              XRL     A,#080H
0040 9480              SUBB    A,#080H
0042 5004              JNC     ?C0021
0044 7C01              MOV     R4,#01H
0046 8002              SJMP    ?C0022
0048         ?C0021:
0048 7C00              MOV     R4,#00H
004A         ?C0022:
004A C3                CLR     C
004B EF                MOV     A,R7
004C 9414              SUBB    A,#014H
004E EE                MOV     A,R6
004F 6480              XRL     A,#080H
0051 9480              SUBB    A,#080H
0053 4004              JC      ?C0023
0055 7B01              MOV     R3,#01H
0057 8002              SJMP    ?C0024
0059         ?C0023:
0059 7B00              MOV     R3,#00H
005B         ?C0024:
005B EB                MOV     A,R3
005C 5C                ANL     A,R4
005D 6005              JZ      ?C0020
005F ED                MOV     A,R5
0060 240C              ADD     A,#0CH
0062 FF                MOV     R7,A
0063 22                RET     
0064         ?C0020:
                                           ; SOURCE LINE # 143
0064 D3                SETB    C
0065 EF                MOV     A,R7
0066 9427              SUBB    A,#027H
0068 EE                MOV     A,R6
0069 6480              XRL     A,#080H
006B 9480              SUBB    A,#080H
006D 5004              JNC     ?C0026
006F 7C01              MOV     R4,#01H
0071 8002              SJMP    ?C0027
0073         ?C0026:
0073 7C00              MOV     R4,#00H
0075         ?C0027:
0075 C3                CLR     C
0076 EF                MOV     A,R7
0077 941E              SUBB    A,#01EH
0079 EE                MOV     A,R6
007A 6480              XRL     A,#080H
007C 9480              SUBB    A,#080H
C51 COMPILER V7.00  UPSD_ST85                                                              11/13/2002 09:49:12 PAGE 10  

007E 4004              JC      ?C0028
0080 7B01              MOV     R3,#01H
0082 8002              SJMP    ?C0029

⌨️ 快捷键说明

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