PCF8591的介绍

上传人:无*** 文档编号:230318109 上传时间:2023-08-23 格式:PPT 页数:29 大小:821KB
收藏 版权申诉 举报 下载
PCF8591的介绍_第1页
第1页 / 共29页
PCF8591的介绍_第2页
第2页 / 共29页
PCF8591的介绍_第3页
第3页 / 共29页
资源描述:

《PCF8591的介绍》由会员分享,可在线阅读,更多相关《PCF8591的介绍(29页珍藏版)》请在装配图网上搜索。

1、PCF8591PCF8591的介绍的介绍.PCF8591介绍介绍 程序构成程序构成 例子原理图及程序例子原理图及程序 Click to add title in here 123目录PCF8591介绍 PCF8591的介绍:PCF8591是单电源,低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个串行I2C总线接口。3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至I2C总线而不需要额外硬件。PCF8591由于其使用的简单方便和集成度高,在单片机应用系统中得到了广泛的应用。特点:1单电源供电2工作电压:2.5V6V3I2C总线串行输入/输出4通过3个硬件地址引

2、脚编址5采样速率取决于I2C总线传输速率决定64个模拟输入可编程为单端或差分输入7自动增量通道选择88位逐次逼近式A/D转换PCF8591介绍(1)首先发出“启动信号”信号S。当S由高变低时,“逐次逼近寄存器SAR”清0,DAC输出Vo=0,“比较器”输出1。当S变为高电平时,“控制电路”使SAR开始工作。()SAR首先产生8位数字量的一半,即10000000B,试探模拟量的Vi大小,若VoVi,“控制电路”清除最高位,若VoVi,保留最高位。()在最高位确定后,SAR又以对分搜索法确定次高位,即以低7位的一半y1000000B(y为已确定位)试探模拟量Vi的大小。在bit6确定后,SAR以对

3、分搜索法确定bit5位,即以低6位的一半yy100000B(y为已确定位)试探模拟量Vi的大小。重复这一过程,直到最低位bit0被确定。(4)在最低位bit0确定后,转换结束,“控制电路”发出“转换结束”信号EOC。该信号的下降沿把SAR的输出锁存在“缓冲寄存器”里,从而得到数字量输出。从转换过程可以看出:启动信号为负脉冲有效。转换结束信号为低电平。应用:1闭环控制系统2用于远程数据采集的低功耗转换器3电池供电设备4在汽车、音响和TV应用方面的模拟数据采集PCF8591介绍 管脚定义及原理图:AIN0-AIN3:模拟输入(A/D转换)。AOUT:模拟输出(D/A转换)。A0-A1:硬件设备地址

4、。GND:电源负极地VREF:参考电压输入。EXT:振荡器输入时,内部/外部的切换开关。OSC:振荡器输入/输出。SCL:I2CBUS时钟输入。SDA:I2CBUS数据输入/输出。AGND:模拟地,模拟信号和基准电源的参考地PCF8591介绍 内部框图:PCF8591介绍 PCF8591介绍 地址:I2C总线系统中的每一片PCF8591通过发送有效地址到该器件来激活。该地址包括固定部分和可编程部分。可编程部分必须根据地址引脚A0、A1和A2来设置,因此I2C系统中最多可接=8个PCF8591。在I2C总线协议中地址必须是起始条件后作为第一个字节发送。地址字节的最后一位是用于设置以后数据传输方向

5、的读/写位1为读操作,0为写操作。控制字:D0-D1用于4个通道设置D2自动增益选择(有效位为1)D5D4模拟量输入选择004路单端输入013路差分输入10单端与差分输入112路差分输入PCF8591介绍 PCF8591介绍 AD的差分输入与单端输入:单端输入,输入信号均以共同的地线为基准.这种输入方法主要应用于输入信号电压较高(高于1V),信号源到模拟输入硬件的导线较短,且所有的输入信号共用一个基准地线.如果信号达不到这些标准,此时应该用差分输入.对于差分输入,每一个输入信号都有自有的基准地线;由于共模噪声可以被导线所消除,从而减小了噪声误差.单端输入时,是判断信号与GND的电压差.差分输入

6、时,是判断两个信号线的电压差.信号受干扰时,差分的两线会同时受影响,但电压差变化不大.(抗干扰性较佳)而单端输入的一线变化时,GND不变,所以电压差变化较大.(抗干扰性较差)控制字:发送到PCF8591的第二个字节将被存储在控制寄存器,用于控制器件功能。控制寄存器的高半字节用于允许模拟输出,和将模拟输入编程为单端或差分输入。低半字节选择一个由高半字节定义的模拟输入通道。如果自动增量(auto-increment)标志置1,每次A/D转换后通道号将自动增加。PCF8591介绍 PCF8591介绍 A/D转换:A/D转换器采用逐次逼近转换技术。在A/D转换周期将临时使用片上D/A转换器和高增益比较

7、器。一个A/D转换周期总是开始于发送一个有效读模式地址给PCF8591之后。A/D转换周期在应答时钟脉冲的后沿被触发,并在传输前一次转换结果时执行。一旦一个转换周期被触发,所选通道的输入电压采样将保存到芯片并被转换为对应的8位二进制码。转换结果被保存在ADC数据寄存器等待传输。如果自动增量标志被置1,将选择下一个通道。A/D转换时序图:PCF8591介绍 在读周期传输的第一个字节包含前一次读周期的转换结果代码。以上电复位之后读取的第一个字节是0 x80。D/A转换:发送给PCF8591的第三个字节被存储到DAC数据寄存器,并使用片上D/A转换器转换成对应的模拟电压。这个D/A转换器由连接至外部

8、参考电压的具有256个接头的电阻分压电路和选择开关组成。接头译码器切换一个接头至DAC输出线。模拟输出电压由自动清零单位增益放大器缓冲。这个缓冲放大器可通过设置控制寄存器的模拟输出允许标志来开户或关闭。在激活状态,输出电压将保持到新的数据字节被发送。PCF8591介绍 D/A转换时序图:PCF8591介绍 程序构成 PCF8591的写入第一个字节是器件地址和读写控制第二个字节被存到控制寄存器,用于控制器件功能。第三个字节被存储到DAC数据寄存器,并使用片上D/A转换器转换成对应的模拟电压。(所以不输入D/A时,可以不用输入。)PCF8591发送一个字节的程序/*函数名:Pcf8591SendB

9、yte*函数功能:写入一个控制命令*输入:channel(转换通道)*输出:无*/voidPcf8591SendByte(unsignedcharchannel)I2cStart();I2cSendByte(WRITEADDR);/发送写器件地址I2cSendByte(0 x40|channel);/发送控制寄存器I2cStop();PCF8591的读取读取的第一个字节是包含上一次转换结果将上一个字节读取时,才开始进行这次转换的采样。读取的第二个字节才是这次的转换结果。所以读取转换结果的步骤是:发送转换命令,将上次的结果读走,然后等一会儿,然后读取结果。PCF8591读取一个字节的程序/*函数

10、名:Pcf8591ReadByte*函数功能:读取一个转换值*输入:*输出:dat*/unsignedcharPcf8591ReadByte()unsignedchardat;I2cStart();I2cSendByte(READADDR);/发送读器件地址dat=I2cReadByte();/读取数据I2cStop();/结束总线returndat;PCF8591发送一次转换的程序/*函数名:Pcf8591DaConversion*函数功能:PCF8591的输出端输出模拟量*输入:value(转换的数值)*输出:无*/voidPcf8591DaConversion(unsignedcharv

11、alue)I2cStart();I2cSendByte(WRITEADDR);/发送写器件地址I2cSendByte(0 x40);/开启DA写到控制寄存器I2cSendByte(value);/发送转换数值I2cStop();例子原理图及程序 例子:*实验名:AD显示试验*实验说明:使用LCD1602显示AD读取到的各个数值说明:电压值=读取值*分辨率。原理图:例子原理图及程序 热敏电阻光敏电阻例子原理图及程序 程序(采用C51):#include#includei2c.h#includelcd.h/-定义PCF8591的读写地址-/#defineWRITEADDR0 x90/写地址#def

12、ineREADADDR0 x91/读地址/-声明全局函数-/voidPcf8591SendByte(unsignedcharchannel);unsignedcharPcf8591ReadByte();voidPcf8591DaConversion(unsignedcharvalue);例子原理图及程序 voidmain()unsignedintadNum5;floatvalue0;LcdInit();while(1)/-显示电位器电压-/Pcf8591SendByte(0);/发送电位器转换命令adNum0=Pcf8591ReadByte()*2;/将前一次转换结果读走LcdWriteCom

13、(0 x80+0 x46);/发送显示坐标LcdWriteData(0+adNum3/1000);/发送显示数据LcdWriteData(0+adNum3%1000/100);LcdWriteData(0+adNum3%100/10);LcdWriteData(0+adNum3%10);Pcf8591SendByte(1);/发送热敏转换命令adNum0=Pcf8591ReadByte()*2;/读取电位器转换结果value0=adNum0/2*0.01953;/转为电压值adNum0=value0*100;/保留两位小数LcdWriteCom(0 x80);LcdWriteData(0+ad

14、Num0%1000/100);LcdWriteData(.);LcdWriteData(0+adNum0%100/10);LcdWriteData(0+adNum0%10);LcdWriteData(V);Pcf8591SendByte(2);/发送光敏转换命令adNum1=Pcf8591ReadByte()*2;/ADC1读取热敏例子原理图及程序 LcdWriteCom(0 x86);LcdWriteData(0+adNum1/1000);LcdWriteData(0+adNum1%1000/100);LcdWriteData(0+adNum1%100/10);LcdWriteData(0+

15、adNum1%10);Pcf8591SendByte(3);/发送外部输入电压转换命令adNum2=Pcf8591ReadByte()*2;/ADC2读取光敏LcdWriteCom(0 x80+0 x40);LcdWriteData(0);LcdWriteData(0+adNum2/1000);LcdWriteData(0+adNum2%1000/100);LcdWriteData(0+adNum2%100/10);LcdWriteData(0+adNum2%10);adNum3=Pcf8591ReadByte()*2;/ADC3读取外部输入电压 adNum4=adNum0;Pcf8591Da

16、Conversion(adNum4/2);/DAC数模转换例子原理图及程序/*函数名:Pcf8591SendByte*函数功能:写入一个控制命令*输入:channel(转换通道)*输出:无*/voidPcf8591SendByte(unsignedcharchannel)I2C_Start();I2C_SendByte(WRITEADDR,1);/发送写器件地址I2C_SendByte(0 x40|channel,0);/发送控制寄存器I2C_Stop();/*函数名:Pcf8591ReadByte*函数功能:读取一个转换值*输入:无*输出:dat*/unsignedcharPcf8591Re

17、adByte()unsignedchardat;I2C_Start();I2C_SendByte(READADDR,1);/发送读器件地址dat=I2C_ReadByte();/读取数据I2C_Stop();/结束总线returndat;例子原理图及程序/*函数名:Pcf8591DaConversion*函数功能:PCF8591的输出端输出模拟量*输入:value(转换的数值)*输出:无*/voidPcf8591DaConversion(unsignedcharvalue)I2C_Start();I2C_SendByte(WRITEADDR,1);/发送写器件地址I2C_SendByte(0 x40,1);/开启DA写到控制寄存器I2C_SendByte(value,0);/发送转换数值I2C_Stop();谢谢观赏结束结束

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!