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

📄 spi.lst

📁 基于51单片机实现UART通信 SPI通信 和IIC通信
💻 LST
字号:
C51 COMPILER V8.02   SPI                                                                   06/01/2008 12:34:32 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE SPI
OBJECT MODULE PLACED IN SPI.obj
COMPILER INVOKED BY: D:\ElectronicTools\KeilC51\C51\BIN\C51.EXE C_H\SPI.c BROWSE DEBUG OBJECTEXTEND PRINT(.\SPI.lst) OBJ
                    -ECT(SPI.obj)

line level    source

   1          #include "Includes.h"
   2          
   3          //static void Nop(void);
   4          /*********************************************************************************************************
   5          ** 函数名称: Dat_Transmit
   6          ** 功能描述: 从SPI总线发送数据   
   7          ** 全局变量: 无   
   8          ** 调用模块: 无  
   9          ********************************************************************************************************/
  10          extern void SPI_Transmit(unsigned char dat)
  11                  {   
  12   1                      unsigned char i,datbuf;
  13   1                      unsigned char j=50000;
  14   1                      
  15   1                      EA=0;
  16   1                      _nop_();
  17   1                      Delay_Xms(1);
  18   1                      datbuf=dat;
  19   1                      SS=1;
  20   1                      while(SS&&j>0){j--;}
  21   1                        j=50000;
  22   1                      for(i=0;i<8;i++)
  23   1                              {
  24   2                                 while(SPICLK&&j>0){j--;}
  25   2                                    j=50000;
  26   2                                 if(datbuf&0x80) MISO=1;
  27   2                                 else            MISO=0;
  28   2                                 datbuf=(datbuf<<1);
  29   2                                 while((~SPICLK)&&j>0){j--;}
  30   2                      }               
  31   1                EA=1;                         
  32   1              }
  33          /*********************************************************************************************************
  34          ** 函数名称: Data_Receive
  35          ** 功能描述:SPI总线接收数据 
  36          ** 全局变量: 无     
  37          ** 调用模块: 无     
  38          *******************************************************************************************************
  39          extern unsigned char SPI_Receive(void)
  40                  {
  41                          unsigned char i,dat=0,temp;
  42          
  43                          bit      bt;            
  44                          SPICLK=1;
  45                          SS=0;                   //选中器件
  46                          SS=0; 
  47                          Nop();
  48                          Nop();
  49                          for(i=0;i<8;i++)
  50                                  {       
  51                                          SPICLK=1;
  52                                          Nop();
  53                                          Nop();
  54                                          Nop();
C51 COMPILER V8.02   SPI                                                                   06/01/2008 12:34:32 PAGE 2   

  55                                          SPICLK=0;
  56                                          Nop();
  57                                          Nop();
  58                                          Nop();                          
  59                                          bt=MISO;
  60                                          if(bt)  temp=0x01;
  61                                          else    temp=0x00;
  62                                          dat=(dat<<1);                           
  63                                          dat=(dat|temp);                         
  64                                  }
  65                          SS=1;
  66                          SPICLK=1;               
  67                          return  dat;
  68                  } 
  69          **************************************************************************************
  70          小延时    
  71          ************************************************************************************
  72          static void Nop(void)
  73                  {
  74                          ;
  75                  }
  76           */


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