PCF8591的DA转换及程序设计.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PCF8591的D/A转换及程序设计

PCF8591的关键单元是D/A转换器。该器件进行D/A转换是通过I2C总线的写入方式操作完成的,其数据操作格式如图所示I2C总线数据操作格式其中S位为I2C总线的起动信号位,第一个字节SLAW为主控器件(即单片机)发送的PCF8591地址选择字节,第二个字节CONBYT为主控器件发送的PCF8591控制字节,data1~datan为待转换的二进制数字,A为一个字节传送完毕由PCF8591产生的应答信号,P为主机发送的I2C总线停止信号位D/A转换数据操作格式

任务7-2中的ex7_2.c程序中的DAC_PCF8591()函数中给出了以上D/A转换的代码,左图给出了其流程I2C总线数据操作格式D/A转换流程图

I2C总线操作时序及程序设计单片机编程控制I2C器件的工作主要包括两部分,一是按照时序图和上述各操作说明编写基本I2C时序函数;二是根据每个器件的特性编写应用函数,调用基本时序函数完成数据的读写功能下面根据I2C总线的操作时序,编写PCF8591相应的操作程序

时钟和数据转换SDA总线上的数据仅在SCL为低电平期间数据可能改变,如图所示。如果在SCL高电平期间数据发生改变,表示定义“开始”或“停止”两种状态输出数据:当数据(包括地址和数据)由单片机送往PCF8591芯片时,称为输出数据(写数据)。数据总是按字节(8位)逐位串行输出,每个时钟脉冲输出一位。SDA总线上的数据应在SCL低电平期间改变(输出),在SCL高电平期间稳定。51单片机可利用串行输出字节函数IICSendByte()来实现输出(写)一个字节数据的操作,具体函数参见程序ex7_2.co模数转换速度控制I2C总线操作时序及程序设计

时钟和数据转换输入数据:当单片机从PCF8591芯片的数据线上读取数据时,称为输入数据(读数据)。数据总是按字节(8位)逐位串行输入,每个时钟脉冲输入一位。同样的,PCF8591芯片在SCL低电平期间将数据送往SDA总线,在SCL高电平期间SDA总线上的数据稳定,可供接口设备读取。51单片机可利用串行输入字节函数IICReceiveByte(),来实现输入(读)一个字节数据的操作,具体函数参见程序ex7_2.c模数转换速度控制I2C总线操作时序及程序设计

开始状态(START)SCL处于高电平时,SDA从高电平转向低电平,表示一个“开始”状态。该状态表示一种操作的开始,因此必须在所有命令之前执行,如图所示51单片机可利用开始函数iic_start()实现一个开始操作,具体函数参见程序ex7_2.c起始信号与结束信号时序I2C总线操作时序及程序设计停止状态(STOP)SCL处于高电平时,SDA由低电平转向高电平表示一个“停止”状态。该状态表示一种操作的结束并将终止所有通信,如图所示51单片机可利用停止函数iic_stop()来实现停止操作,具体函数参见程序ex7_2.c

确认应答(ACK)所有地址和数据以8位二进制码形式串行输入/输出PCF8591。PCF8591在收到每个地址或数据码之后,置SDA为低电平作为确认应答,该确认应答发生于第9个时钟周期,如图所示应答信号时序I2C总线操作时序及程序设计

确认应答(ACK)当单片机向PCF8591发送完8位数据后,程序将产生第9个时钟脉冲,并从SDA线读入应答位ACK,此时ACK位的状态即为PCF8591的响应状态。当ACK=1时,表示PCF8591尚未接收到数据或内部定时写周期尚未结束,不能进行下一步的操作;当ACK=0时,表示PCF8591已接收到数据或内部定时写周期结束,可以进行下一步的操作。应答函数check_ACK()参见程序ex7_2.cI2C总线操作时序及程序设计应答信号时序

D/A转换程序设计D/A转换流程图如图所示。代码参见ex7_2.cI2C总线操作时序及程序设计D/A转换流程图

您可能关注的文档

文档评论(0)

方世玉 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6101050130000123

1亿VIP精品文档

相关文档