c8051f005读取SCA100T之程序,SCA100T仍是VI出的一款角度传感器,测量范围为+90~-90度,具体资料见其PDF
//spi.h
unsigned
int
SPI_ReadBits( uchar n );
void SPI_WriteByte( uchar wdata );
void SPI_Start( void );
void SPI_Stop( void );
void SPI_Reset( void );
void SPI_Delay(unsigned char );
unsigned int SPI_GetX( void );
unsigned int SPI_GetY( void );
void SPI_Init( void );
#define MEAS 0x00 // 测量模式
#define RWTR 0x08 // 读写温度数据寄存器
#define STX 0x0E // x通道自检
#define STY 0x0F // Y通道自检
#define RDAX 0x10 // 读X通道加速度值
#define RDAY 0x11 // 读Y通道加速度值
sbit CLK = P0 ^ 7 ;
sbit MISO = P1 ^ 0 ;
sbit MOSI = P1 ^ 1 ;
sbit CSB = P1 ^ 2 ;
void SPI_WriteByte( uchar wdata );
void SPI_Start( void );
void SPI_Stop( void );
void SPI_Reset( void );
void SPI_Delay(unsigned char );
unsigned int SPI_GetX( void );
unsigned int SPI_GetY( void );
void SPI_Init( void );
#define MEAS 0x00 // 测量模式
#define RWTR 0x08 // 读写温度数据寄存器
#define STX 0x0E // x通道自检
#define STY 0x0F // Y通道自检
#define RDAX 0x10 // 读X通道加速度值
#define RDAY 0x11 // 读Y通道加速度值
sbit CLK = P0 ^ 7 ;
sbit MISO = P1 ^ 0 ;
sbit MOSI = P1 ^ 1 ;
sbit CSB = P1 ^ 2 ;
//
spi.c
#include < c8051f000.h >
#include " defs_c51_manio.h "
#include " spi.h "
void SPI_Stop( void ){
CLK = LOW;
CSB = HIGH;
SPI_Delay( 10 );
}
void SPI_Reset( void ){
SPI_Stop();
}
void SPI_Delay(uchar n){
while (n -- );
}
void SPI_Start(
#include < c8051f000.h >
#include " defs_c51_manio.h "
#include " spi.h "
void SPI_Stop( void ){
CLK = LOW;
CSB = HIGH;
SPI_Delay( 10 );
}
void SPI_Reset( void ){
SPI_Stop();
}
void SPI_Delay(uchar n){
while (n -- );
}
void SPI_Start(