📄 ocm240128.c
字号:
0x80,0x00,0x00,0x01,0xF9,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xF0,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xF0,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xE0,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xC0,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xC0,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xC0,0x00,0x1E,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xC0,0x00,0x1E,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xE0,0x00,0x03,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xE0,0x00,0x03,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xE0,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xE0,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x02,0xD0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x02,0xD0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x04,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x04,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x08,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x08,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x30,0xCD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x30,0xCD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x0A,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x0A,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x03,0xF2,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x03,0xF2,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};
/*---------------延时子程序----------------*/
void delay (uint us)
{
while(us--);
}
void delay1 (uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<1000;j++)
;
}
/*------------写命令或数据到LCD--------------*/
void wr_od (uchar dat,uchar comm) //写一个数据和一个命令
{
wr_data(dat);
wr_comm(comm);
}
void wr_td (uchar datl,uchar dath,uchar comm) //写两个数据和一个命令
{
wr_data(datl);
wr_data(dath);
wr_comm(comm);
}
void wr_xd (uint dat,uchar comm) //写一个16进制数据和一个命令
{
uchar datl,dath;
datl=dat;
dath=dat>>8;
wr_data(datl);
wr_data(dath);
wr_comm(comm);
}
void wr_auto (uchar dat) //自动写数据
{
chk_busy (1);
cd=0;
rd=1;
data_ora=dat;
wr=0;
wr=1;
}
void wr_comm (uchar comm) //写命令
{
chk_busy (0);
cd=1;
rd=1;
data_ora=comm;
wr=0;
wr=1;
}
void wr_data (uchar dat) //写数据
{
chk_busy (0);
cd=0;
rd=1;
data_ora=dat;
wr=0;
wr=1;
}
void chk_busy (uchar autowr) //测状态
{
data_ora=0xff;
cd=1;
wr=1;
rd=0;
if(autowr)
{while(bf3==0)
;}
else
{while((bf0==0)||(bf1==0))
;}
rd=1;
}
/*------------------初始化-----------------*/
void init_lcd (void)
{
rst=0;
;
rst=1;
fs=0;
ce=0;
wr=1;
rd=1;
wr_xd(addr_w,0x40); //文本显示区首地址
wr_xd(addr_t,0x42); //图形显示区首地址
wr_td(width,0x00,0x41); //文本显示区宽度
wr_td(width,0x00,0x43); //图形显示区宽度
wr_comm(0x81); //逻辑"异或"
wr_td(0x02,0x00,0x22); //CGRAM偏置地址设置
wr_comm(0x9c); //启用文本显示,启用图形显示
}
/*--------------清RAM------------------*/
void clrram (void)
{
uchar i,j;
wr_xd(addr_w,0x24);
wr_comm(0xb0);
for(j=0;j<144;j++)
{
for(i=0;i<width;i++)
wr_auto(0x00);
}
wr_comm(0xb2);
}
/*--------------显示点阵------------------*/
void disp_dz (uchar data1,uchar data2)
{
uchar i,j;
wr_xd(addr_t,0x24);
wr_comm(0xb0);
for(j=0;j<32;j++)
{
for(i=0;i<width*2;i++)
wr_auto(data1);
for(i=0;i<width*2;i++)
wr_auto(data2);
}
wr_comm(0xb2);
}
/*--------------在addr处显示8xl*yl的图形--------------*/
void disp_img (uint addr,uchar xl,uchar yl,uchar code *img)
{
uchar i,j;
for(j=0;j<yl;j++)
{
for(i=0;i<xl;i++)
{
wr_xd(addr+j*width+i,0x24);
wr_od(img[j*xl+i],0xc0);
}
}
}
/*----------在addr处显示row_yl行(每行row_xl个)8xl*yl的文字----------*/
void disp_chn (uint addr,uchar xl,uchar yl,uchar row_xl,uchar row_yl,uchar code *chn)
{
uchar i,j,k,m;
for(m=0;m<row_yl;m++)
{
for(k=0;k<row_xl;k++)
{
for(j=0;j<yl;j++)
{
for(i=0;i<xl;i++)
{
wr_xd(addr+m*yl*width+k*xl+j*width+i,0x24);
wr_od(chn[(m*row_xl*xl*yl)+(k*xl*yl)+(j*xl)+i],0xc0);
}
}
}
}
}
/*--------------显示字符------------------*/
void disp_eng (uchar code *eng)
{
uchar i,j;
wr_xd(addr_w,0x24);
wr_comm(0xb0);
for(j=0;j<9;j++)
{
for(i=0;i<width;i++)
wr_auto(eng[j*width+i]);
}
wr_comm(0xb2);
}
/*------------------主程序--------------------*/
void main ()
{
SP=0x5f;
init_lcd ();
while (1)
{
clrram();
disp_eng(tab11);
disp_chn(0x0c35,2,16,10,2,tab12);
delay1(800);
clrram();
disp_dz(0xcc,0xcc);
delay1(800);
clrram();
disp_chn(0x025b,3,24,8,5,tab3);
delay1(800);
clrram();
disp_dz(0xcc,0x33);
delay1(800);
clrram();
disp_img(0x01e7,16,128,tab5);
delay1(800);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -