您当前的位置:五五电子网电子知识单片机-工控设备51单片机AD转换器ADS11XX驱动程序 正文
AD转换器ADS11XX驱动程序

AD转换器ADS11XX驱动程序

点击数:7855 次   录入时间:03-04 11:39:06   整理:http://www.55dianzi.com   51单片机
unsigned char IICreceiveByte(void)
{
    unsigned char idata n=8;    // 从SDA线上读取一上数据字节,共八位
    unsigned char tdata;
    while(n--)
    {
        SDA = 1;
        SCL = 1;
        tdata = tdata<<1;    // 左移一位,或_crol_(temp,1)
        if(SDA == 1)
            tdata = tdata|0x01;    // 若接收到的位为1,则数据的最后一位置1
        else 
            tdata = tdata&0xfe;    // 否则数据的最后一位置0
        SCL=0;
    }
    return(tdata);
}
//--------------------------------------------------------------------------------------------------
// 函数名称:setting_ADS100
// 用户调用自程序
// 函数功能: 设置配置寄存器
//--------------------------------------------------------------------------------------------------
void setting_ADS100(unsigned char setting_data)     //写器件地址和配置字 
     { 
      iic_start();               //开始写 
      IICSendByte(WRITE_ADD);         //写器件地址(写) 
      check_ACK();                // 检查应答位
      if(F0 == 1)
        { 
        SystemError = 1;
        return;    // 若非应答表明器件错误或已坏,置错误标志位SystemError
         }
         IICSendByte(setting_data);
        check_ACK();    // 检查应答位
        if (F0 == 1)
        {
            SystemError=1;
            return;    // 若非应答表明器件错误或已坏,置错误标志位SystemError
        }
        iic_stop();         // 全部发完则停止
      }     
//--------------------------------------------------------------------------------------------------
// 函数名称:READ_ADS100
// 用户调用自程序
// 函数功能: 读A/D转换结果
//--------------------------------------------------------------------------------------------------
void READ_ADS100(void)       //从ADS1100中读出数据 
   {   
       iic_start();
    IICSendByte(READ_ADD);
    check_ACK();
    if(F0 == 1)
    {
        SystemError = 1;
        return;
    }
    H_AD=IICreceiveByte();
    slave_ACK();    // 收到一个字节后发送一个应答位
    L_AD=IICreceiveByte();
       slave_NOACK();    // 收到最后一个字节后发送一个非应答位
    iic_stop();
   } 
//--------------------------------------------------------------------------------------------------
// 函数名称:main
// 用户主函数
// 函数功能:主函数
//--------------------------------------------------------------------------------------------------
void main()
     {
     setting_ADS100(CFG_setting);
     READ_ADS100();
     }

AD转换器ADS11XX驱动程序



上一页  [1] [2] 


本文关键字:转换器  程序  51单片机单片机-工控设备 - 51单片机