×
单片机 > 单片机程序设计 > 详情

嵌入式学习笔记21——AVR单片机之片内EEPROM

发布时间:2020-08-21 发布时间:
|
1. ATmega16单片机内部具有512字节的EEPROM,它是一个独立的数据空间。数据读写以一字节为单位,通过专用的指令来实现对EEPROM的操作,也可通过ISP,JTAG,并行编程的方式实现EEPROM的读写;采用内部RC振荡器的1MHz作为访问的定时时钟,其编程使用周期8848个周期,时间大约8.5ms;操作过程中尽量关闭中断,保证时序不被打断。

2. EEPROM存储器相关的寄存器


 

程序中可直接对地址寄存器EEAR赋值,如EEAR=0x01BA。

 


 

 

控制寄存器EECR用于控制单片机对EEPROM的操作


 

 

  • 位3——EERIE:EEPROM中断准备好使能位。当EERIE置1而且全局中断I置位时,如果EEWE为0,则单片机产生一个中断表示写操作完成。(即置1后,才能在全中断I为“1”,且EEWE为0时产生写操作完成中断。)
  • 位2——EEMWE:EEPROM主写使能位。当EEMWE为“1”时,设置EEWE为“1”将把EEDR中的数据写入EEAR所选择的的地址空间中(只是写入地址空间,还没有真正写入到EEPROM)。如果EEMWE为“0”,则EEWE无效。EEMWE在被用户置“1”后的4个时钟周期后被硬件清“0”。
  • 位1——EEWE:EEPROM写使能位。当EEPROM的地址和数据准备好之后,用户必须设置EEWE为“1”,才能将数据写入EEPROM中,在置EEWE为“1”之前,EEMWE必须置“1”,否则写入操作无效。EEPROM数据的写入操作如下:a等待EEWE为“0”;b把EEPROM的地址写入EEAR;c把EEPROM的数据写入EEDR;d置EEMWE为“1”;e在置EEMWE为“1”的4个时钟周期内,向EEWE中写入“1”。
  • 位0——EERE:EEPROM读使能位。EERE用于对EEPROM的数据读取,当EEAR中设置了EEPROM的读取地址后,置位EERE将执行读操作。当EEPROM中的数据被读取到数据寄存器EEDR中后,EERE被硬件清零,用户可以通过查询此位来判断读操作是否完成。
关键字:嵌入式学习  AVR单片机  片内EEPROM

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法