单片机
返回首页

avr单片机eeprom初始化配置及说明

2016-09-14 来源:eefocus

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;//返回数据寄存器里面的数据,读操作完成,
}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章