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

📄 spi.lst

📁 基于51单片机实现UART通信 SPI通信 和IIC通信
💻 LST
字号:
C51 COMPILER V7.50   SPI                                                                   05/31/2008 19:14:42 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE SPI
OBJECT MODULE PLACED IN SPI.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE C_H\SPI.c BROWSE DEBUG OBJECTEXTEND PRINT(.\SPI.lst) OBJECT(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              
  18   1                      Delay_Xms(1);
  19   1                      datbuf=dat;
  20   1                      SS=1;
  21   1                      while(SS&&j>0){j--;}
  22   1                      j=50000;
  23   1                      for(i=0;i<8;i++)
  24   1                              {
  25   2                                 while(SPICLK&&j>0){j--;}
  26   2                                 j=50000;
  27   2                                 if(datbuf&0x80) MISO=1;
  28   2                                 else            MISO=0;
  29   2                                 datbuf=(datbuf<<1);
  30   2                                 while((~SPICLK)&&j>0){j--;}
  31   2                MOSI=1;               }               
  32   1                EA=1;                         
  33   1              }
  34          /*********************************************************************************************************
  35          ** 函数名称: Data_Receive
  36          ** 功能描述:SPI总线接收数据 
  37          ** 全局变量: 无     
  38          ** 调用模块: 无     
  39          ********************************************************************************************************/
  40          extern unsigned char SPI_Receive(void)
  41                  {
  42   1                      unsigned char i,dat=0,temp;
  43   1      
  44   1                      bit             bt;             
  45   1                      SPICLK=1;
  46   1                      SS=0;                   //选中器件
  47   1                      SS=0; 
  48   1                      Nop();
  49   1                      Nop();
  50   1                      for(i=0;i<8;i++)
  51   1                              {       
  52   2                                      SPICLK=1;
  53   2                                      Nop();
  54   2                                      Nop();
  55   2                                      Nop();
C51 COMPILER V7.50   SPI                                                                   05/31/2008 19:14:42 PAGE 2   

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


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