📄 24cxxmain.c
字号:
/****************************************************************
实验名称:EEPROM读写演示程序
晶振:内部 8M
接线方法:
1.PC0,PC1分别接EEPROM的SCL,SDA
2.PA0-PA4分别接128*64显示屏的CS,SID,CLK,PSB,背光.
使用说明:
先向EEPROM写入一幅图片数据,然后从EEPROM中读取,并
在128*64显示屏显示出来。
*****************************************************************/
#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
const uchar pic[64][16]={
//128*64图片
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x79,0xC0,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0x01,0xC0,0x38,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x06,0x00,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0C,0x08,0x08,0x03,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x38,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x20,0x78,0x00,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x40,0x78,0x00,0x41,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x30,0x43,0x78,0x00,0x20,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x8F,0x7B,0xE0,0x30,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x9F,0x7B,0xC0,0x10,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x21,0x9F,0x7B,0xDC,0x10,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x61,0x1F,0x7B,0xFF,0x18,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x41,0x1F,0x7B,0xDF,0x08,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x41,0x1F,0x7B,0xDF,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x1F,0x7B,0xDF,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x1F,0x7B,0xDF,0x08,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x41,0x1F,0x7B,0xDF,0x08,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x61,0x1F,0x7B,0xDF,0x08,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x61,0x1F,0x3F,0x9F,0x18,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x9F,0x3F,0x9F,0x10,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x8F,0x0F,0x1F,0x10,0xC0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x30,0xCF,0x80,0x3E,0x20,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x47,0xC0,0x7E,0x20,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x23,0xE0,0xFC,0x41,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x30,0xFF,0xE0,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0C,0x18,0x3F,0xC1,0x82,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x00,0x03,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0xE0,0x70,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xC0,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x60,0x00,0x00,0x00,0x00,0x30,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x20,0x00,0x00,0x00,0x00,0x1C,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x60,0x80,0x00,0x00,0x00,0x07,0x80,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x41,0xC0,0x00,0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0xC7,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,
0x01,0xE7,0xC0,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xE0,0x00,0x64,0x00,0x10,0x00,
0x03,0xE7,0xC0,0x00,0x00,0x01,0xE0,0x00,0x00,0x03,0xE0,0x02,0x6C,0x00,0x1F,0x00,
0x03,0xEF,0x00,0x00,0x00,0x79,0xC0,0x00,0x00,0x07,0xFE,0x03,0x08,0x01,0x3D,0x80,
0x07,0xEF,0x00,0x00,0x00,0x79,0xC0,0x00,0x00,0x07,0xFE,0x01,0xF8,0x03,0xE0,0x80,
0x1F,0xE7,0x80,0x29,0xC0,0x31,0xB0,0x04,0x00,0x07,0xF8,0x03,0xFE,0x07,0x80,0x80,
0x3F,0xE5,0x80,0x3F,0xC0,0x7B,0x00,0x06,0x00,0x1F,0xF8,0x0F,0xFE,0x07,0x8E,0x80,
0x3F,0xE5,0x81,0xFD,0x80,0x71,0x80,0x02,0x00,0xF1,0xF0,0x0F,0x98,0x0F,0x18,0x00,
0x0B,0xC5,0x81,0x34,0x00,0xF0,0x80,0x02,0x00,0xC1,0xE0,0x1F,0xC0,0x1E,0x38,0x00,
0x03,0xC4,0x80,0x20,0x00,0x71,0xC0,0x00,0x00,0x01,0x80,0x0A,0x80,0x0F,0x7C,0x00,
0x03,0xC4,0x00,0x21,0x00,0x79,0xC0,0x07,0xC0,0x01,0xC0,0x00,0x80,0x0B,0x78,0x00,
0x03,0xC4,0x00,0x01,0x00,0x71,0xC0,0x7F,0xC0,0x00,0xC0,0x00,0xC0,0x09,0x38,0x00,
0x03,0xC4,0x00,0x01,0x00,0xF9,0xC0,0x78,0x00,0x01,0xC0,0x00,0x60,0x08,0x60,0xC0,
0x07,0xC4,0x00,0x03,0x01,0xA0,0xC0,0x00,0x00,0x03,0xF0,0x01,0xF8,0x0C,0x40,0x60,
0x1F,0xC4,0x00,0x02,0x01,0x00,0x00,0x00,0x00,0x03,0xF0,0x03,0xE0,0x06,0x0D,0xE0,
0x1B,0x44,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xE0,0x06,0x07,0x80,
0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,
0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,
0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
} ;
void main()
{
uint n=0;
uchar w_buf[16];
uint i,j;
uchar *w;
uint x;
uint y;
w=w_buf;
port_init();
twi_init(); //twi初始化
LCMInit();
LCMDelay(100) ;
LCMDisplayString(2,1,"EEPROM读写操作");
LCMDisplayString(3,2,"演示程序");
//先向EEPROM写入数据
for (i=0;i<64;i++)
{
for (j=0;j<16;j++)
w_buf[j]=pic[i][j];
w=w_buf;
x=i*16;
y=16;
wt24c(w,x,y);
LCMDelay(50);
n++;
LCMDisplayString(2,3,"正在写入数据:");
LCMDisplayString(2,4,"已完成 %");
LCMDisplayNummber(6,4,n*100/64);
}
LCMDelay(500) ;
LCMInit();
LCMDelay(100) ;
LCMDisplayString(2,2,"正在读取数据:");
LCMDisplayString(4,4,">");
LCMDelay(500) ;
LCMDisplayString(4,4,"> >");
LCMDelay(500) ;
LCMDisplayString(4,4,"> > >");
LCMDelay(500) ;
//从EEPROM中读取数据,在128*64液晶屏上显示。
LCMInit();
LCMDelay(100) ;
LCMDisplayPicture(0);
}
//-------------------------------------------------------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -