当前位置:文档之家› 单片机C语言-第8章 外部串行总线扩展的C51编程1

单片机C语言-第8章 外部串行总线扩展的C51编程1


3、写操作方式
(1)字节写 在字节写模式下,主机发送起始命令和器件地址信
息(R/W位置0),主机在收到AT24CXX产生的应答信号后, 发送1~8位字节地址,写入AT24CXX的地址指针。对于高 于8位的地址,主机连续发送两个8位字节地址,写入 AT24CXX的地址指针。主机收到AT24CXX回答后,再发 送数据到被寻址的存储单元。 AT24CXX再次回答,在主 机发出停止信号后开始内部数据的擦写。
2、AT24CXX系列串行E2PROM的寻址
(1)寻址方式字节
AT24CXX系列串行E2PROM寻址方式字节 中的高4位(D7~D4)为器件地址, AT24CXX系 列固定为1010;寻址字节中D3、D2、D1为引脚 地址。
(2)应答信号
I2C总线数据传送时,每成功传送1字节数 据后,接收器件都必须产生一个应答信号。接 收器件在第9个时钟周期时将SDA线拉低,表示 已收到一个8位数据。
第8章 外部串行扩展的C51编程
8.1 I2C总线接口技术 8.2 SPI总线接口技术 8.3 单总线(1-wire)接口技术 8.4 串行A/D接口芯片TLC2543的C51编程
外部串行扩展的特点及应用领域:
• (1)串行扩展连接线灵活,占用单片机资源少, 系统结构简化,极易形成用户的模块化结构。
(3)应答信号(ACK):I2C总线传送数据时, 每传送一个字 节数据后都必须有应答信号, 与应答信号相对应的时钟 由主器件产生。 这时发送方必须在这一时钟上释放总线, 使其处于高电平状态,以便接收方在这一位上送出应答信 号。 应答信号在第9个时钟位上出现, 接收方输出低电平 为应答信号。
I2C总线上的应答信号和非应答信号
(4)非应答信号(ACK): 每传送完一字节数据后,在第9个 时钟位上接收方输出高电平为非应答信号。 由于某种原因 而使接收方不产生应答时(如接收方正在进行其他处理而无 法接收总线上的数据),则必须释放总线, 将数据线置高电 平,然后主控器可通过产生一个停止信号来终止总线数据 传输。 当主器件接收来自从器件的数据时, 接收到最后一 个字节数据后,必须给从器件发送一个非应答信号(ACK), 使从器件释放数据总线, 以便主器件发送停止信号,从而 终止数据传送。
• 1、AT24C系列的引脚

AT24C02是串行E2PROM是具有I2C总线
接口功能的电可擦除串行E2PROM器件。
AT24C02具有两种写入方式:一种是字节写
入方式,另一种是页写入方式。
• ① SCL:串行时钟输入线。
• ② SDA:串行数据/地址线。
• ③ A0、A1、A2:器件地址输入端。
• ④ WP:写保护端。
号(P)结束。 4. I2C总线上传输的数据和地址字节均为8位,且高位在
前,低位在后。
7
I2C串行总线数据传送时序图
长江大学电子信息学院
8
I2C总线数据传送基本时序说明如下:
(1)起始信号(S): 在时钟SCL为高电平时, 数据线SDA出 现由高到低的下降沿, 被认为是起始信号。 只有出现起 始信号以后,其他命令才有效。 (2)终止信号(P):在时钟SCL为高电平时, 数据线SDA出 现由低到高的上升沿, 被认为是终止信号。 随着终止信号 的出现,所有外部操作都结束。
数据方向位(R/W)规定了总线上的单片机(主器件)与 外围器件(从器件)的数据传送方向。 R/W=1, 表示接收 (读); R/W=0, 表示发送(写)。
3、数据传送时序
I2C总线的通信规则如下: 1. I2C运用主/从双向通信。 2. I2C总线的时钟线SCL和数据线SDA都是双向传输线。 3. SDA线上传送的数据均以起始信号(S)开始,停止信
件)的接口电路都应具有I2C总线接口, 所有器件都通过总
线寻址,而且所有SDA/SCL同名端相连。
存储器 SAD SCL
键盘/显示接口 SAD SCL
单 SAD 片 机 SCL
SAD
SCL
存储器
SAD SCL 键盘/显示接口
2. 总线器件的寻址方式
在一般的并行接口扩展系统中,器件地址都是由地址 线的连接形式决定的,而在I2C总线系统中, 地址是由器件 类型及其地址引脚电平决定的, 对器件的寻址采用软件方 法。 I2C总线上的所有外围器件都有规范的器件地址。 器 件地址由7位组成, 它与一位方向位共同构成了I2C总线器 件的寻址字节。 寻址字节(SLA)的格式如下:
被广泛应用于消费类电子产品、 通信产品、 仪器通
信及工业系统总线中。

I2C总线以两根连接线实现全双工同步数据传送,
可以极方便地构成外围器件扩展系统。I2C总线传输
速率为100 kb/s,新规范中传输速率可达400 kb/s。


I2C总线的两根线分别为:

① 串行数据SDA(Serial Data)
器件地址(DA3、 DA2、 DA1、 DA0)是I2C总线外围 器件的固有地址编码, 器件出厂时就已经给定。 例如I2C 总线E2PROM AT24C02的器件地址为1010,4位LED驱动 器SAA1064的器件地址为0111。
引脚地址(A2、 A、A0)是由I2C总线外围器件引脚所 指定的地址端口, A2、 A1和A0在电路中可接电源、 接 地或悬空, 根据其连接状态形成地址代码。
(5)数据传送位
在I2C总线启动后或应答信号后的第1~8个时钟脉冲 对应一个字节的8位数据传送。 在数据传送期间, 只要 时钟线为高电平,数据线上必须保持稳定的逻辑电平状 态,数据串行传送;低电平期间准备发送数据,允许总 路线上的数据电平变换。
4、常用的I2C总线器件
8.1.2 I2C总线典型器件AT24C02应用举例

② 串行时钟SCL(Serial Clock)
1、I2C总线工作原理
I2C总线采用两线制, 由数据线SDA和时钟线SCL构成。
I2C总线为同步传输总线,数据线上信号完全与时钟同步。
数据传送采用主从方式, 主器件(主控器)寻址从器件(被控
器),启动总线, 产生时钟, 传送数据及结束数据的传送。
SDA/SCL总线上挂接的单片机(主器件)或外围器件(从器
• (2)串行扩展方式还具有工作电压宽、抗干扰能 力强、功耗低、数据不易丢失等特点。
• (3)串行扩展技术在IC卡、智能化仪器仪表及分 布式控制系统等领域得到广泛的应用。
8.1 I2C总线接口技术
• 8.1.1 认识I2C总线

I2C总线(Inter IC Bus)全称为芯片间总线,是由
Philips公司推出的一种基于两线制的同步串行总线,
相关主题