sca100t代码串口输出加速度值.docVIP

  • 6
  • 0
  • 约6.9千字
  • 约 11页
  • 2018-01-01 发布于河南
  • 举报
sca100t代码串口输出加速度值

sca100t代码串口输出加速度值 //#includestc12c5a.h #includeReg52.h #includestdio.h #define uchar unsigned char #define uint unsigned int #define TRUE 1 #define FALSE 0 #define HIGH 1 #define LOW 0 #define uchar unsigned char #define uint unsigned int #define ulong unsigned long #define MEAS 0x00 //测量模式 #define RWTR 0x08 //读写温度数据寄存器 #define STX 0x0E //x通道自检 #define STY 0x0F //Y通道自检 #define RDAX 0x10 //读X通道加速度值 #define RDAY 0x11 //读Y通道加速度值 #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; 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 ); uint temp; sbit SMG_q = P1^0; //定义数码管阳级控制脚(千位) sbit SMG_b = P1^1; //定义数码管阳级控制脚(百位) sbit SMG_s = P1^2; //定义数码管阳级控制脚(十位) sbit SMG_g = P1^3; //定义数码管阳级控制脚(个位) uchar ly_dis[4];//定义显示缓冲区 uchar code table[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90}; void init_serial(); void Send(unsigned int a); 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到器件 //最终状态:CLK = LOW void SPI_WriteByte( uchar wdata ){ uchar i; for( i = 0 ; i 8 ; ++i ){ CLK = LOW; SPI_Delay(10); MOSI = wdata 0x80; wdata = wdata 1; SPI_Delay(10); CLK = HIGH; SPI_Delay(10); } CLK = LOW; } /* //主机读入一个比特 //结束状态: CLK=0 bit SPI_ReadBit(void){ CLK = HIGH; SPI_Delay(10); CLK = LOW; SPI_Delay(10); return MISO; } */ //主机读入N个比特 //n 限制为16及其以下 //结束状态 CLK = 0 uint SPI_ReadBits(

文档评论(0)

1亿VIP精品文档

相关文档