PCF8591是8位的AD/DA转换芯片
介绍芯片和外设:
AIN0是接入的电压信号,反映的光敏电阻测量的光信号的强度;AIN3接入的是电位器Rb2的电压信号0~5V。
AIN2是接了一个仪表放大器。
AIN0没有接开发板上的设备,留出来给了引脚。
控制8591的工作是通过I2C协议。
设备地址:
控制字:(手册原图太大,只截取部分)
DA输出电压控制字: 一位能输出5V/256=0.0195的电压
DA:
1.DA的使用:
void DACconversion(unsigned char val)
{
IIC_Start();
IIC_SendByte(0x90); //设备地址
IIC_WaitAck();
IIC_SendByte(0x40); //DA功能使能
IIC_WaitAck();
IIC_SendByte(val); //输出电压值
IIC_WaitAck();
IIC_Stop();
}
2.AD采集
void ADC_wirte(u8 i)
{
IIC_Start();
IIC_SendByte(0x90); //设备地址
IIC_WaitAck();
IIC_SendByte(i); //发送控制字(控制)
IIC_WaitAck();
IIC_Stop();
}
u8 ADC_read()
{
u8 dat=0;
IIC_Start();
IIC_SendByte(0x91); //发送读取的设备地址
IIC_WaitAck();
dat = IIC_RecByte(); //接收的数据保存
IIC_SendAck(1); //主设备非应答
IIC_Stop();
return dat;
}