嵌入式学习笔记21——AVR单片机之片内EEPROM
时间:11-19
来源:互联网
点击:
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单片机片内EEPRO 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)