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;
}