AD/DA转换

A/D是模数转换。

有以下的转换:
1.双积分型A/D转换器
2.逐次逼近比较型A/D转换器
3.并行A/D转换器

在德飞莱的实验板上用的是PCF8591芯片。
AD/DA是基于IIC基础上的。所以在昨天IIC的基础上,可以写出以下对AD/DA的读和写的操作。

#define SUCC 0
#define FAIL 1

//读操作
unsigned char AD_Read()
{
    unsigned char temp;
      iic_start();
      iic_send_byte(0x90);
      if(0 == ack)
    {
             return FAIL;
     }
    iic_send_byte(0x40);
    if(0 == ack)
    {
                return FAIL;
    }
    iic_start();
    iic_send_byte(0x90+1);
    if(0 == ack)
    {
               return FAIL;
     }
    temp = iic_recv_byte();
    iic_noack();
    iic_stop();

    return temp;
}


//写操作
unsigned char AD_write()
{
      iic_start();
      iic_send_byte(0x90);
      if(0 == ack)
      {
          return FAIL;
      }
     iic_send_byte(0x40);
     if(0 == ack)
     {
          return FAIL;
      }
     iic_send_byte(num);
     if(0 == ack)
     {
           return FAIL;
      }
     iic_stop();

    return SUCC;
}


你可能感兴趣的:(单片机,PCF8591,AD-DA)