📄 hardware_spi.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 + -