前面已经提到,AT24C02可以存储256个字节的数据,因此我们的数据可以任意0~255号地址的空间进行存储:
读取WordAddress地址中存储的字节信息:
我们使用LCD_1602进行显示,第二行显示num数字,当我们单击按钮时:
点击k1,num--
点击k2,num++
点击k3,将num的数据存储到AT24C02中地址为1的空间中
void main() { unsigned char key, num; unsigned char storageData; LCD_Init(); LCD_ShowString(1, 1, "Hello world"); LCD_ShowString(2, 1, "num:"); storageData = AT24C02_ReadByte(1); num = storageData; LCD_ShowNum(2, 5, storageData, 3); Timer0_Init(); while (1) { key = Key(); if (key) { switch (key) { case 1: num--; break; case 2: num++; break; case 3: AT24C02_WriteByte(1, num); break; } } LCD_ShowNum(2, 5, num, 3); } } void Timer0_Routine() interrupt 1 { static unsigned int T0Count..; TL0 = 0x18;//设置定时初值 TH0 = 0xFC;//设置定时初值 T0Count++; if (T0Count >= 20) { T0Count = 0; Key_Loop();//每20ms调用一次按键驱动函数 } }这样我们每次重启时就可以看到上次存储的数字了。