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

📄 spi_master.lst

📁 基於Full Speed USB Controller 1T 8051的SPI控制源程序
💻 LST
字号:
C51 COMPILER V8.08   SPI_MASTER                                                            02/28/2008 14:14:50 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE SPI_MASTER
OBJECT MODULE PLACED IN spi_master.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE spi_master.c DEBUG OBJECTEXTEND

line level    source

   1          /* Megawin "SPI process" demo code
   2           * Edited by: Peter Lin 
   3           * Mail: peter@megawin.com.tw
   4           * tel:03-5750050
   5           */
   6          
   7          /*include megawin header file */
   8          #include "MG84FL54.h"
   9          
  10          
  11          /**
  12           * FUNCTION_PURPOSE: This file set up spi in master mode 
  13           * FUNCTION_INPUTS: P1.6(MISO) serial input
  14           * FUNCTION_OUTPUTS: P1.5(MOSI) serial output
  15           * FUNCTION_OUTPUTS: P1.4(/SS)=0 slave selected/=1 master selected
  16           */
  17          void init_spi(void)
  18          {
  19   1      // CKCON |= 0x28;                 /* If Crystal = 12Mhzs */
  20   1      P2M0 = 0x00;                               /* Quasi-bidirection */
  21   1      P2M1 = 0x00;
  22   1      SPICTL = 0x00;                 /*clear SPI Control register */
  23   1      SPICTL |= 0xC0;                /*SSIG = 0 ,SPEN = 1,Slave Mode without SS Pin*/
  24   1      P2_4=0;                        /* SS Pin pill low */ 
  25   1      SPICTL |= 0x02;                /* Fclk Periph/8 */
  26   1      SPICTL &= ~0x08;               /* CPOL=0; transmit mode example */
  27   1      SPICTL |= 0x00;                /* CPHA=1; transmit mode example */
  28   1      AUXR |= 0x80;                  /* enable spi interrupt */
  29   1      SPICTL |= 0x40;                /* run spi */
  30   1      AUXIE |= 0x01;                 /* Enable  SPI Interrupt */
  31   1      }
  32          
  33          
  34          
  35          /**
  36           * FUNCTION_PURPOSE:interrupt
  37           * FUNCTION_INPUTS: void
  38           * FUNCTION_OUTPUTS: transmit_complete is software transfert flag
  39           */
  40          void it_SPI(void) interrupt 8 /* interrupt address is 0x0043 */
  41          {
  42   1              switch  ( SPISTAT & 0xC0)         /* read and clear spi status register */
  43   1              {
  44   2                      case 0x80:
  45   2         /* TO DO */
  46   2               SPISTAT = 0xC0;   //clear spistat flag
  47   2                      break;
  48   2      
  49   2                      case 0x10:
  50   2               /* put here for mode fault tasking */  
  51   2                      break;
  52   2              
  53   2                      case 0x40:
  54   2               /* put here for overrun tasking */     
  55   2                      break;
C51 COMPILER V8.08   SPI_MASTER                                                            02/28/2008 14:14:50 PAGE 2   

  56   2              }
  57   1          SPISTAT |= 0xC0;    // clear SPIF Flag
  58   1      }
  59          
  60          
  61          
  62          void main(void)
  63          {
  64   1      init_spi();
  65   1      
  66   1      EA=1;                                 /* enable interrupts */
  67   1      
  68   1              while(1)                         
  69   1         {
  70   2        
  71   2      
  72   2        
  73   2         SPIDAT = 0xAA;             /* echo data to master */
  74   2        
  75   2         
  76   2        
  77   2        }
  78   1      }
  79          


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


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

⌨️ 快捷键说明

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