ATMega16内部EEPROM存储器的应用
将需要写入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控制液晶显示屏,让密码保管箱可以独立使用。
- 基于MMS的即时报警系统设计(01-23)
- 基于ATmega162的智能仪器设计(08-18)
- AVR汇编初探之二《AVR的指令与汇编系统》(01-10)
- Atmega16与DS1302数码管显示程序(12-02)
- ATMEGA16与DS18B20数码管显示(12-02)
- ATmega16利用TWI模块读写24C02程序(12-02)