📄 cs5532.h
字号:
/*--------------------------------------------------------------------------
CS5532.H
自编24位AD CS5532控制命令函数
--------------------------------------------------------------------------*/
#ifndef __CS5532_H__
#define __CS5532_H__
#define negative 1
#define positive 0
sbit CS5532=P1^0; //CS5532接口
sbit SDI=P1^1;
sbit SDO=P1^2;
sbit SCLK=P1^3;
bit symbol_flag; //正负标志位
void cs5532_writecommand(uchar command)
{
uchar data i;
SCLK=0;
CS5532=0;
for(i=0;i<8;i++)
{
if(((command<<i)&0x80)==(0x80))
SDI=1;
else
SDI=0;
_nop_();
SCLK=1;
_nop_();
SCLK=0;
}
}
long cs5532_readdata(void)
{
uchar data i;
ulong data read_data=0;
SDO=1;
SCLK=0;
SDI=0;
CS5532=0;
while(SDO==1);
_nop_();
for(i=0;i<8;i++)
{
SDI=0;
SCLK=1;
_nop_();
SCLK=0;
}
for(i=0;i<32;i++)
{
read_data=read_data<<1;
SCLK=0;
_nop_();
SCLK=1;
if(SDO==1)
read_data=read_data|0x01;
else
read_data=read_data|0x00;
_nop_();
}
read_data=read_data>>8;
if((read_data&0x00800000)==0x00800000)
{
symbol_flag=negative;
read_data=~read_data;
read_data=read_data&0x00ffffff;
read_data=read_data+1;
}
else
symbol_flag=positive;
return(read_data);
}
void cs5532_initialize(void)
{
uchar data i;
for(i=0;i<15;i++)
cs5532_writecommand(0xff);
cs5532_writecommand(0xfe); //初始化模数转化器
_nop_();_nop_();_nop_();
cs5532_writecommand(0xc0);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -