资源简介
cs5530驱动程序,可以完美的驱动cs5530,做了相关测试已经
代码片段和文件信息
#include “CS5460A.h“
#include “STC89C51RC_RD_PLUS.H“
#include “intrins.h“
sbit SK=P2^2; /* SPI时钟 */
sbit SO=P2^0; /* SDO */
sbit SI=P2^4; /* SDI */
sbit RST = P2^3;
//sbit CS5532_CS=P1^2;
//sbit CS5532_SDI=P2^4;
//sbit CS5532_SCLK=P2^2;
//sbit CS5532_SDO=P2^0;
uchar Read8(void); //SPI 读一个字节的 程序
void Write8(uchar cData); //SPI 写一个字节的 程序
void initspi(void); // 复位CS5460A的SPI模式 程序
void Write_CS5460A(uchar *puchar len);// 写 CS5460A 的状态寄存器
void Read_CS5460A(uchar *puchar CommData );// 读 CS5460A 的状态寄存器
xdata uchar buf5460[5];
code long *lbuf = (long *)&buf5460;
//-------------------------------------------------
//SPI 读一个字节的 程序
uchar Read8(void)
{
bit bData; uchar cLoop; uchar cData;
//P2_6 = 0;
SI=0;
cData=0x00;
for(cLoop = 0; cLoop < 8; cLoop++)
{
SK=1;
SK=0; //下降沿输出
cData<<=1;
bData=SO;
if(bData) { cData|=0x01; }
}
return cData;
}
//SPI 写一个字节的 程序
void Write8(uchar cData)
{
xdata uchar cLoop;
//P2_6 = 0;
SO = 1;
for(cLoop = 0; cLoop < 8; cLoop++)
{
if((cData&0x80)==0) { SI=0; }
else { SI=1; }
SK=0; //上升沿写入
_nop_();_nop_();_nop_();_nop_();
SK=1;
_nop_();_nop_();_nop_();_nop_();
cData <<= 1;
}
SI = 0;
}
// 写 CS5460A 的状态寄存器
void Write_CS5460A(uchar *puchar len)
{
xdata uchar i;
//initspi();
for(i=0;i { Write8(p[i]);}
}
// 读 CS5460A 的状态寄存器
void Read_CS5460A(uchar *puchar CommData )
{
xdata uchar i;
//initspi();
Write8(CommData);
for(i = 0; i < 4; i++)
{
p[i] = Read8();
}
}
void initspi(void)
{
Write8(SYNC1);
Write8(SYNC1);
Write8(SYNC1);
Write8(SYNC0);
}
void Clear_DRDY()
{
code uchar tBuf[] = {0x5E0xFF0xFF0xFF};
initspi();
Write_CS5460A(tBuf4);
}
bit Waite_DRDY_High()
{
xdata uchar i;
while(i < 250)
{
initspi();
Read_CS5460A(buf54600x1E);
if(buf5460[1]&0x80)
return 1;
i++;
//delay(1000);
}
return 0;
}
void Reset5460A()
{
RST = 0;
// delay(100);
RST = 1;
}
//获得当前重量数据
long GetWeight(void)
{
xdata long tWeight;
Read_CS5460A(buf54600x16); //读状态寄存器
buf5460[0] = 0;
tWeight = *lbuf;
/*for(;;)
{
Read_CS5460A(buf54600x16); //读状态寄存器
buf5460[0] = 0;
if(tWeight == *lbuf)
{
Read_CS5460A(buf54600x16); //读状态寄存器
buf5460[0] = 0;
if(tWeight == *lbuf)
{
break;
}else tWeight = *lbuf;
}else tWeight = *lbuf;
}*/
{
code uchar buf[] = {0x5E 0xFF0xFF0xFF};
Write_CS5460A(buf4); //写状态寄存器,对应位产生的标志清除
}
return tWeight;
}
long Get5460Reg(uchar uReg)
{
Read_CS5460A(buf5460uReg); //读状态寄存器
buf5460[0] = 0;
if(buf5460[1]&0x80)
{
buf5460[0] = 0xFF;
}
return *lbuf;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2007-11-21 06:20 Test5532\
文件 2953 2007-11-15 18:54 Test5532\CS5460A.c
文件 2101 2007-10-16 16:32 Test5532\CS5460A.h
文件 6952 2007-11-15 18:54 Test5532\CS5460A.LST
文件 10992 2007-11-15 18:54 Test5532\CS5460A.OBJ
文件 37 2007-11-15 18:54 Test5532\CS5460A.__i
文件 16105 2007-11-16 09:39 Test5532\main.c
文件 30498 2007-11-16 09:39 Test5532\main.LST
文件 33217 2007-11-16 09:39 Test5532\main.OBJ
文件 3354 2007-10-16 11:17 Test5532\Serial.c
文件 127 2007-10-16 10:59 Test5532\Serial.h
文件 6731 2007-10-16 16:20 Test5532\Serial.LST
文件 7585 2007-10-16 16:20 Test5532\Serial.OBJ
文件 3653 2007-08-18 17:04 Test5532\STC89C51RC_RD_PLUS.H
文件 7488 2007-10-16 11:16 Test5532\STC89C51RC_RD_PLUS.LST
文件 6473 2007-10-16 11:16 Test5532\STC89C51RC_RD_PLUS.OBJ
文件 45684 2007-11-16 09:39 Test5532\Test5532
文件 9054 2007-11-16 09:39 Test5532\Test5532.hex
文件 75 2007-11-16 09:39 Test5532\Test5532.lnp
文件 51856 2007-11-16 09:39 Test5532\Test5532.M51
文件 1981 2007-11-21 06:20 Test5532\Test5532.Opt
文件 0 2007-11-20 22:24 Test5532\Test5532.plg
文件 1743 2007-10-18 11:48 Test5532\Test5532.Uv2
文件 1990 2007-11-18 16:45 Test5532\Test5532_Opt.Bak
文件 1798 2007-10-16 11:09 Test5532\Test5532_Uv2.Bak
相关资源
- IIC驱动程序
- 240128lcd驱动程序
- 飞思卡尔DZ60底层驱动程序
- FPGA DAC902驱动程序 工程文件
- FT245BL USB FIFO驱动程序
- HC-SR04+89C52RC+11.0592Mhz高精度驱动程序
- AD7708驱动程序
- LCD12864 驱动程序1
- STC15F2K60S2 iic 驱动程序
- SHT75温湿度气压传感器驱动程序
- ILI9486TFT驱动程序C51
- silicon 单片机 PWM 马达控制
- altera DE0开发板驱动程序完美解决无法
- TLC5615 STM32驱动程序
- ads1246驱动程序
- linux下cp2101/2102驱动
- FX PLC USB-SC09 驱动 CH340/CH341USB转串口
- MSP430F5529LP下的0.96寸7针OLED显示驱动程
- STM32的12864驱动程序(免积分)
- M-150针打驱动程序
- 两相步进电机驱动程序及原理图
- 51单片机的OV7670摄像头驱动程序
- iMX6 EIM总线驱动程序
- lvds_ctr_top 用verilog编写的LVDS接口驱动
- 多磨川绝对值编码器FPGA接口
- 带温度测量的CCD驱动程序
- ZTE中兴U985手机USB驱动程序 官方版
- 中兴N606手机USB驱动程序 官方版
- ZTE中兴U956手机USB驱动程序 官方版
- 中兴手机v970 usb驱动程序 免费版
评论
共有 条评论