AVR单片机EEPROM初始化配置及说明

来源:本站
导读:目前正在解读《AVR单片机EEPROM初始化配置及说明》的相关信息,《AVR单片机EEPROM初始化配置及说明》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《AVR单片机EEPROM初始化配置及说明》的详细说明。
简介:AVR单片机EEPROM初始化配置及说明

ATmega16 包含 512 字节的 EEPROM 数据存储器。它是作为一个独立的数据空间而存在的,可以按字节读写。 EEPROM 的寿命至少为 100,000 次擦除周期。 EEPROM 的访问 由地址寄存器、数据寄存器和控制寄存器决定。

/*

EEPROM 数据存储器

EEPROM 地址寄存器(EEARH 和 EEARL)

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

EEAR7 EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR1 EEAR0

Res: 保留

保留位,读操作返回值为零。

EEAR8..0: EEPROM 地址

EEPROM地址寄存器 – EEARH和EEARL指定了512字节的EEPROM空间。EEPROM地址是线性

的,从0 到511。EEAR的初始值没有定义。在访问EEPROM之前必须为其赋予正确的数据。

EEPROM数据寄存器 EEDR

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

MSB LSB

EEDR7.0: EEPROM 数据

对于EEPROM写操作, EEDR是需要写到EEAR单元的数据;对于读操作,EEDR 是从

地址EEAR读取的数据。

EEPROM控制寄存器 EECR

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

– – – – EERIE EEMWE EEWE EERE

Res: 保留

保留位,读操作返回值为零。

EERIE: 使能EEPROM 准备好中断

若SREG 的I 为"1",则置位EERIE 将使能EEPROM 准备好中断。清零EERIE 则禁止此

中断。当EEWE 清零时EEPROM 准备好中断即可发生。

EEMWE: EEPROM 主机写使能

EEMWE决定了EEWE置位是否可以启动EEPROM写操作。当EEMWE为"1"时,在4个时钟周

期内置位EEWE将把数据写入EEPROM的指定地址;若EEMWE为"0“,则操作EEWE不起

作用。EEMWE置位后4个周期,硬件对其清零。见EEPROM 写过程中对EEWE 位的描述。

EEWE: EEPROM写使能

EEWE为EEPROM写操作的使能信号。当EEPROM数据和地址设置好之后,需置位EEWE以便将

数据写入EEPROM。此时EEMWE必须置位,否则EEPROM写操作将不会发生。

*/

#include<iom16v.h>

#include<macros.h>

/*EEPROM的512字节读写操作*/

void EEPROM_write(unsigned int uiAddress, unsigned char ucData)//写数据.存数据的地址0-511之间

{

while(EECR & (1<<EEWE));//等待上一次写操作结束

EEAR = uiAddress;//设置地址

EEDR = ucData;//设置数据

EECR |= (1<<EEMWE);//置位EEMWE

EECR |= (1<<EEWE);//置位EEWE启动写操作

}

unsigned char EEPROM_read(unsigned int uiAddress)//读数据

{

while(EECR & (1<<EEWE));//等待上一次写操作结束

EEAR = uiAddress;//设置地址

EECR |= (1<<EERE); //设置EERE一启动读操作

return EEDR;//返回数据寄存器里面的数据,读操作完成,

}

提醒:《AVR单片机EEPROM初始化配置及说明》最后刷新时间 2024-03-14 01:14:04,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《AVR单片机EEPROM初始化配置及说明》该内容的真实性请自行鉴别。