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

📄 spi_basic.m51

📁 本源码是c8051f330使用spi口在spi模式下读写SD卡
💻 M51
📖 第 1 页 / 共 3 页
字号:
BL51 BANKED LINKER/LOCATER V5.12              06/04/2008  15:52:41  PAGE 1


BL51 BANKED LINKER/LOCATER V5.12, INVOKED BY:
D:\KEIL\C51\BIN\BL51.EXE C:\222\SPI_BASIC.OBJ, C:\222\CONFIG.OBJ, C:\222\MAIN.
>> OBJ, C:\222\SD_SPI.OBJ TO C:\222\SPI_BASIC RS (256) PL (68) PW (78)


MEMORY MODEL: SMALL


INPUT MODULES INCLUDED:
  C:\222\SPI_BASIC.OBJ (SPI_BASIC)
  C:\222\CONFIG.OBJ (CONFIG)
  C:\222\MAIN.OBJ (MAIN)
  C:\222\SD_SPI.OBJ (SD_SPI)
  D:\KEIL\C51\LIB\C51S.LIB (?C_STARTUP)
  D:\KEIL\C51\LIB\C51S.LIB (?C?COPY)
  D:\KEIL\C51\LIB\C51S.LIB (?C?CLDOPTR)
  D:\KEIL\C51\LIB\C51S.LIB (?C?CSTPTR)
  D:\KEIL\C51\LIB\C51S.LIB (?C?CSTOPTR)
  D:\KEIL\C51\LIB\C51S.LIB (?C?ULCMP)
  D:\KEIL\C51\LIB\C51S.LIB (?C?ULSHR)
  D:\KEIL\C51\LIB\C51S.LIB (?C_INIT)


LINK MAP OF MODULE:  C:\222\SPI_BASIC (SPI_BASIC)


            TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
            -----------------------------------------------------

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
            DATA    0008H     001CH     UNIT         _DATA_GROUP_
            DATA    0024H     000CH     UNIT         ?DT?_SD_WRITE?SD_SPI
            DATA    0030H     0006H     UNIT         ?DT?ERASE_SELECTEDBLOCK?S
>> D_SPI
            DATA    0036H     0006H     UNIT         ?DT?SD_CHECK_PROTECT?SD_S
>> PI
            DATA    003CH     0006H     UNIT         ?DT?SD_SET_PROTECT?SD_SPI
>> 
            DATA    0042H     0006H     UNIT         ?DT?SD_READ_OCR?SD_SPI
            DATA    0048H     0005H     UNIT         ?DT?_SD_CRC?SD_SPI
            DATA    004DH     0005H     UNIT         ?DT?SD_STOP_TRANSMISSION?
>> SD_SPI
            DATA    0052H     0004H     UNIT         ?DT?MAIN
            DATA    0056H     0004H     UNIT         ?DT?_SD_READ_MULTIPLE_BLO
>> CK?SD_SPI
            DATA    005AH     0004H     UNIT         ?DT?_SD_WRITE_SINGLE_BLOC
>> K?SD_SPI
            DATA    005EH     0004H     UNIT         ?DT?_ERASE_STARTBLOCK?SD_
>> SPI
            DATA    0062H     0004H     UNIT         ?DT?_ERASE_ENDBLOCK?SD_SP
>> I
            IDATA   0066H     0001H     UNIT         ?STACK

            * * * * * * *  X D A T A   M E M O R Y  * * * * * * *
            XDATA   0000H     0018H     UNIT         ?XD?SD_SPI

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     0003H     ABSOLUTE     
            CODE    0003H     0026H     UNIT         ?PR?_SD_BLOCK_CMD?SD_SPI
                    0029H     0002H                  *** GAP ***
            CODE    002BH     0003H     ABSOLUTE     
            CODE    002EH     017BH     UNIT         ?C?LIB_CODE
            CODE    01A9H     00C4H     UNIT         ?PR?_SD_SEND_CMD?SD_SPI
            CODE    026DH     009BH     UNIT         ?PR?_SD_READ?SD_SPI
            CODE    0308H     008CH     UNIT         ?C_C51STARTUP
BL51 BANKED LINKER/LOCATER V5.12            06/04/2008  15:52:41  PAGE 2


            CODE    0394H     008AH     UNIT         ?PR?SD_INIT?SD_SPI
            CODE    041EH     0079H     UNIT         ?PR?_SD_WRITE?SD_SPI
            CODE    0497H     004BH     UNIT         ?PR?_SD_PACK_PARAM?SD_SPI
>> 
            CODE    04E2H     003EH     UNIT         ?PR?_SD_READCARD_STATUS?S
>> D_SPI
            CODE    0520H     0035H     UNIT         ?PR?SD_READ_CSD?SD_SPI
            CODE    0555H     0035H     UNIT         ?PR?SD_READ_CID?SD_SPI
            CODE    058AH     0032H     UNIT         ?PR?SD_EN_ACMD?SD_SPI
            CODE    05BCH     0032H     UNIT         ?PR?SD_ACTIVATES?SD_SPI
            CODE    05EEH     0032H     UNIT         ?PR?SD_READ_OCR?SD_SPI
            CODE    0620H     0032H     UNIT         ?PR?SD_RESET?SD_SPI
            CODE    0652H     0032H     UNIT         ?PR?SD_CHECK?SD_SPI
            CODE    0684H     0031H     UNIT         ?PR?_SD_WRITE_SINGLE_BLOC
>> K?SD_SPI
            CODE    06B5H     002EH     UNIT         ?C_INITSEG
            CODE    06E3H     002EH     UNIT         ?PR?_SD_READ_SINGLE_BLOCK
>> ?SD_SPI
            CODE    0711H     002EH     UNIT         ?PR?_SD_WRITE_MULTIPLE_BL
>> OCK_CMD?SD_SPI
            CODE    073FH     002BH     UNIT         ?PR?SD_STOP_TRANSMISSION?
>> SD_SPI
            CODE    076AH     0029H     UNIT         ?PR?_SD_CRC?SD_SPI
            CODE    0793H     0024H     UNIT         ?CO?SD_SPI
            CODE    07B7H     0021H     UNIT         ?PR?SD_CLEAR_PROTECT?SD_S
>> PI
            CODE    07D8H     0021H     UNIT         ?PR?SD_SET_PROTECT?SD_SPI
>> 
            CODE    07F9H     001FH     UNIT         ?PR?ERASE_SELECTEDBLOCK?S
>> D_SPI
            CODE    0818H     001FH     UNIT         ?PR?SD_CHECK_PROTECT?SD_S
>> PI
            CODE    0837H     001DH     UNIT         ?PR?_SD_READ_MULTIPLE_BLO
>> CK?SD_SPI
            CODE    0854H     001AH     UNIT         ?PR?_TIMER2_INIT?CONFIG
            CODE    086EH     001AH     UNIT         ?PR?_SD_SET_BLOCKLEN?SD_S
>> PI
            CODE    0888H     0019H     UNIT         ?PR?MAIN?MAIN
            CODE    08A1H     0018H     UNIT         ?PR?_ERASE_STARTBLOCK?SD_
>> SPI
            CODE    08B9H     0018H     UNIT         ?PR?_ERASE_ENDBLOCK?SD_SP
>> I
            CODE    08D1H     0016H     UNIT         ?PR?INIT_DEVICE?CONFIG
            CODE    08E7H     0011H     UNIT         ?PR?_DELAY?CONFIG
            CODE    08F8H     0011H     UNIT         ?PR?_SD_DELAY?SD_SPI
            CODE    0909H     0010H     UNIT         ?PR?SD_SENDMULTI_STOP?SD_
>> SPI
            CODE    0919H     000DH     UNIT         ?PR?PORT_IO_INIT?CONFIG
            CODE    0926H     000BH     UNIT         ?PR?SPI_RECBYTE?SPI_BASIC
>> 
            CODE    0931H     000AH     UNIT         ?PR?SPI_INIT?CONFIG
            CODE    093BH     0008H     UNIT         ?PR?_SPI_SENDBYTE?SPI_BAS
>> IC
            CODE    0943H     0007H     UNIT         ?PR?PCA_INIT?CONFIG
            CODE    094AH     0007H     UNIT         ?PR?OSCILLATOR_INIT?CONFI
>> G
            CODE    0951H     0005H     UNIT         ?PR?TIMER2_ISR?CONFIG
            CODE    0956H     0003H     UNIT         ?PR?SPI_CS_CLR?SPI_BASIC
            CODE    0959H     0003H     UNIT         ?PR?SPI_CS_SET?SPI_BASIC



OVERLAY MAP OF MODULE:   C:\222\SPI_BASIC (SPI_BASIC)


BL51 BANKED LINKER/LOCATER V5.12            06/04/2008  15:52:41  PAGE 3


SEGMENT                                           DATA_GROUP 
  +--> CALLED SEGMENT                           START    LENGTH
---------------------------------------------------------------
?C_C51STARTUP                                   -----    -----
  +--> ?PR?MAIN?MAIN
  +--> ?C_INITSEG

?PR?MAIN?MAIN                                   0008H    0002H
  +--> ?PR?INIT_DEVICE?CONFIG
  +--> ?PR?SD_INIT?SD_SPI
  +--> ?PR?_SD_READ_SINGLE_BLOCK?SD_SPI

?PR?INIT_DEVICE?CONFIG                          -----    -----
  +--> ?PR?PCA_INIT?CONFIG
  +--> ?PR?SPI_INIT?CONFIG
  +--> ?PR?PORT_IO_INIT?CONFIG
  +--> ?PR?OSCILLATOR_INIT?CONFIG
  +--> ?PR?_TIMER2_INIT?CONFIG

?PR?SD_INIT?SD_SPI                              000AH    0001H
  +--> ?PR?SPI_CS_SET?SPI_BASIC
  +--> ?PR?_SPI_SENDBYTE?SPI_BASIC
  +--> ?PR?SPI_CS_CLR?SPI_BASIC
  +--> ?PR?SD_RESET?SD_SPI
  +--> ?PR?_SD_DELAY?SD_SPI
  +--> ?PR?SD_EN_ACMD?SD_SPI
  +--> ?PR?SD_ACTIVATES?SD_SPI
  +--> ?PR?SD_CHECK?SD_SPI
  +--> ?PR?_SD_SET_BLOCKLEN?SD_SPI
  +--> ?PR?SD_CLEAR_PROTECT?SD_SPI
  +--> ?PR?_SD_READCARD_STATUS?SD_SPI
  +--> ?PR?SD_READ_CID?SD_SPI
  +--> ?PR?SD_READ_CSD?SD_SPI

?PR?SD_RESET?SD_SPI                             000BH    0006H
  +--> ?CO?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?_SD_SEND_CMD?SD_SPI                         0019H    000BH
  +--> ?PR?SPI_CS_CLR?SPI_BASIC
  +--> ?PR?_SPI_SENDBYTE?SPI_BASIC
  +--> ?PR?SPI_RECBYTE?SPI_BASIC

?PR?SD_EN_ACMD?SD_SPI                           000BH    0006H
  +--> ?CO?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?SD_ACTIVATES?SD_SPI                         000BH    0006H
  +--> ?CO?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?SD_CHECK?SD_SPI                             000BH    0006H
  +--> ?CO?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?_SD_SET_BLOCKLEN?SD_SPI                     000BH    0005H
  +--> ?PR?_SD_PACK_PARAM?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI

?PR?_SD_PACK_PARAM?SD_SPI                       0019H    0004H

BL51 BANKED LINKER/LOCATER V5.12            06/04/2008  15:52:41  PAGE 4


?PR?SD_CLEAR_PROTECT?SD_SPI                     000BH    0006H
  +--> ?PR?_SD_PACK_PARAM?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?_SD_READCARD_STATUS?SD_SPI                  000BH    0008H
  +--> ?CO?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI
  +--> ?PR?_SD_READ?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?_SD_READ?SD_SPI                             0013H    000AH
  +--> ?PR?SPI_CS_CLR?SPI_BASIC
  +--> ?PR?SPI_RECBYTE?SPI_BASIC
  +--> ?PR?SPI_CS_SET?SPI_BASIC
  +--> ?PR?_SPI_SENDBYTE?SPI_BASIC
  +--> ?PR?_SD_DELAY?SD_SPI

?PR?SD_READ_CID?SD_SPI                          000BH    0006H
  +--> ?CO?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI
  +--> ?PR?_SD_READ?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?SD_READ_CSD?SD_SPI                          000BH    0006H
  +--> ?CO?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI
  +--> ?PR?_SD_READ?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?_SD_READ_SINGLE_BLOCK?SD_SPI                000AH    0004H
  +--> ?PR?_SD_BLOCK_CMD?SD_SPI
  +--> ?PR?_SD_READ?SD_SPI
  +--> ?PR?SPI_CS_SET?SPI_BASIC

?PR?_SD_BLOCK_CMD?SD_SPI                        000EH    000BH
  +--> ?PR?_SD_PACK_PARAM?SD_SPI
  +--> ?PR?_SD_SEND_CMD?SD_SPI



SYMBOL TABLE OF MODULE:  C:\222\SPI_BASIC (SPI_BASIC)

  VALUE           TYPE          NAME
  ----------------------------------

  -------         MODULE        SPI_BASIC
  C:0000H         SYMBOL        _ICE_DUMMY_
  D:0080H         PUBLIC        P0
  B:0080H.7       PUBLIC        CS
  C:0926H         PUBLIC        spi_recbyte
  C:0956H         PUBLIC        spi_cs_clr
  C:0959H         PUBLIC        spi_cs_set
  B:00F8H.7       PUBLIC        SPIF
  C:093BH         PUBLIC        _spi_sendbyte
  D:00A3H         PUBLIC        SPI0DAT
  -------         PROC          _SPI_SENDBYTE
  D:0007H         SYMBOL        byte
  C:093BH         LINE#         8
  C:093BH         LINE#         9
  C:093BH         LINE#         11
  C:093DH         LINE#         12
  C:0940H         LINE#         13
  C:0942H         LINE#         15
  -------         ENDPROC       _SPI_SENDBYTE
BL51 BANKED LINKER/LOCATER V5.12            06/04/2008  15:52:41  PAGE 5


  -------         PROC          SPI_RECBYTE
  -------         DO            
  D:0007H         SYMBOL        rec
  -------         ENDDO         
  C:0926H         LINE#         17
  C:0926H         LINE#         18
  C:0926H         LINE#         21
  C:0929H         LINE#         22
  C:092CH         LINE#         23
  C:092EH         LINE#         24
  C:0930H         LINE#         27
  C:0930H         LINE#         29
  -------         ENDPROC       SPI_RECBYTE
  -------         PROC          SPI_CS_CLR
  C:0956H         LINE#         31
  C:0956H         LINE#         32
  C:0956H         LINE#         33
  C:0958H         LINE#         34
  -------         ENDPROC       SPI_CS_CLR
  -------         PROC          SPI_CS_SET
  C:0959H         LINE#         36
  C:0959H         LINE#         37
  C:0959H         LINE#         38
  C:095BH         LINE#         40
  -------         ENDPROC       SPI_CS_SET
  -------         ENDMOD        SPI_BASIC

  -------         MODULE        CONFIG
  C:0000H         SYMBOL        _ICE_DUMMY_
  D:00A2H         PUBLIC        SPI0CKR
  D:0080H         PUBLIC        P0
  C:0951H         PUBLIC        Timer2_ISR
  B:00A8H.7       PUBLIC        EA
  D:00A4H         PUBLIC        P0MDOUT
  C:0854H         PUBLIC        _Timer2_Init
  B:00C8H.7       PUBLIC        TF2H
  C:0919H         PUBLIC        Port_IO_Init
  D:00D9H         PUBLIC        PCA0MD
  C:094AH         PUBLIC        Oscillator_Init
  D:00E1H         PUBLIC        XBR0
  D:00E2H         PUBLIC        XBR1
  D:00CCH         PUBLIC        TMR2
  D:00F8H         PUBLIC        SPI0CN
  D:00C8H         PUBLIC        TMR2CN
  D:00D4H         PUBLIC        P0SKIP
  D:00B2H         PUBLIC        OSCICN
  D:00CAH         PUBLIC        TMR2RL
  C:08D1H         PUBLIC        Init_Device
  C:0943H         PUBLIC        PCA_Init
  B:00A8H.5       PUBLIC        ET2
  B:0080H.1       PUBLIC        LED
  B:00C8H.2       PUBLIC        TR2
  C:0931H         PUBLIC        SPI_Init
  D:00EFH         PUBLIC        RSTSRC
  D:00A1H         PUBLIC        SPI0CFG
  D:008EH         PUBLIC        CKCON
  C:08E7H         PUBLIC        _delay
  -------         PROC          PCA_INIT
  C:0943H         LINE#         18
  C:0943H         LINE#         19
  C:0943H         LINE#         20
  C:0946H         LINE#         21
  C:0949H         LINE#         22
  -------         ENDPROC       PCA_INIT
  -------         PROC          SPI_INIT
BL51 BANKED LINKER/LOCATER V5.12            06/04/2008  15:52:41  PAGE 6


  C:0931H         LINE#         24
  C:0931H         LINE#         25
  C:0931H         LINE#         26
  C:0934H         LINE#         27
  C:0937H         LINE#         28

⌨️ 快捷键说明

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