• 大小: 69KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: 驱动程序  

资源简介

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

评论

共有 条评论