📄 tlc1549.txt
字号:
void Befor_Once_AD()
{
uchar i;
ADCLK=ADOUT=0;
//----------
ADCS=0; //开启控制电路,使能DATA OUT和I/O CLOCK
for(i=1;i<=10;i++)
{
ADCLK=1;
ADCLK=0;
}
ADCS=1;
delay(25);//两次转换间隔大于21us
}
/*---------------------------------------------------------------
* GetAD() TLC1549数据采集 *
* sbit ADCLK=P2^0; *
* sbit ADOUT=P2^1; *
* sbit ADCS=P2^2; *
-----------------------------------------------------------------*/
void GetAD()
{
uchar i=1,w,PickCount;
uint vol;
Befor_Once_AD();//预先采集一次AD数据
//---------------
if (ComBuf[1]==0)ComBuf[1]=0x01;
PickCount=ComBuf[1];
for(w=1;w<=PickCount;w++)
{
ADCLK=ADOUT=0;
vol=0;
ADCS=0; //开启控制电路,使能DATA OUT和I/O CLOCK
for(i=1;i<=10;i++)
{
//给一个脉冲
ADCLK=1;
vol<<=1;
if(ADOUT)vol|=0x01;
ADCLK=0;
}
ADCS=1;
delay(21);//两次转换间隔大于21us
//---------------
ComBuf[1]=w;//发送第几次采集的序号
Convert_AD_VOL_ValueToChar(vol);//对float转为2位char型,并发送至串行口
P2=0xff;//p2口置初始状态
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -