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

发布者:asdfrewqpp最新更新时间:2016-09-14 来源: eefocus关键字: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
#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;//返回数据寄存器里面的数据,读操作完成,
}

关键字:avr单片机  eeprom  初始化配置 引用地址:avr单片机eeprom初始化配置及说明

上一篇:avr单片机看门狗初始化配置及说明
下一篇:avr单片机SPI串行外设接口初始化配置及说明

推荐阅读最新更新时间:2024-03-16 15:10

【蓝桥杯单片机组】AT2C02 EEPROM
这个也是iic总线结构! 在此总结一下iic的程序结构 在同一个函数内读、写操作(以读eeprom为例) (1)开启总线 (2)写地址字,等待回应(写命令) (3)写要读的地址,等待回应 (4)再次开启总线 (5)写地址字,等待回应(读命令) (6)读要读的地址 (7)发出回应 (8)结束总线 放上代码: unsigned char read_eeprom(unsigned char add) { unsigned char dat; IIC_Start(); //(1)开启总线 IIC_SendByte(SlaveAddrW); //(2)写地址字,等待回应(写命令) II
[单片机]
STM32——EEPROM
一、I2C接口读写EEPROM(AT24C02) ——主模式,分别用作主发送器和主接收器。通过查询事件的方式来确保正常通信。 1、I2C接口初始化 与其他对GPIO 复用的外设一样,它先调用了用户函数I2C_GPIO_Confi g() 配置好 I 2 C 所用的 I/O端口,然后再调用用户函数 I2C_Mode_Confi gu() 设置 I 2 C 的工作模式,并使能相关外设的时钟。 void I2C_EE_Init(void) { I2C_GPIO_Config(); I2C_Mode_Config(); /* 根据头文件 i2c_ee. 14 h 中的定义来选择 EEPROM 要写入的地址 */
[单片机]
STM32——<font color='red'>EEPROM</font>
基于AVR单片机的LED显示屏控制系统的研究
   1 引言   LED 显示屏是八十年代后期在全球迅速发展起来的新型信息传播媒体,是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的大型显示系统。它以其色彩鲜艳、动态范围广、亮度高、寿命长、工作性能稳定而日渐成为显示媒体中的佼佼者,广泛应用于广告、证券、信息传播、新闻发布等方面, 是目前国际上较为先进的宣传显示媒体 .本文提出了一种主从式单片机的LED 显示屏解决方案, 该设计方案利用AVR 单片机自身的FLASH ROM 和RAM,外部无需任何存储电路,电路结构简单。   2 系统的工作原理及总体方案设计   2. 1 AVR 单片机   AVR 单片机是增强型内置Flash 的RISC(Reduc
[电源管理]
基于<font color='red'>AVR单片机</font>的LED显示屏控制系统的研究
AVR单片机的RTOS-AVRX应用
摘 要:详细介绍AVR系列单片机的专用实时嵌入式操作系统AVRX的特点,并以ATmega16单片机为平台,结合AVR单片机应用实例分析AVRX的内核代码及移植方法,并对系统的相关性能进行测试。采用AVRX可以大大简化程序设计,满足实时要求,降低编程难度,提高系统可靠性。本文为在AVR单片机上进行嵌入式系统开发提供了参考。 关键词: RTOS AVRX AVR单片机移植 系统测试 引 言 随着技术的发展,嵌入式系统的设计及应用对人们的生活产生了很大的影响,并将逐渐改变人们未来的生活方式。在特定的操作系统上开发应用程序,可以使开发人员忽略掉很多底层硬件细节,使得应用程序调试更方便、易于维护、开发周期缩短并且降低开发成本,因而嵌入
[单片机]
avr单片机 TC1的16位PWM输出程序
********************************************/ * 工作频率:内部8M * * 编 译 器:ICCAVR 6.31A * * 输 出:PD4输出PWMB,PD5输出PWMA * * 产生的PWM频率为8M/65536约122Hz * ********************************************/ #include iom16v.h #include macros.h //延时函数:入口time 需延时的MS数 void delay_ms(unsigned int time) { unsi
[单片机]
AVR单片机ADC转换程序
//基准定义 #defineAD_ref_vref0x00//基准Vref #defineAD_ref_avcc0x40//基准AVCC #defineAD_ref_vref_in0xc0//基准内部Vref #defineAD_refAD_ref_vref //常量定义 //单端通道,不放大 #define AD_SE_ADC0 0x00//ADC0 #define AD_SE_ADC1 0x01//ADC1 #define AD_SE_ADC2 0x02//ADC2 #define AD_SE_ADC3 0x03//ADC3 #define AD_SE_ADC4 0x04//ADC4 #define AD_
[单片机]
单片机成长之路(avr基础篇)- 003 AVR单片机的BOOT区
BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器。对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都是不可读的,这就在运行旧程序和写入新程序之间造成了一个矛盾。 使用BOOT区是解决这个矛盾的方法之一,它将FLASH存储器从物理上分为两个独立的区域,对其中的一个区的数据写入不会影响到另一个区的数据读取操作。我们可以让单片机的程序在其中一个区(通常是BOOT区)运行,而运行着的程序代码写入另外一个区(通常为应用程序区)内。 AVR高档单片机ATmega系列中含有BOOT代码区,即程序引导区,也可称器件自身监控
[单片机]
STM32系统学习——I2C (读写EEPROM
I2C 通讯协议(Inter-Integrated Circuit)引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32 标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。 物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流, 协议层则规定我
[单片机]
STM32系统学习——I2C (读写<font color='red'>EEPROM</font>)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved