PCF8591_DA和AD转换器读写程序.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. . PCF8591读写程序 (一)、PCF8591 1、引脚说明 ANI0~ANI3 为模拟信号输入端,不使用的输入端应接地 A0~A2 地址输入端 GND、VCC 地和电源端(+5V) SDA 为I2C数据输入与输出端 SCL 为I2C时钟输入端 EXT 内外部时钟选择端,使用内部时钟时接地,使用外部时钟时接+5V OSC 外部时钟输入、内部时钟输出端,不使用时应悬空 AGND 模拟信号地 VREF 基准电压输入端 AOUT D/A转换后的电压输出端 2、功能说明 PCF8591是具有I2C总线接口的8位A/D及D/A转换器,具有4路A/D输入,1路D/A输出。PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址(1001)、引脚地址(由A0~A2接地或+5V来确定,接地代表0;接+5V代表1)、方向位(即R/W)组成。因此,在I2C总线系统中最多可接8个这样的器件。 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 1 A2 A1 A0 R/W R/W=1表示读操作,R/W=0表示写操作。本例将A0~A2接地,则读地址为91H;写地址为90H。 地址字节:由器件地址、引脚地址、方向位组成,它是通信时主机发送的第一字节数据。 控制字节:用于控制PCF8951的输入方式、输入通道、D/A转换等,是通信时主机发送的第二字节数据,其格式如下: D7 D6 D5 D4 D3 D2 D1 D0 未用 (写0) D/A输出允许位 0为禁止 1为允许 A/D输入方式选择位00:4路单端输入 01:3路差分输入 10:单端与差分 11:2路差分输入 未用 (写0) 自动增益选择位 0为禁用 1为启用 AD通道选择位 00:选择通道0 01:选择通道1 10:选择通道2 11:选择通道3 A/D输入方式选择说明: 3、通信格式 第一字节 第二字节 第三字节 写入器件地址(90H) 写入控制字节 要写入的数据 向PCF8591写入格式(高位在前) 第一字节 第二字节 第三字节 第四字节 写入器件地址(90H写) 写入控制字节 写入器件地址(91H读) 读出一字节数据 从PCF8591读数据格式(高位在前) (二)、I2C总线 1、I2C总线数据位的传输 它通过2根线:串行数据线(SDA)和串行时钟线(SCL)组成。连接到总线上的每一个器件都有一个唯一的地址,而且都可以作为一个发生器或接收器,SDA和SCL都是双向线路,分别通过一个电阻连接到电源(+5V)端。前提是连接到总线上的器件的SDA和SCL端必须是漏极或集电极开路型。I2C总线上的数据传输速率在标准模式下可达100Kb/s,快速模式可达400Kb/s,高速模式下可达3.4Mb/s。连接到总线的器件数量只由总线的电容(400PF)限制决定。 I2C总线上每传输一个数据位必须产生一个时钟脉冲,I2C总线上数据传输的有效性要求SDA线上的数据必须在时钟线SCL的高电平期间保存稳定,数据线的改变只能在时钟线为低电平期间。在标准模式下,高低电平宽度必须大于4.7us(即每次时钟线需延时4.7us后才能改变)。 2、I2C总线数据的传输 数据传输的字节格式 发送到SDA线上的每一个字节必须为8位,每次发送的字节数量不受限制,从机在接收完一个字节后向主机发送一个应答位,主机在收到从机应答后才会发送第二字节数据,发送数据时先发数据的最高位。 数据传输中的应答 相应的应答位由接收方(从机)产生,在应答的时钟脉冲期间,发送方(主机)应释放SDA线(使其为高电平)。在应答过程中,接收方(从机)必须将数据线SDA拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。 3、I2C总线的传输协议 寻址字节 主机产生起始条件后,发送的第一字节为寻址字节,该字节的前7位为从机地址,最低位决定了传输的方向,该最低位为“0”表示主机写数据到从机,“1”表示主机从从机中读数据。从机地址由一个固定的部分(如高4位1001)和可编程部分(如低3位A0~A2)及一个方向位(R/W)组成。 传输格式 主机产生起始条件后,首先发送一个寻址字节,收到从机应答后,接着就传输数据,数据传输一般由主机产生的停止位终止。但如果主机仍希望在总线上通信,则它可以产生重复起始条件和寻址另一个从机,而不必产生一个停止条件。 主机写数据到从机的通信格式如下: 1 2 3 4 5 6 7 N N-1 主机产生起始位 发从机地址90H 等待从机应答 发送数据 等待从机应答 发送数据 等待从机应答 。。。。 停止位 主机从从机中读数据的通信格式如下: 1 2 3 4 5 6 7 N N-1 主机产生起始位 发从机地址91H 等待从机应答

文档评论(0)

hkfgmny + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档