微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ATMega16内部EEPROM存储器的应用

ATMega16内部EEPROM存储器的应用

时间:10-09 来源:互联网 点击:

将需要写入EEPROM的密码生成*.eep文件,假设有两组密码需要存储,分别是建设银行卡密码(为123456)和EMAIL ABC@163.COM密码(为ABCDEFG),并设定密码保管箱的密码为“567890”。

  ICC AVR用以下方法产生用于写入EEPROM的eep文件:

  #pragma data:eeprom

  //设置数据区到EEPROM

  char key[]={‘5’,‘6’,‘7’,

  ‘8’,‘9’,‘O’}

  char password[]={“CBC:

  123456%ABC@163.COM:

  ABCDEFG$")

  //假设我们用“%”作为密码之

  间的分割;“$”为密码结束标志

  #pragma data:data

  //设置数据区回到数据存储器

  将以上代码添加在main.c中,注意必须紧跟着头文件之后。这样ICC AVR编译完成后,除了生成单片机执行文件}.hex,同时还将产生一个eep文件,可以通过Ponyprog软件写入ATMega16的EEPROM存储器中。由于某种原因,在ATMega16的O~511共512个字节的EEPROM中,在地址O处的字节是不能使用的,所以上面的密码将从EEPROM的地址1处依次存储,即ATMega16可用的EEPROM为511个字节。

  本例程中将功能相关的函数放在一起构成一个C文件,因此在一个工程中会有多个C源文件,这样做的好处是使得结构清晰,修改和扩充都很方便。但是要注意文件包含问题,可以查阅相关的C语言书籍。

  在完成所有的代码后进行编译,将编译后生成的hex文件和eep文件一起写入ATMega16。步骤如下:打开Ponyprog软件,选择File→OpenProgram(FLASH)File,选中生成的hex文件;再选择File→Open Data(EEPROM)File,将文件类型更改为*.eep,然后选中eep文件。连接好硬件后,点击Command→Write All,即可写入。

  工作中的系统如上图所示。 因为本文介绍的“密码保管箱”要借助于电脑进行显示,还不够独立,笔者将在下期介绍如何使用ATMega16控制液晶显示屏,让密码保管箱可以独立使用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top