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

📄 spi_master_ss.lst

📁 Atmel SPI Master C51程序
💻 LST
字号:
C51 COMPILER V7.10   SPI_MASTER_SS                                                         04/30/2004 15:23:13 PAGE 1   


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

line level    source

   1          /**
   2           * @file $RCSfile: spi_master_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 master 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          char serial_data;
  21          char data_example=0x55;
  22          char data_save;
  23          bit transmit_completed= 0;
  24          
  25          /**
  26           * FUNCTION_PURPOSE: This file set up spi in master mode with 
  27           * Fclk Periph/128 as baud rate and with slave select pin.
  28           * FUNCTION_INPUTS: P1.5(MISO) serial input
  29           * FUNCTION_OUTPUTS: P1.7(MOSI) serial output
  30           */
  31          void main(void)
  32          {
  33   1      SPCON |= 0x10;                /* Master mode */
  34   1      P1_1=1;                       /* enable master */
  35   1      SPCON |= 0x82;                /* Fclk Periph/128 */
  36   1      SPCON &= ~0x08;               /* CPOL=0; transmit mode example */
  37   1      SPCON |= 0x04;                /* CPHA=1; transmit mode example */
  38   1      IEN1 |= 0x04;                 /* enable spi interrupt */
  39   1      SPCON |= 0x40;                /* run spi */
  40   1      EA=1;                         /* enable interrupts */
  41   1      
  42   1         while(1)                   /* endless  */
  43   1         {
  44   2         SPDAT=data_example;        /* send an example data */
  45   2         while(!transmit_completed);/* wait end of transmition */
  46   2         transmit_completed = 0;    /* clear software transfert flag */
  47   2      
  48   2         SPDAT=0x00;                /* data is send to generate SCK signal */
  49   2         while(!transmit_completed);/* wait end of transmition */
  50   2         transmit_completed = 0;    /* clear software transfert flag */
  51   2         data_save = serial_data;   /* save receive data */  
  52   2         }
  53   1      
  54   1      }
  55          
C51 COMPILER V7.10   SPI_MASTER_SS                                                         04/30/2004 15:23:13 PAGE 2   

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


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     71    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
   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 + -