AVR EEPROM

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

系统功能

  对AVR内部的EEPROM写入数据,再读出EEPROM的数据,用LED进行指示,观察读出的数据与写入的数据是否一致。
  
硬件设计


AVR主控电路原理图(点击图片放大,不需要放大镜!

LED控制电路原理图(点击图片放大,不需要放大镜!



软件设计

下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!

//目标系统: 基于AVR单片机
//应用软件: ICC AVR

/*01010101010101010101010101010101010101010101010101010101010101010101
----------------------------------------------------------------------
实验内容:
写入一些测试数据进EEPROM,再读出,使用PB口的LED做指示,观测是否与写入一致。
----------------------------------------------------------------------
硬件连接: 
将PB口的LED指示灯使能开关切换到"ON"状态。
----------------------------------------------------------------------
注意事项:
(1)若有加载库程序,请将光盘根目录下的“库程序”下的“ICC_H”文件夹拷到D盘
(2)请详细阅读:光盘根目录下的“产品资料\开发板实验板\SMK系列\SMK1632\说明资料”
----------------------------------------------------------------------
10101010101010101010101010101010101010101010101010101010101010101010*/

#include <iom16v.h>
#include "D:\ICC_H\CmmICC.H"

#define DISP_DDR   DDRB
#define DISP_PORT  PORTB

/*--------------------------------------------------------------------
程序名称:
程序功能:
注意事项:
提示说明:
输    入:
返    回:
--------------------------------------------------------------------*/
void main(void)
{
 uint8 i;
 uint8 wrDat=0xAA;
 uint8 wrDat_[]={1,2,3,4,5,6,7,8},rdDat_[8];
 DISP_DDR=0xFF;
 EEPROMwrite(0x01,wrDat); //写入单个数据
 DISP_PORT=EEPROMread(0x01); //读出用指示灯验证是否正确
 delay50ms(40);   //有2S的观察时间
 EEPROMWriteBytes(1,wrDat_,8); //对EEPROM写入数组数据       
 EEPROMReadBytes(1,rdDat_,8); //对EEPROM读出数据
 for(i=0;i<7;i++)
 {
  delay50ms(40);  //有2S的观察时间
  DISP_PORT=rdDat_[i]; //读出用指示灯验证是否正确
 }
 while(1);
}


系统调试

观察读出的EEPROM数据与写入EERPOM的数据是否一致,用LED作为数据,没什么好说的。。。


 相关AVR资料说明

可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

 相关AVR型号资料

ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny26 ATtiny2313
ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32
ATmega64 ATmega128 ATmega162 ATmega169 ATmega8515 ATmega8535

AVR EEPROM

——