PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。在90c51上PCF8591的4个引脚AIN0, AIN1,AIN2和AIN3可接注入光敏电阻,滑变电阻器之类的原件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。2条双向串行线,一条数据线SDA,一条时钟线SCL。
A/D实现:诸如光敏电阻将模拟量转化为电压连在AIN1口,而PCF将电压转化为数字由数据线SDA输出。
工作原理:
首先说PCF使用的I2C总线协议
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。
数据的传输使用数据线SDA,一条时钟线SCL。SDA每次传输一字节。
以下来自一位大佬的http://blog.youkuaiyun.com/subkiller/article/details/6854910
1. I2C开始和结束信号
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。