atmega8 例程: EEPROM使用

/***************************************************************** 
* 函数库说明:ATMEGA8 EEPROM使用
* 版本: v1.00
* 修改: 庞辉 芜湖联大飞思卡尔工作室
* 修改日期: 2011年08月08日
*
* 说明: (1)直接使用EEPROM地址操作EEPROM
* (2)先定义EEPROM区变量
*
* 版本更新: 详见readme.txt
*
* 20110805 V1.02
*
******************************************************************
*注意: CE PC0
* RST PC1
* DC PC2
* SDIN PC3
* SCLK PC4
*
* 方法一的变量地址是自己确定的,而方法二的是编译器决定的
*****************************************************************
*/

#include "includes.h"

/***********************************************************
** 名 称:int main(void)
** 功 能:主函数
** 入口参数:无
** 出口参数:无
** 使用说明:无
*********************************************************
*/

//只能定义为全局变量
char ss __attribute__((section(".eeprom")));

int main(void)
{
char temp1 = 0;
char temp2 = 0;

LCD_Init();

//直接使用EEPROM地址操作EEPROM
//等待EEPROM读写就绪
eeprom_busy_wait();
//将0x41写入到EEPROM的0地址处
eeprom_write_byte(0, 0x41);
//等待EEPROM读写就绪
eeprom_busy_wait();
//从eeprom的0地址处读取一字节赋给ram变量temp
temp1 = eeprom_read_byte(0);

//先定义EEPROM区变量
//等待EEPROM读写就绪
eeprom_busy_wait();
//将0x41写入到EEPROM的0地址处
eeprom_write_byte(&ss, 0x41);
//等待EEPROM读写就绪
eeprom_busy_wait();
//从eeprom的0地址处读取一字节赋给ram变量temp
temp2 = eeprom_read_byte(&ss);

//LCD_Write_Chinese_String(10,0,12,4,Chinese_Font,0,5);
//LCD_Write_Chinese_String(10,2,12,4,Chinese_Font,4,5);
//LCD_Write_Chinese_String(18,4,12,3,Chinese_Font,8,5);
LCD_Set_XY(0, 0);
LCD_Write_Char(temp1);
LCD_Set_XY(0, 1);
LCD_Write_Char(temp2);
while(1);

return 0;
}



5110显示部分参考之前文章。

原文地址:https://www.cnblogs.com/pang123hui/p/2309869.html