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

📄 hardware_spi.lst

📁 增强型51单片机程序模板
💻 LST
字号:
C51 COMPILER V8.08   HARDWARE_SPI                                                          09/19/2008 21:24:13 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE HARDWARE_SPI
OBJECT MODULE PLACED IN .\输出文件\HardWare_SPI.obj
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE 片上资源管理\HardWare_SPI.c BROWSE DEBUG OBJECTEXTEND PRINT(.
                    -\HardWare_SPI.lst) OBJECT(.\输出文件\HardWare_SPI.obj)

line level    source

   1          /*********************************************************************************************
   2          文 件 名:
   3          创 建 人:
   4          创建日期:
   5          组成部分:
   6          描    述:
   7          修 改 人:
   8          修改日期:
   9          修改内容:
  10          *********************************************************************************************/
  11          #include "user.h"
  12          
  13          
  14          #ifdef SST
  15          #ifdef HardWare_SPI
              /*********************************************************************************************
              函 数 名:void HardWareSPI_Ini(void)
              功能描述:完成SST单片机SPI接口初始化
              全局变量:无
              局部变量:无
              参数说明:SPCR(SPI控制寄存器)
                               7              6               5               4               3               2               1               0
                               SPIE   SPE             DORD    MSTR    CPOL    CPHA    SPR1    SPR0
                               SPIE:SPI中断使能位 当SPIE与ES为1时 SPI中断使能
                               SPE :SPI使能位 0禁止SPI 1使能SPI并将SS MOSI MISO SCK  连接P1.4~1.7
                               DORD:数据传输命令 0发送高位数据在前 1发送低位数据在前
                               MSTR:主从模式选择 0选择从模式 1选择主模式
                               CPOL:时钟极性选择 0IDEL(动态高)SCK为低 1IDEL(动态低)SCK为高
                               CPHA:时钟相位控制位 0在时钟前沿触发移位 1在时钟后沿触发移位
                               SPR1:SPI时钟速率选择位
                               SPR0:SPI时钟速率选择位、
                                SPSR(SPI状态寄存器)
                               7              6
                               SPIF   WCOL
                               SPIF:SPI中断标志 数据传输完成后置1 如果SPIE=1和ES=1将产生中断 该位由软件清零
                               WCOL:SPI写冲突标志 数据传输时写SPI数据寄存器将把WCOL置位。该位由软件清零
                                SPDR(SPI数据寄存器)
              输    入:无
              输    出:无
              创 建 人:周罡
              创建日期: 
              修 改 人:
              日    期:
              函数说明:此函数只针对SST单片机及带SPI接口引脚和SPI寄存器与SST单片机兼容的单片机,需要定义宏才
                               可以使用。                                     
              *********************************************************************************************/
              void HardWareSPI_Ini(void)
              {
                      SPCR=0x70;                              //设置寄存器无中断使能SPI主模式
              }
              
              /*********************************************************************************************
              函 数 名:uint8 SPI_SendByte(uint8 d)
              功能描述:硬件SPI接口要主机状态下发送一字节数据并接心一字节数据
C51 COMPILER V8.08   HARDWARE_SPI                                                          09/19/2008 21:24:13 PAGE 2   

              全局变量:无
              局部变量:info用于保存收到的数据并返回这个值
              参数说明:SPSR 当数据写发送完毕后清除发送完成标志
              输    入:d 为待发送的数据
              输    出:info 为返回值
              创 建 人:周罡
              创建日期:2008.9.12
              修 改 人:
              日    期:
              函数说明:此函数还没有得到验证                                  
              *********************************************************************************************/
              uint8 SPI_SendByte(uint8 d)
              {
                      uint8 info;
                      SS=0;
                      SPDR=d;                                 //将待发送数据放到数据寄存器中发送
                      while((SPSR&0x80)==0x80)
                      {
                              SPSR=0x00;
                      }
                      info=SPDR;
                      SS=1;
                      return(info);
              }
              
              /*********************************************************************************************
              函 数 名:
              功能描述:
              全局变量:
              局部变量:
              参数说明:
              输    入:
              输    出:
              创 建 人:
              创建日期: 
              修 改 人:
              日    期:
              函数说明:                                      
              *********************************************************************************************/
              uint8 SPI_ReceiveByte(void)
              {
                      uint8 info;
                      SPDR=0x00;                                      //将待发送数据放到数据寄存器中发送
                      while((SPSR&0x80)==0x80)
                      {
                              SPSR=0x00;
                      }
                      info=SPDR;
                      return(info);
                      
              }
              #endif
 107          #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   ----    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.08   HARDWARE_SPI                                                          09/19/2008 21:24:13 PAGE 3   

   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 + -