PCF8591的DA转换及程序设计_第1页
PCF8591的DA转换及程序设计_第2页
PCF8591的DA转换及程序设计_第3页
PCF8591的DA转换及程序设计_第4页
PCF8591的DA转换及程序设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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.c

温馨提示

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

评论

0/150

提交评论