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

📄 spird.lst

📁 FM1702SL.rar
💻 LST
字号:
C51 COMPILER V7.07   SPIRD                                                                 03/14/2006 11:16:11 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE SPIRD
OBJECT MODULE PLACED IN SPIRD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SPIRD.C BROWSE DEBUG OBJECTEXTEND CODE SRC(.\SPIRD.SRC)

stmt level    source

   1          
   2          #include <reg52.h>
   3          #include <string.h>
   4          #include <stdio.h>
   5          #include <absacc.h>
   6          #include <intrins.h>
   7          #include "FM1702.h"
   8          
   9          sbit RF_NSS     =       P1^4;
  10          sbit RF_MISO    =       P1^3;
  11          sbit RF_MOSI    =       P1^2;
  12          sbit RF_SCK     =       P1^1;
  13          
  14          sbit RF_RST     =   P3^5;       //由高变低时启动内部复位程序    
  15          
  16          sbit CARD_LED   =       P3^3;
  17          sbit SPEAKER    =   P3^4; 
  18          
  19          sbit LCD_CS =   P2^4;
  20          sbit LCD_RD =   P2^5;
  21          sbit LCD_WR =   P2^6;
  22          sbit LCD_DATA = P2^7;
  23          
  24          sfr P4 = 0xD8;
  25          sbit key        = P4^3;
  26          
  27          
  28          /****************************************************************/
  29          /*名称: SPIRead */
  30          /*功能: 该函数根据给定的地址读取FM1702SL的寄存器*/
  31          /*输入: 寄存器地址<SpiAddress>, 读出值存放首地址<ReadBuf>*/
  32          /*输出: 寄存器值*/
  33          /****************************************************************/
  34          unsigned char SPIRead(unsigned char SpiAddress)
  35          {
  36   1              unsigned char data i,k,rdata,temp;
  37   1              rdata=0;
  38   1              SpiAddress=_crol_(SpiAddress,1);
  39   1              SpiAddress=SpiAddress | 0x80;
  40   1              RF_SCK=0;
  41   1              RF_NSS=0;
  42   1      
  43   1      //Send SpiAddress;
  44   1              for (i=0;i<8;i++)
  45   1              {
  46   2                      temp=SpiAddress&0x80;
  47   2                      if (temp==0x80) RF_MOSI=1;
  48   2                      else RF_MOSI=0;
  49   2                      RF_SCK=1;
  50   2                      SpiAddress=_crol_(SpiAddress,1);
  51   2                      RF_SCK=0;
  52   2              }
  53   1      //Send SpiAddress;
  54   1      //Receive data
  55   1      
C51 COMPILER V7.07   SPIRD                                                                 03/14/2006 11:16:11 PAGE 2   

  56   1                      for (k=0;k<8;k++)
  57   1                      {
  58   2                              RF_SCK=1;
  59   2                              CY=RF_MISO;
  60   2                              if (CY) rdata+=1;
  61   2                              rdata=_crol_(rdata,1);
  62   2                              RF_SCK=0;
  63   2                              _nop_();
  64   2                      }
  65   1      
  66   1      
  67   1              RF_NSS=1;               
  68   1              CY=0;
  69   1              return(rdata);
  70   1      }
  71          /****************************************************************/
  72          /*名称: SPIWrite */
  73          /*功能: 该函数根据给定的地址写入FM1702SL的寄存器*/
  74          /*输入: 寄存器地址<SpiAddress>,要写入的字节数<WriteCount> */
  75          /*输出: N/A*/
  76          /****************************************************************/
  77          void SPIWrite(unsigned char idata SpiAddress,unsigned char idata SpiData)
  78          {
  79   1              unsigned char data i,k,temp;
  80   1      
  81   1      //      temp=SpiAddress&0xc0;
  82   1      //      if (temp!=0)
  83   1      //      {
  84   1      //              CY=1;
  85   1      //              return;
  86   1      //      }
  87   1              SpiAddress=_crol_(SpiAddress,1);
  88   1              SpiAddress=SpiAddress &0x7e;
  89   1              RF_SCK=0;
  90   1              RF_NSS=0; 
  91   1      
  92   1      //Send SpiAddress
  93   1              for (i=0;i<8;i++)
  94   1              {
  95   2                      temp=SpiAddress&0x80;
  96   2                      if (temp==0x80) RF_MOSI=1;
  97   2                      else RF_MOSI=0;
  98   2                      RF_SCK=1;
  99   2                      SpiAddress=_crol_(SpiAddress,1);
 100   2                      RF_SCK=0;
 101   2              }
 102   1      //Send SpiAddress
 103   1      //      Send data;
 104   1      
 105   1                      for(k=0;k<8;k++)
 106   1                      {
 107   2                              temp=SpiData&0x80;
 108   2                              if (temp==0x80) RF_MOSI=1;
 109   2                              else RF_MOSI=0;
 110   2                              RF_SCK=1;
 111   2                              SpiData=_crol_(SpiData,1);
 112   2                              RF_SCK=0;
 113   2                      }
 114   1      
 115   1      //Send data;
 116   1              RF_NSS=1;
 117   1              CY=0;
C51 COMPILER V7.07   SPIRD                                                                 03/14/2006 11:16:11 PAGE 3   

 118   1      //      return;
 119   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    178    ----
   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 + -