资源简介
cs5530驱动程序,可以完美的驱动cs5530,做了相关测试已经
![](http://www.nz998.com/pic/52836.jpg)
代码片段和文件信息
#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
相关资源
- elantech触控板驱动程序 v13.6.11 官方最
- USB转串口驱动,FT232R驱动程序,最新
- WinCE下CP210x的驱动程序
- RA8806液晶驱动程序
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- windows ce 系统的GPIO驱动程序
- 2440 cs8900a 网卡驱动程序
- 探讨研华32位DLL驱动程序
- 多普达USB Modem驱动(适用于818、828、
- SX126x_LORA驱动程序(包含完整的工程文
- ch452串口键盘驱动程序
- Vxworks下网卡驱动程序的开发
- USB转串口(RS232/RS485/RS422)驱动程序文
- 映泰Biostar TA870网
- ASUS华硕K45VD|A45VD主板驱动程序 v9.3.0
- 华硕ASUS K42JZ BIOS主板驱动程序 v9.1.1
- ASUS华硕B85主板BIOS驱动程序 官方版
- Samsung三星R439-DS系列网卡驱动程序 v
- 索尼SONY VPCM125JC网卡驱动程序 v6.0.14
- 清华同方手写板万能驱动程序
- ASUS华硕a550笔记本电脑网卡驱动程序
- oppo智能手机adb驱动程序
- ACS读卡器USB驱动程序 v4.0 官方版
- 基于STM32F103C8单片机的晶联讯电子JL
- 手机usb通用驱动程序(手机USB万能驱
- broadcom 802.11g 网络适配器驱动程序 v
- 英特尔USB3.0可扩展主机控制器驱动程
- TD-SCDMA网络测试仪中E1数据采集卡的驱
- Lenovo ThinkPad T42笔记本电脑声卡驱动程
- Lenovo联想 IBM ThinkPad笔记本声卡驱动程
评论
共有 条评论