tlc1549.txt

来自「tlc1549的示例程序 c语言开发环境」· 文本 代码 · 共 55 行

TXT
55
字号
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 + =
减小字号Ctrl + -
显示快捷键?