PCF8591ADDA芯片中文带图介绍.pdfhttps://www.yuque.com/office/yuque/0/2023/pdf/22878478/1677915772303-ccb18375-4b81-4eea-bd83-a8e674f7917e.pdf?from=https%3A%2F%2Fwww.yuque.com%2Fu22435687%2Fuo7teb%2Flqmhikmop33t83mmpcf8591中文.pdfhttps://www.yuque.com/office/yuque/0/2023/pdf/22878478/1677915776573-ac836958-6e3c-4080-b58c-2c13d9202f5e.pdf?from=https%3A%2F%2Fwww.yuque.com%2Fu22435687%2Fuo7teb%2Flqmhikmop33t83mmPCF8591中文数据手册.pdfhttps://www.yuque.com/office/yuque/0/2023/pdf/22878478/1677915778360-9a1f7979-8101-444b-8bd2-e6dfee1ce978.pdf?from=https%3A%2F%2Fwww.yuque.com%2Fu22435687%2Fuo7teb%2Flqmhikmop33t83mm
PCF8591芯片的驱动协议是IIC通信协议
PCF8591编程配置
ADC转换步骤:
- 开启IIC
- 写地址(0x90:写控制字),等待应答
- 配置控制字(0x4D/0x43),等待应答
- 开启IIc
- 写地址(0x91:对控制字地址进行数据读取),等待应答
- 读控制字数据(char类型数据),发送应答(1表示应答,0表示不应答)
- 关闭
编程参考:
//函数名称:PCF8591(ADC转换),channel_num_contrl(0x4D/0x43)
//入口参数:PCF8091转换通道(控制字)
//返回值:AD转换后的数值
//函数功能:A(模拟量)转D(数字量),并返回转换后的数值
unsigned char PCF8591_Adc(unsigned char channel_num_contrl)
{
unsigned char temp;//存储PCF8591(ADC)转换后的数字量
IIC_Start();//开启转换条件
IIC_SendByte(0x90);//选择PCF8591芯片,确定写的模式
IIC_WaitAck();//等待应答,每发送一个字节都要等待应答
IIC_SendByte(channel_num_contrl);//配置PCF8591(ADC)通道,以及开启允许模拟输入模式
IIC_WaitAck();//等待应答,每发送一个字节都要等待应答
IIC_Start();//重新开启发送条件,在每个起始地址前,都应开启转换条件
IIC_SendByte(0x91);//选择PCF8591芯片,确定读的模式
IIC_WaitAck();//等待应答,每发送一个字节都要等待应答
temp=IIC_RecByte();//读取PCF8591(ADC)转换后的数字量
IIC_SendAck(1);//读取完一个字节后,要给从机发送一个应答位
IIC_Stop();//关闭转换条件
return temp;//返回ADC转换后的值
}
DAC转换步骤:
- 开启IIC
- 写地址(0x90:写控制字),等待应答
- 配置控制字,等待应答
- 开启IIC
- 写入数据(数字量),等待应答
- 关闭
编程参考:
//函数名称:PCF8591(DAC转换)
//入口参数:需要转换位模拟量的数值
//返回值:无
//函数功能:D(数字量)转A(模拟量)
void PCF8591_Dac(unsigned char dat)
{
IIC_Start();//开启转换条件
IIC_SendByte(0x90);//选择PCF8591芯片,确定写的模式
IIC_WaitAck();//等待应答,每发送一个字节都要等待应答
IIC_SendByte(0x41);//配置PCF8591(DAC)通道,以及开启允许模拟输入模式(暂时用不上,使用通道可以顺便写一个)
IIC_WaitAck();//等待应答,每发送一个字节都要等待应答
IIC_SendByte(dat);
IIC_WaitAck();//等待应答,每发送一个字节都要等待应答
IIC_Stop();//关闭转换条件
}
注意:
IAP15F2K61S2中:光敏传感器通道是:0x41;滑动变阻器通道是0x43
每8个数据字节后都紧跟一个应答位。
DAC(数模)转换地址可以是0x4x(x可以为0~F),只需要将模拟输入允许位(D6位)置一(0x40)即可。
如有不妥之处,还请指出,如有补充,洗耳恭听。此笔记仅供参考,如若对你有所帮助,点个赞呗谢谢,最后祝愿你旗开得胜,金榜题名。如果有其他相关问题,也可与我联系,我定力所能及的帮助你。