您的位置 首页 汽车

avr单片机eeprom初始化装备及阐明

ATmega16包含512字节的EEPROM数据存储器。它是作为一个独立的数据空间而存在的,可以按字节读写。EEPROM的寿命至少为100,0…

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
#include
/*EEPROM的512字节读写操作*/
void EEPROM_write(unsigned int uiAddress, unsigned char ucData)//写数据.存数据的地址0-511之间
{

while(EECR & (1<EEAR = uiAddress;//设置地址
EEDR = ucData;//设置数据
EECR |= (1<EECR |= (1<}

unsigned char EEPROM_read(unsigned int uiAddress)//读数据
{
while(EECR & (1<EEAR = uiAddress;//设置地址
EECR |= (1<return EEDR;//回来数据寄存器里边的数据,读操作完结,
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/266647.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部