PCF8591DA和AD转换器读写程序1 - 嵌入式开发.docx

PCF8591DA和AD转换器读写程序1 - 嵌入式开发.docx

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

--精品

址;判断字节读取完否;调主机非应答子程序;调I2C总线停止子程序

址;判断字节读取完否;调主机非应答子程序;调I2C总线停止子程序;调主机应答子程序;向I2C总线发送

F8591的地址MOVP0,#0FFHMOVP2,#0FFHMOVSUBD,#40HMOVNUMBR

ALLWI2CLCALLRACKJNBACK,WOUTMOVA,SUBDLCALLWI2CLCALL

总线数据的传输数据传输的字节格式发送到SDA线上的每一个字节必须为8位,每次发送的字节数量不受限制,

(一)、PCF8591

1、引脚说明

ANI0~ANI3为模拟信号输入端,不使用的输入端应接地

A0~A2地址输入端

GND、VCC地和电源端(+5V)

SDA为I2C数据输入与输出端

SCL为I2C时钟输入端

EXT内外部时钟选择端,使用内部时钟时接地,使用外部时钟时接+5V

OSC外部时钟输入、内部时钟输出端,不使用时应悬空

AGND模拟信号地

VREF基准电压输入端

AOUTD/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

D7

1

D6

0

D5

0

D4

1

D3

A2

D2

A1

D1

A0

D0

R/W

--精品

程序;数据处理子程序DAT:MOVA,30HMOVB,#100DIVABMOV50H,AMOVA,#00Kb/s

程序;数据处理子程序DAT:MOVA,30HMOVB,#100DIVABMOV50H,AMOVA,#

00Kb/s,快速模式可达400Kb/s,高速模式下可达3.4Mb/s。连接到总线的器件数量只由总线

LCALLTIM2MSMOVA,51HMOVCA,@A+DPTRMOVP0,AMOVP2,#02HL

线发送一个字节数据子程序精品--WI2C:MOVR7,#8WLP:RLCAMOVSDA,CNOPSE

精品--

R/W=1表示读操作,R/W=0表示写操作。本例将A0~A2接地,则读地址为91H;写地址为90H。地址字节:由器件地址、引脚地址、方向位组成,它是通信时主机发送的第一字节数据。

控制字节:用于控制PCF8951的输入方式、输入通道、D/A转换等,是通信时主机发送的第二字节数据,其格式如下:

D2

A/D输入方式选择

自动增

位00:4路单端输

益选择

入01:3路差分

位0为

输入10:单端与

禁用1

差分11:2路差

为启用

分输入

A/D输入方式选择说明:

AD通道选择位

00:选择通道0

01:选择通道1

10:选择通道2

11:选择通道3

(写0)

(写0)

D5D4

位0为

禁止1

D/A输

为允许

出允许

未用

未用

D3

D6

D0

D7

D1

--精品

,WADD;送入器件地址;向I2C总线发送一个字节数据子程序

,WADD;送入器件地址;向I2C总线发送一个字节数据子程序;读取从机应答位子程序;判断从机有无应答

址;判断字节读取完否;调主机非应答子程序;调I2C总线停止子程序;调主机应答子程序;向I2C总线发送

表示主机从从机中读数据。从机地址由一个固定的部分(如高4位1001)和可编程部分(如低3位A0~A2

MOV51H,#0MOV52H,#0;显示的百位清零;显示的十位清零;显示的个位清零M1:LCALL

3、通信格式

第一字节

第一字节

写入器件地址(90H)

向PCF8591写入格式(高位在前)

要写入的数据

写入控制字节

第二字节

第三字节

第三字节

第三字节第四字节

写入器件地址(91H读)读出一字节数据

从PCF8591读数据格式(高位在前)

写入器件地址(90H写)写入控制字节

第一字节第二字节

--精品

QU25HWDATAEQU26H;需读取的字节数;需写入的字节数;读出数据的存放首地址

QU25HWDATAEQU26H;需读取的字节数;需写入的字节数;读出数据的存放首地址;写入数据的存

就传输数据,数据传输一般由主机产生的停止位终止。但如果主机仍希望在总线上通信,则它可以产生重复起始条

即从地址);器件内部地址(即子地址)精品--NUMBREQU23HNUMBWE

文档评论(0)

刘jia老师 + 关注
实名认证
内容提供者

一线学习资料,欢迎下载

1亿VIP精品文档

相关文档