STM32单片机仿真开发实例 课件 5.2 串行E2PROM AT24C02的使用.pptx

STM32单片机仿真开发实例 课件 5.2 串行E2PROM AT24C02的使用.pptx

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

;能力目标:

在了解I2C总线通信规则的基础上,掌握读写E2PROM芯片AT24C02一个字节的使用方法,并能编写相应的STM32程序。

任务要求:

仿真电路如图所示,STM32单片机能将由串口收到的1个字节数据存入到AT24C02的首地址;按下按钮BTN1,单片机将存储在AT24C02首地址的1个字节数据通过串口发送。串口通信参数是波特率19200bps、无校验。;5.3.1I2C总线简介

(1)概述

I2C(Inter-IntegratedCircuit)总线是目前主流的芯片间总线接口技术之一。

I2C总线属于多主总线,每一个节点都可以设定唯一的地址,I2C总线连接示意图如图所示。向总线发送数据的设备作为发送器,而从总线接收数据的设备则作为接收器,通过冲突检测和仲裁可以防止总线上数据传输发生错误。目前I2C总线具有三种传输速率,①标准模式(1980年提出)为100kbps、②快速模式(1992年提出)为400kbps、③高速模式(1998年提出,并与2001年修订)可达3.4Mbps。;I2C总线只有①时钟信号线SCL与②双向数据线SDA两根,如上图所示,SCL与SDA被上拉至电源VCC,也就是说I2C总线处于“空闲”状态时SCL、SDA均为高电平。

(2)通信时序

I2C通信时序分为发送器启动/停止通信、数据位传送、接收器返回响应信号三种。

①发送器启动/停止通信;②数据位传送

在SCL处于高电平期间,SDA必须保持稳定,SDA低电平表示数据0、高电平表示数据1,只有在SCL处于低电平期间,SDA才能改变电平状态。

③接收器返回响应信号

数据发送器可以连续发送多个字节数据,但是每发送一个字节(8个位)数据,数据接收器必须返回一位响应信号。响应信号位若为低电平则规定为应答响应位(简称ACK),表示数据接收器接收该字节数据成功;响应信号位若为高电平则规定为非应答响应位(简称NACK),表示数据接收器接收该字节数据失败。如果数据接收器是主机,则在它收到最后一个字节数据后,返回一个非应答位,通知数据发送器结束数据发送,接着主机向总线发送一个停止通信信号结束通信过程。;5.3.2AT24C02简介

(1)芯片概述

AT24Cxx是美国Atmel公司出品的串行E2PROM系列芯片,xx表示不同的容量。比如本次任务用到的AT24C02,表示其总容???为2KBits(256Bytes)。AT24C02的工作电压范围为1.8V~6.0V,能适应目前市面上主流的3.3V和5.0V工作电压的单片机。值得注意的是,工作电压越高,相应的工作频率也越高,典型工作电压3.3V和5.0V对应的工作频率分别是标准模式100kHz和快速模式400kHz。;8个引脚的功能如下表。

其中,引脚1~3参与构成AT24C02在I2C总线上的地址。

地址高四位固定1010B,低四位最低位在总线“写”命令中固定为0,在总线“读”命令中固定位1,余下三位就由引脚1~3的电平决定。换言之,同一条I2C总线上,最多只能挂载8个AT24C02。;(2)芯片的读写时序

AT24C02的读写方式有:①写入字节(ByteWrite)、②写入页(PageWrite)、③读当前地址(CurrentAddressRead)、④随机读取(RandomRead)和⑤连续读取(SequentialRead)五种方式。这里仅介绍写入字节和随机读取两种。

①写入字节时序

写入字节即向AT24C02写入一个字节。;②随机读取时序

5.3.3任务程序的编写

STM32F103R6本身自带一个I2C通信模块,但是在实际应用中也有一部分工程师会选择使用GPIO引脚模拟I2C的时序,这样做的好处是程序代码便于在不同的处理器上进行移植。;工程图形化配置中,GPIO引脚的分配如图5-12所示,用PB6、PB7分别模拟I2C总线的时钟线SCL、数据线SDA。

程序采用典型的模块化设计方式,将I2C总线时序模拟和AT24C02操作代码分别写在“vI2C.h”、“AT24C02.h”两个头文件中。;(现场操作演示…)

技能训练(选做):

将原图中AT24C02的地址线A0、A1、A2分别接到高电平,重新完成本次任务。;Tobecontinued...

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档