快捷搜索:  汽车  科技

labview烧写参数到单片机(labview实验EEPROM的读写IIC)

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(一)IIC协议:一,IIC通信从接收器模式;主发送器模式;从发送器模式。

IIC是两线式串行总线,仅需要时钟和数据两根线就可以进行数据传输,仅需要占用微处理器的2个IO引脚,使用时十分方便。

STM32内部集成了IIC总线控制器,更多用户利用软件来控制STM32的物理引脚,模拟实现一个IIC总线接口。优势在于用户可以利用STM32的任意两个引脚充当IIC外部通信线(SCL,SDA),有利于电路线路的布局。

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(1)

由于IIC总线只有一根数据线充当输入与输出,因此,在通信前需要明确告诉对方接口的工作方式。一般有4种工作方式:

从发送器模式;

从接收器模式;

主发送器模式;

从发送器模式。

一,IIC通信

(一)IIC协议:

1,空闲状态

3,应答信号ACK

发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。 应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器已经成功地接收了该字节;应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。

对于反馈有效应答位ACK的要求是,接收器在第9个时钟脉冲之前的低电平期间将SDA线拉低,并且确保在该时钟的高电平期间为稳定的低电平。 如果接收器是主控器,则在它收到最后一个字节后,发送一个NACK信号,以通知被控发送器结束数据发送,并释放SDA线,以便主控接收器发送一个停止信号P。

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(2)

4,数据的有效性

I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

即:数据在SCL的上升沿到来之前就需准备好。并在在下降沿到来之前必须稳定。

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(3)

5,数据传输

在I2C总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),即在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据。数据位的传输是边沿触发。

EEPROM (24C02)

1,器件地址

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(4)

如果A2=A1=A0=0;

读的时候:Device Address=0xA1

写的时候:Device Address=0xA0

2,字节写时序

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(5)

3,字节读时序

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(6)

二,程序编写实验

编写一个EPPROM数据写入和读取程序

用开关KEY_UP开关和闭合切换写入两组不同的数据,然后读取出来,显示在LCD上。

实验预期效果:程序启动运行后,LCD显示出一组数据,代表从EPPROM中读取出来的数据;当按下KEY_UP按键时,LCD显示出另一组数据;当KEY_UP松开时,LCD显示出原先的数据。

程序编写,只需要一个子VI

程序步骤

1,LCD初始化

2,EEPROM初始化

3,EEPROM字节数组写入

4,EEPROM字节数组读取

5,LCD清除背景

6,LCD字符显示

程序编写

1,LCD初始化

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(7)

2,EEPROM初始化

本质上是对IIC接口进行初始化,可以选择IIC组号,SCL与SDA的引脚号。容量1K或2K大小的EEPROM器件地址是0x50,本质上是将A2、A1、A0全部拉低,然后再右移一位。

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(8)

EEPROM硬件图:

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(9)

3,EEPROM字节数组写入

KEY_UP按下或松开,分别写入不同的字符串

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(10)

4,EEPROM字节数组读取

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(11)

5,LCD清除背景

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(12)

6,LCD字符显示

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(13)

程序编写完成。

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(14)

三,编译下载

程序运行后,显示屏默认显示(即KEY_UP没有按下,或KEY_UP松开时显示)

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(15)

按下KEY_UP后显示:

labview烧写参数到单片机(labview实验EEPROM的读写IIC)(16)

猜您喜欢: