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

📄 spi_receive.lst

📁 51单片机SPI模式
💻 LST
字号:
C51 COMPILER V8.05a   SPI_RECEIVE                                                          05/08/2009 16:18:34 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE SPI_RECEIVE
OBJECT MODULE PLACED IN SPI_Receive.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SPI_Receive.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "reg52.h"
   2          
   3          #define uchar unsigned char
   4          #define uint  unsigned int 
   5          
   6          //-------------------------//
   7          sbit SPISCLK =P1^0;
   8          sbit MOSI        =P1^1;
   9          sbit MISO    =P1^2;
  10          sbit CS          =P1^3;
  11          
  12          sbit P20=P2^0;   //选通数码管
  13          sbit P21=P2^1;
  14          
  15          //------------------------//
  16          
  17          void Nop()
  18          {
  19   1              ;
  20   1      }
  21          void delay(uchar t)
  22          {
  23   1              while(t--){;}
  24   1      }
  25          
  26          uchar SPI_Receive(void)
  27          {
  28   1              uchar i,dat=0,temp;
  29   1              bit flag;
  30   1              SPISCLK=1;
  31   1              MISO=1;
  32   1              CS=0;//选中器件
  33   1              Nop();
  34   1              Nop();
  35   1              for(i=0;i<8;i++)
  36   1                      {
  37   2                              SPISCLK=1;
  38   2                              Nop();
  39   2                              Nop();
  40   2                              Nop();
  41   2                              SPISCLK=0;
  42   2                              
  43   2                              Nop();
  44   2                              Nop();
  45   2      
  46   2                              flag=MISO;
  47   2                              if(flag) temp=0x01;
  48   2                              else temp=0x00;
  49   2                              dat=(dat<<1);                           
  50   2                              dat=(dat|temp);         
  51   2                      }
  52   1      
  53   1                      CS=1;
  54   1                      SPISCLK=1;
  55   1                      return dat;
C51 COMPILER V8.05a   SPI_RECEIVE                                                          05/08/2009 16:18:34 PAGE 2   

  56   1      }
  57          
  58          void main()
  59          {
  60   1              uchar udat;
  61   1              uchar i=0;
  62   1              uchar   code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
  63   1                                0x7F,0x6F};
  64   1      //      P20=0;
  65   1      //      P21=1;
  66   1              while(1)
  67   1                      {
  68   2                              udat=SPI_Receive();
  69   2                              P2=0xfe;
  70   2                              P0=table[udat%10];
  71   2                              for(i=0;i<200;i++)
  72   2                              delay(500);
  73   2      
  74   2                              P2=0xfd;
  75   2                              P0=table[udat/10];
  76   2                              for(i=0;i<200;i++)
  77   2                              delay(500);
  78   2                      }
  79   1      }


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