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( void ){
CLK = LOW;
CSB = LOW;
SPI_Delay( 10 );
}
// 主机写一个BYTE到器件
//
#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( void ){
CLK = LOW;
CSB = LOW;
SPI_Delay( 10 );
}
// 主机写一个BYTE到器件
//

本文介绍如何使用C8051F005单片机通过SPI接口读取SCA100T角度传感器的数据。SCA100T是一款测量范围为+90到-90度的角度传感器,详细程序和操作步骤在文中阐述。
最低0.47元/天 解锁文章
1072

被折叠的 条评论
为什么被折叠?



