📄 main.c
字号:
/*********************************************************************************************************
** 工程功能 :内置EEPROM
** 工程作者 :Blue Sky Teams——WCW
** 工程版本 :V1.0
*********************************************************************************************************/
#include <STC12C5A60S2.h>
#include<LCD1602.h>
#include <EEPROM.h>
//详细的介绍请参看“STC12C5A60S2.pdf”第12章 STC12C5A60S2系列单片机eeprom的应用
void main()
{
uchar temp1=0x38,temp2,temp3[]="By Blue Sky",temp4[12],i;
LCD_1602_Init(); //液晶显示前进行初始化
Write_1602_String("I LIKE MCU 2012",0X80);
Write_1602_Data(0x05);//自定义字符'年'
/*使用Zijie_Program的时候,不用先擦除原先eeprom的数据,因为zijie_Program里面已经先帮你擦除了,
调用时只需将形参数据和地址给出即可,缺点是是运要行效率不高,所需时间较多,在对时间求不是很严格的场合可适用*/
Zijie_Program(0x38,0x00); //向eeprom地址为0的地方写入数据0x38
temp2=Byte_Read(0x00); //从eerpom中地址为0的地方读出数据存到temp2
Write_1602_Data(temp2); //显示读到的数据,0x38对应显示出来是“8”
/*使用Byte_Program直接写入数据,要先进行擦除*/
Sector_Erase(0); //擦除地址0所在的扇区的512个字节,即地址0-512的数据
//擦完后地址0-512的数据全部为0xFF,此后才可以向这个扇区写入数据
//也可以用Erase_zijie(uint ADDR)函数擦除特定字节的数据
for(i=0;i<12;i++)
{
Byte_Program(temp3[i],i);//将temp3的数据存到eeprom里面
temp4[i]=Byte_Read(i); //将对应的数据从eeprom中读出来赋给temp4
}
Write_1602_String(temp4,0xC5);//将从eeprom中读回来的数据显示出来
while(1);
}
/************************** (C) COPYRIGHT 2011 Blue Sky Teams *****END OF FILE*****************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -