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

📄 spi_slave_ss.lst

📁 Atmel SPI slave C51程序
💻 LST
字号:
C51 COMPILER V7.10   SPI_SLAVE_SS                                                          04/30/2004 15:26:49 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE SPI_SLAVE_SS
OBJECT MODULE PLACED IN spi_slave_ss.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE spi_slave_ss.c BROWSE DEBUG OBJECTEXTEND TABS(3)

line level    source

   1          /**
   2           * @file $RCSfile: spi_slave_ss.c,v $
   3           *
   4           * Copyright (c) 2004 Atmel.
   5           *
   6           * Please read file license.txt for copyright notice.
   7           *
   8           * @brief This file is an example to use spi in slave mode.
   9           *
  10           * This file can be parsed by Doxygen for automatic documentation
  11           * generation.
  12           * Put here the functional description of this file within the software
  13           * architecture of your program.
  14           *
  15           * @version $Revision: 1.0 $ $Name:  $
  16           */
  17          
  18          /* @section  I N C L U D E S */
  19          #include "reg_c51.h"
  20          
  21          bit transmit_completed;
  22          char serial_data;
  23          
  24          /**
  25           * FUNCTION_PURPOSE: This file set up spi in slave mode with 
  26           * Fclk Periph/128 as baud rate and with slave select pin
  27           * FUNCTION_INPUTS: P1.5(MISO) serial input
  28           *                  P1.1(/SS)=0 slave selected    
  29           * FUNCTION_OUTPUTS: P1.7(MOSI) serial output
  30           */
  31          void main(void)
  32          {
  33   1      SPCON &= ~0x10;               /* slave mode */
  34   1      SPCON &= ~0x08;               /* CPOL=0; transmit mode example*/
  35   1      SPCON |= 0x04;                /* CPHA=1; transmit mode example*/
  36   1      IEN1 |= 0x04;                 /* enable spi interrupt */
  37   1      SPCON |= 0x40;                /* spi run */
  38   1      transmit_completed = 0;       /* clear software transfert flag */
  39   1      EA=1;                         /* enable interrupts */
  40   1      
  41   1      while(1)                      /* endless  */
  42   1      {
  43   2      if(transmit_completed)
  44   2         {
  45   3         SPDAT = serial_data;       /* echo data to master */
  46   3         transmit_completed = 0;    /* clear software transfert flag */
  47   3         }
  48   2      }
  49   1      }
  50          
  51          
  52          /**
  53           * FUNCTION_PURPOSE: spi interrupt, receive data to master
  54           * FUNCTION_INPUTS: void
  55           * FUNCTION_OUTPUTS: void
C51 COMPILER V7.10   SPI_SLAVE_SS                                                          04/30/2004 15:26:49 PAGE 2   

  56           */
  57          void it_SPI(void) interrupt 9 /* interrupt address is 0x004B */
  58          {
  59   1         switch   ( SPSTA )         /* read and clear spi status register */
  60   1         {
  61   2            case 0x80:
  62   2               serial_data=SPDAT;   /* read receive data */
  63   2               transmit_completed=1;/* set software flag */
  64   2            break;
  65   2      
  66   2            case 0x10:
  67   2               /* put here for mode fault tasking */  
  68   2            break;
  69   2         
  70   2            case 0x40:
  71   2               /* put here for overrun tasking */  
  72   2            break;
  73   2         }
  74   1         SPDAT=serial_data;        /* needed to complete clearing sequence */
  75   1      }
  76          
  77          
  78          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     60    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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