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

📄 spi_master.lst

📁 此程序是MSC1203工程评估板MCU原代码.此芯片精度高.内部包含MCU
💻 LST
📖 第 1 页 / 共 3 页
字号:
0008 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 45 
0009 A3             INC    DPTR
000A F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 46 
000B 7470           MOV    A,#070H
000D A3             INC    DPTR
000E F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 47 
000F A3             INC    DPTR
0010 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 48 
0011 C200    R      CLR    rxbuf_full
                                           ; SOURCE LINE # 49 
0013 C200    R      CLR    txbuf_full
                                           ; SOURCE LINE # 50 
0015 D200    R      SETB   rxbuf_empty
                                           ; SOURCE LINE # 51 
0017 D200    R      SETB   txbuf_empty
0019 020000  R      LJMP   EH_NINR?C

            ; FUNCTION reset_pointers (END)

            ; FUNCTION int2_isr (BEGIN)
                                           ; SOURCE LINE # 59 
0000 120000  R      LCALL  SH_INR?C
0003 120000  R      LCALL  stop_spi
0006 020000  R      LJMP   EH_INR?C

            ; FUNCTION int2_isr (END)

            ; FUNCTION int3_isr (BEGIN)
                                           ; SOURCE LINE # 64 
0000 120000  R      LCALL  SH_INR?C
                                           ; SOURCE LINE # 63 
0003 120000  R      LCALL  init_spi_slave
                                           ; SOURCE LINE # 64 
0006 D2E8           SETB   EX2
0008 020000  R      LJMP   EH_INR?C

            ; FUNCTION int3_isr (END)

            ; FUNCTION _rxbuf_write (BEGIN)
                                           ; SOURCE LINE # 79 
0000 120000  R      LCALL  SH_NINR?C
0003 900000  R      MOV    DPTR,#in_data
0006 EF             MOV    A,R7
0007 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 71 
0008 30000B  R      JNB    rxbuf_full,?ELSE3
                                           ; SOURCE LINE # 72 
000B 7B05           MOV    R3,#005H
000D 7A00    R      MOV    R2,#HIGH(?STR?SPI_MASTER?BASE)
000F 7900    R      MOV    R1,#LOW(?STR?SPI_MASTER?BASE)
0011 120000  R      LCALL  ?printf
0014 8023           SJMP   ?NXT7
0016         ?ELSE3:
                                           ; SOURCE LINE # 75 
0016 900000  R      MOV    DPTR,#in_data
0019 E0             MOVX   A,@DPTR
001A FA             MOV    R2,A
001B 900000  R      MOV    DPTR,#rxhead
001E E0             MOVX   A,@DPTR
001F F8             MOV    R0,A
0020 A602           MOV    @R0,AR2
                                           ; SOURCE LINE # 76 
0022 E0             MOVX   A,@DPTR
0023 04             INC    A
0024 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 77 
0025 C200    R      CLR    rxbuf_empty
                                           ; SOURCE LINE # 78 
0027 B47003         CJNE   A,#070H,?NXT8
002A 7460           MOV    A,#060H
002C F0             MOVX   @DPTR,A
002D         ?NXT8:
                                           ; SOURCE LINE # 79 
002D 900000  R      MOV    DPTR,#rxhead
0030 E0             MOVX   A,@DPTR
0031 FA             MOV    R2,A
0032 A3             INC    DPTR
0033 E0             MOVX   A,@DPTR
0034 B50202         CJNE   A,AR2,?NXT7
0037 D200    R      SETB   rxbuf_full
0039         ?NXT7:
0039 020000  R      LJMP   EH_NINR?C

            ; FUNCTION _rxbuf_write (END)

            ; FUNCTION rxbuf_read (BEGIN)
                                           ; SOURCE LINE # 95 
0000 120000  R      LCALL  SH_NINR?C
0003         ?WHILE1:
                                           ; SOURCE LINE # 87 
0003 300002  R      JNB    rxbuf_empty,?NXT13
0006 80FB           SJMP   ?WHILE1
0008         ?NXT13:
                                           ; SOURCE LINE # 88 
0008 C2DD           CLR    EAI
              ; R3 is assigned to tmp_data
                                           ; SOURCE LINE # 89 
000A 900000  R      MOV    DPTR,#rxtail
000D E0             MOVX   A,@DPTR
000E F8             MOV    R0,A
000F 8603           MOV    AR3,@R0
                                           ; SOURCE LINE # 90 
0011 E0             MOVX   A,@DPTR
0012 04             INC    A
0013 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 91 
0014 C200    R      CLR    rxbuf_full
                                           ; SOURCE LINE # 92 
0016 B47003         CJNE   A,#070H,?NXT14
0019 7460           MOV    A,#060H
001B F0             MOVX   @DPTR,A
001C         ?NXT14:
                                           ; SOURCE LINE # 93 
001C 900000  R      MOV    DPTR,#rxtail
001F E0             MOVX   A,@DPTR
0020 FA             MOV    R2,A
0021 900000  R      MOV    DPTR,#rxhead
0024 E0             MOVX   A,@DPTR
0025 B50202         CJNE   A,AR2,?NXT15
0028 D200    R      SETB   rxbuf_empty
002A         ?NXT15:
                                           ; SOURCE LINE # 94 
002A D2DD           SETB   EAI
                                           ; SOURCE LINE # 95 
002C 8B07           MOV    AR7,R3
002E 020000  R      LJMP   EH_NINR?C

            ; FUNCTION rxbuf_read (END)

            ; FUNCTION _txbuf_write (BEGIN)
                                           ; SOURCE LINE # 108 
0000 120000  R      LCALL  SH_NINR?C
              ; Register R7 is assigned to parameter in_data
0003         ?WHILE3:
                                           ; SOURCE LINE # 101 
0003 300002  R      JNB    txbuf_full,?NXT19
0006 80FB           SJMP   ?WHILE3
0008         ?NXT19:
                                           ; SOURCE LINE # 102 
0008 C2DD           CLR    EAI
                                           ; SOURCE LINE # 103 
000A 900000  R      MOV    DPTR,#txhead
000D E0             MOVX   A,@DPTR
000E F8             MOV    R0,A
000F A607           MOV    @R0,AR7
                                           ; SOURCE LINE # 104 
0011 E0             MOVX   A,@DPTR
0012 04             INC    A
0013 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 105 
0014 C200    R      CLR    txbuf_empty
                                           ; SOURCE LINE # 106 
0016 B48003         CJNE   A,#080H,?NXT20
0019 7470           MOV    A,#070H
001B F0             MOVX   @DPTR,A
001C         ?NXT20:
                                           ; SOURCE LINE # 107 
001C 900000  R      MOV    DPTR,#txhead
001F E0             MOVX   A,@DPTR
0020 FA             MOV    R2,A
0021 A3             INC    DPTR
0022 E0             MOVX   A,@DPTR
0023 B50202         CJNE   A,AR2,?NXT21
0026 D200    R      SETB   txbuf_full
0028         ?NXT21:
                                           ; SOURCE LINE # 108 
0028 D2DD           SETB   EAI
002A 020000  R      LJMP   EH_NINR?C

            ; FUNCTION _txbuf_write (END)

            ; FUNCTION txbuf_read (BEGIN)
                                           ; SOURCE LINE # 125 
0000 120000  R      LCALL  SH_NINR?C
                                           ; SOURCE LINE # 114 
0003 74FF           MOV    A,#0FFH
0005 900000  R      MOV    DPTR,#tmp_data
0008 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 115 
0009 30000B  R      JNB    txbuf_empty,?ELSE17
                                           ; SOURCE LINE # 116 
000C 7B05           MOV    R3,#005H
000E 7A00    R      MOV    R2,#HIGH(?STR?SPI_MASTER?BASE + 01FH)
0010 7900    R      MOV    R1,#LOW(?STR?SPI_MASTER?BASE + 01FH)
0012 120000  R      LCALL  ?printf
0015 8026           SJMP   ?NXT25
0017         ?ELSE17:
                                           ; SOURCE LINE # 119 
0017 900000  R      MOV    DPTR,#txtail
001A E0             MOVX   A,@DPTR
001B F8             MOV    R0,A
001C E6             MOV    A,@R0
001D 900000  R      MOV    DPTR,#tmp_data
0020 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 120 
0021 900000  R      MOV    DPTR,#txtail
0024 E0             MOVX   A,@DPTR
0025 04             INC    A
0026 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 121 
0027 C200    R      CLR    txbuf_full
                                           ; SOURCE LINE # 122 
0029 B48003         CJNE   A,#080H,?NXT26
002C 7470           MOV    A,#070H
002E F0             MOVX   @DPTR,A
002F         ?NXT26:
                                           ; SOURCE LINE # 123 
002F 900000  R      MOV    DPTR,#txtail
0032 E0             MOVX   A,@DPTR
0033 FA             MOV    R2,A
0034 900000  R      MOV    DPTR,#txhead
0037 E0             MOVX   A,@DPTR
0038 B50202         CJNE   A,AR2,?NXT25
003B D200    R      SETB   txbuf_empty
003D         ?NXT25:
                                           ; SOURCE LINE # 125 
003D 900000  R      MOV    DPTR,#tmp_data
0040 E0             MOVX   A,@DPTR
0041 FF             MOV    R7,A
0042 020000  R      LJMP   EH_NINR?C

            ; FUNCTION txbuf_read (END)

            ; FUNCTION init_spi_slave (BEGIN)
                                           ; SOURCE LINE # 137 
0000 120000  R      LCALL  SH_NINR?C
                                           ; SOURCE LINE # 129 
0003 75AED0         MOV    P1DDRL,#0D0H
                                           ; SOURCE LINE # 130 
0006 75B430         MOV    P3DDRH,#030H
                                           ; SOURCE LINE # 131 
0009 53F1FE         ANL    PDCON,#0FEH
                                           ; SOURCE LINE # 132 
000C 759A00         MOV    SPICON,#000H
                                           ; SOURCE LINE # 133 
000F 120000  R      LCALL  reset_pointers
                                           ; SOURCE LINE # 134 
0012 759B00         MOV    SPIDATA,#000H
                                           ; SOURCE LINE # 135 
0015 75A604         MOV    AIE,#004H
                                           ; SOURCE LINE # 136 
0018 C2DC           CLR    AI
                                           ; SOURCE LINE # 137 
001A D2DD           SETB   EAI
001C 020000  R      LJMP   EH_NINR?C

            ; FUNCTION init_spi_slave (END)

            ; FUNCTION stop_spi (BEGIN)
                                           ; SOURCE LINE # 145 
0000 120000  R      LCALL  SH_NINR?C
                                           ; SOURCE LINE # 141 
0003 75AE00         MOV    P1DDRL,#000H
                                           ; SOURCE LINE # 142 
0006 75B400         MOV    P3DDRH,#000H
                                           ; SOURCE LINE # 143 
0009 43F101         ORL    PDCON,#001H
                                           ; SOURCE LINE # 144 
000C 7590FF         MOV    P1,#0FFH
                                           ; SOURCE LINE # 145 
000F 75B0FF         MOV    P3,#0FFH
0012 020000  R      LJMP   EH_NINR?C

            ; FUNCTION stop_spi (END)

            ; FUNCTION init_spi_master (BEGIN)
                                           ; SOURCE LINE # 155 
0000 120000  R      LCALL  SH_NINR?C
                                           ; SOURCE LINE # 149 
0003 D291           SETB   SSN
                                           ; SOURCE LINE # 150 
0005 75AED4         MOV    P1DDRL,#0D4H
                                           ; SOURCE LINE # 151 
0008 75B410         MOV    P3DDRH,#010H
                                           ; SOURCE LINE # 152 
000B 53F1FE         ANL    PDCON,#0FEH
                                           ; SOURCE LINE # 153 
000E 759A00         MOV    SPICON,#000H
                                           ; SOURCE LINE # 154 
0011 C2B6           CLR    SCLK
                                           ; SOURCE LINE # 155 
0013 120000  R      LCALL  reset_pointers
0016 020000  R      LJMP   EH_NINR?C

            ; FUNCTION init_spi_master (END)

            ; FUNCTION _spim_send_recv_data (BEGIN)
                                           ; SOURCE LINE # 162 
0000 120000  R      LCALL  SH_NINR?C
              ; Register R7 is assigned to parameter tx_data
              ; R6 is assigned to k
0003 120000  R      LCALL  _spim_send_recv_byte
0006 120000  R      LCALL  _rxbuf_write
0009 020000  R      LJMP   EH_NINR?C

            ; FUNCTION _spim_send_recv_data (END)

            ; FUNCTION adc_spi_dacout (BEGIN)
                                           ; SOURCE LINE # 191 
0000 120000  R      LCALL  SH_NINR?C
                                           ; SOURCE LINE # 175 
0003 120000  R      LCALL  unipolar
0006 EE             MOV    A,R6
0007 900000  R      MOV    DPTR,#data_value
000A F0             MOVX   @DPTR,A
000B A3             INC    DPTR
000C EF             MOV    A,R7
000D F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 176 
000E C290           CLR    ADC_CS
                                           ; SOURCE LINE # 177 
0010 D291           SETB   SSN
                                           ; SOURCE LINE # 178 
0012 C291           CLR    SSN
                                           ; SOURCE LINE # 181 
0014 E4             CLR    A

⌨️ 快捷键说明

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