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

📄 spidemo.lst

📁 STC-MCU-SPI演示(源代码)
💻 LST
字号:
A51 MACRO ASSEMBLER  SPIDEMO                                                              08/04/2010 09:11:50 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN SPIDemo.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE SPIDemo.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;/*------------------------------------------------------------------*/
                       2     ;/* --- STC MCU International Limited -------------------------------*/
                       3     ;/* --- STC 1T Series MCU SPI Demo(1 master and 1 slave) ------------*/
                       4     ;/* --- Mobile: (86)13922805190 -------------------------------------*/
                       5     ;/* --- Fax: 86-755-82944243 ----------------------------------------*/
                       6     ;/* --- Tel: 86-755-82948412 ----------------------------------------*/
                       7     ;/* --- Web: www.STCMCU.com -----------------------------------------*/
                       8     ;/* If you want to use the program or the program referenced in the  */
                       9     ;/* article, please specify in which data and procedures from STC    */
                      10     ;/*------------------------------------------------------------------*/
                      11     
                      12     
                      13     
  008E                14     AUXR    DATA    08EH            ;Auxiliary register
  00CD                15     SPSTAT  DATA    0CDH            ;SPI status register
  0080                16     SPIF    EQU     080H            ;SPSTAT.7
  0040                17     WCOL    EQU     040H            ;SPSTAT.6
  00CE                18     SPCTL   DATA    0CEH            ;SPI control register
  0080                19     SSIG    EQU     080H            ;SPCTL.7
  0040                20     SPEN    EQU     040H            ;SPCTL.6
  0020                21     DORD    EQU     020H            ;SPCTL.5
  0010                22     MSTR    EQU     010H            ;SPCTL.4
  0008                23     CPOL    EQU     008H            ;SPCTL.3
  0004                24     CPHA    EQU     004H            ;SPCTL.2
  0000                25     SPDHH   EQU     000H            ;CPU_CLK/4
  0001                26     SPDH    EQU     001H            ;CPU_CLK/16
  0002                27     SPDL    EQU     002H            ;CPU_CLK/64
  0003                28     SPDLL   EQU     003H            ;CPU_CLK/128
  00CF                29     SPDAT   DATA    0CFH            ;SPI data register
  0093                30     SPISS   BIT     P1.3            ;SPI slave select, connect to slave' SS(P1.4) pin
                      31     
                      32     ;//////////////////////////////////////////////////////////
                      33     
0000                  34             ORG     0000H
0000 020100           35             LJMP    RESET
0100                  36             ORG     0100H
0100                  37     RESET:
0100 12010B           38             LCALL   INIT_UART               ;initial UART
0103 12011D           39             LCALL   INIT_SPI                ;initial SPI
0106                  40     MAIN:
                             
                                     
                                     
                                     
                             
0106 120138           46             LCALL   SPI_SWAP                ;           send previous SPI data to master)
                      47     
0109 80FB             48             SJMP    MAIN
                      49     
                      50     ;//////////////////////////////////////////////////////////
                      51     
010B                  52     INIT_UART:
010B 75985A           53             MOV     SCON,#5AH               ;set UART mode as 8-bit variable baudrate
010E 758920           54             MOV     TMOD,#20H               ;timer1 as 8-bit auto reload mode
0111 758E40           55             MOV     AUXR,#40H               ;timer1 work at 1T mode
0114 758BFB           56             MOV     TL1,#0FBH       ;115200 bps(256 - 18432000 / 32 / 115200)
0117 758DFB           57             MOV     TH1,#0FBH
011A D28E             58             SETB    TR1
A51 MACRO ASSEMBLER  SPIDEMO                                                              08/04/2010 09:11:50 PAGE     2

011C 22               59             RET
                      60     
                      61     ;//////////////////////////////////////////////////////////
                      62     
011D                  63     INIT_SPI:
011D 75CF00           64             MOV     SPDAT,#0                ;initial SPI data
0120 75CDC0           65             MOV     SPSTAT,#SPIF | WCOL ;clear SPI status
                      66     
                                     
                             
0123 75CE40           69             MOV     SPCTL,#SPEN             ;slave mode
                      70     
0126 22               71             RET
                      72     
                      73     ;//////////////////////////////////////////////////////////
                      74     
0127                  75     SEND_UART:
0127 3099FD           76             JNB     TI,$                    ;wait pre-data sent
012A C299             77             CLR     TI                              ;clear TI flag
012C F599             78             MOV     SBUF,A                  ;send current data
012E 22               79             RET
                      80     
                      81     ;//////////////////////////////////////////////////////////
                      82     
012F                  83     RECV_UART:
012F 3098FD           84             JNB     RI,$                    ;wait receive complete
0132 C298             85             CLR     RI                              ;clear RI flag
0134 E599             86             MOV     A,SBUF                  ;return receive data
0136 22               87             RET
0137 22               88             RET
                      89     
                      90     ;//////////////////////////////////////////////////////////
                      91     
0138                  92     SPI_SWAP:
                      93     
                                     
                             
0138 F5CF             96             MOV     SPDAT,A                 ;trigger SPI send
013A                  97     WAIT:
013A E5CD             98             MOV     A,SPSTAT
013C 30E7FB           99             JNB     ACC.7,WAIT              ;wait send complete
013F 75CDC0          100             MOV     SPSTAT,#SPIF | WCOL ;clear SPI status
                     101     
                                     
                             
0142 E5CF            104             MOV     A,SPDAT                 ;return received SPI data
0144 22              105             RET
                     106     
                     107     ;//////////////////////////////////////////////////////////
                     108     
                     109             END
A51 MACRO ASSEMBLER  SPIDEMO                                                              08/04/2010 09:11:50 PAGE     3

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

ACC. . . . . . . .  D ADDR   00E0H   A   
AUXR . . . . . . .  D ADDR   008EH   A   
CPHA . . . . . . .  N NUMB   0004H   A   
CPOL . . . . . . .  N NUMB   0008H   A   
DORD . . . . . . .  N NUMB   0020H   A   
INIT_SPI . . . . .  C ADDR   011DH   A   
INIT_UART. . . . .  C ADDR   010BH   A   
MAIN . . . . . . .  C ADDR   0106H   A   
MSTR . . . . . . .  N NUMB   0010H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
RECV_UART. . . . .  C ADDR   012FH   A   
RESET. . . . . . .  C ADDR   0100H   A   
RI . . . . . . . .  B ADDR   0098H.0 A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
SEND_UART. . . . .  C ADDR   0127H   A   
SPCTL. . . . . . .  D ADDR   00CEH   A   
SPDAT. . . . . . .  D ADDR   00CFH   A   
SPDH . . . . . . .  N NUMB   0001H   A   
SPDHH. . . . . . .  N NUMB   0000H   A   
SPDL . . . . . . .  N NUMB   0002H   A   
SPDLL. . . . . . .  N NUMB   0003H   A   
SPEN . . . . . . .  N NUMB   0040H   A   
SPIF . . . . . . .  N NUMB   0080H   A   
SPISS. . . . . . .  B ADDR   0090H.3 A   
SPI_SWAP . . . . .  C ADDR   0138H   A   
SPSTAT . . . . . .  D ADDR   00CDH   A   
SSIG . . . . . . .  N NUMB   0080H   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
WAIT . . . . . . .  C ADDR   013AH   A   
WCOL . . . . . . .  N NUMB   0040H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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