使用I2C访问EEPROM

2019-08-20 19:17

目录

一 课题分析 ........................................................................................................................................................ 1

1.1 I2C总线 ................................................................................................................................................. 1 1.2 单片机模拟I2C总线对EEPROM芯片读写 ..................................................................................... 1 1.3 AT24C02芯片各引脚功能 .................................................................................................................... 1 二 方案设计 ........................................................................................................................................................ 1 2.1 实验目的 ....................................................................................................................................................... 1

2.2 设计思路 ............................................................................................................................................... 2 2.3 各个模块的实现 .................................................................................................................................. 2

2.3.1 单片机对AT24C02的读或写................................................................................................... 2 2.3.2 串口指定地址 ............................................................................................................................ 4 2.3.3 数码管显示数据 ........................................................................................................................ 5 2.3.4 vb上位机程序 ............................................................................................................................ 6 2.4 设计的实现 ........................................................................................................................................... 7

参考文献 .............................................................................................................................................. 8

一 课题分析

1.1 I2C总线

I2C总线是一种串行总线协议,在单片机系统中常用来连接EEPROM、RAM、以及LED等设备。I2C总线通过双向的数据线SDA和时钟线SCL两个连线完成全双工的通信。I2C运用主/从双向通信原则。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态[1]。

1.2 单片机模拟I2C总线对EEPROM芯片读写

把单片机的普通I/O口作为SDA和SCL,来模拟I2C总线,实现对I2C接口的EEPROM芯片的读写操作,需要考虑I2C总线时序,传输数据的格式,EEPROM芯片的各引脚功能和与单片机的连接方式。

1.3 AT24C02芯片各引脚功能

各引脚功能如下。

A2~A0:器件地址选择引脚。将这3个引脚配置成不同的编码值,在同一串行总线上最多可扩充8片同一容量或不同容量的24系列串行EEPROM芯片。

SDA:串行数据输入输出口,是一个双向的漏极开路结构的引脚,容量扩展时可以将多片24系列的SDA引脚直接相连。

SCL:串行移位时钟控制端。写入时上升沿起作用,读出时下降沿起作用。

WP:硬件写保护控制引脚。当其为低电平时,正常写操作,高电平时,对EEPROM部分存储区域提供硬件写保护功能,即对被保护区域只能读不能写。 GND:接地。

VCC:接+5V电压[1]。

二 方案设计 2.1 实验目的

(1)完成AT24C02与AT89S51的电路连接

(2)实现单片机对AT24C02的存取功能,并由数码管显示存取结果

(3)实现由PC机控制的指定地址存取功能,并由串口调试工具进行数据收发 (4)PC机端控制程序的编写

1

2.2 设计思路

本次实验的主要设计思路是:第一步实现单片机对AT24C02芯片的读和写,并且将读写的结果显示在数码管上。第二步是通过串口接收PC发送的指定地址,实现对指定地址的读和写。第三步是编写一个上位机程序,控制pc机端。设计框图如图2.1所示:

PC机控制的指定地址对该地址读或写PC机端控制程序结果显示在数码管上

图2.1 系统设计框图

2.3 各个模块的实现

2.3.1 单片机对AT24C02的读或写

I2C总线,在数据传输的过程中,必须确认数据传送的开始和结束。在I2C总线规范中,规定起始条件指的是当 SCL为高电平的时候,SDA从高电平向低电平转换;停止条件指的是当SCL是高电平的时候,SDA从低电平向高电平转换。一个起始条件可以在SDA上面传输一个字节的数据,停止条件可以停止数据的传输[1]。数据传输的格式如图2.2所示: 起始位 地址 R/W 应答位 数据 应答位 ? 停止位 图2.2 数据传输格式

根据数据的传输的格式,要实现单片机通过模拟I2C总线对AT24C02的读或写,在发送起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别码,EEPROM芯片一般应为1010,接着三位为片选,最后一位为读写位,当读写为1时为读操作,即主器件从从器件读数据,为0时为写操作,即主器件把信息写到所选的从器件中[1]。接着是发送读或写的地址。无论是读还是写,在I2C总线上传送的每一字节都是8个bit 串行数据的传送总是从最高位开始的,每一数据帧后面都有一个确认为,也叫应答位[1]。因此,在读数据的时候,需要先将变量x中的各二进位向左移一位,再与SDA上的数据通过按位“或“运算存入变量x中。而数据则刚好相反,先将待写的数据通过和数0x80按位“与”运算将最高位数据送到SDA,再将该数据中的各二进位向左移一位。上述两个过程重复8次,即可完成一个字节的读或写。

起始条件和停止条件的流程图分别如图2.4和2.5所示:

2

开始SDA=1SCL=1等待两个机器周期SDA=0等待四个机器周期SCL=0等待一个机器周期结束 图2.4 起始条件流程图 数据的读和写流程图如图2.6和2.7所示: 3

开始SDA=0等待两个机器周期SCL=1等待四个机器周期SDA=1结束

2.5 停止条件流程图 图

开始i<8YX与0x80做与运算N开始返回应答位SDA=Xi<8YSCL=1N等待一个机器周期SCL=1返回数据等待两个机器周期移位读一个bitSCL=0SCL=0X左移一位

图2.6 读数据流程图 图2.7 写数据流程图

2.3.2 串口指定地址

AT89S51单片机的P3.0(RXD)、P3.1(TXD)构成了8051单片机的全双工引脚。串口数据格式1位起始位(0)+9位数据位(低位在前)+1位停止位(1)非传输时保持”1”。SBUF为串行发送、接收缓冲寄存器;发送和接收共用该寄存器。使用串口前,应对他惊醒初始化。设置串口的工作方式(SCON),如表2.1所示:

表2.1 串口工作方式控制 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 设置串口通行波特率TI,如表2.2所示: 表2.2 通信波特率 PCON TMOD SMOD GATE - C/T# - M1 - M0 - GATE - C/T# - M1 - M0 出口中断使能。电路原理图如图2.8所示: 4


使用I2C访问EEPROM.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:实验二 7段数码显示译码器

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: