📄 lcm.c
字号:
set_xy(2+i+xx,7);
write_data(0x7f);
set_xy(56+i+xx,6);
write_data(0xfd);
set_xy(56+i+xx,7);
write_data(0x7f);
}
break;
case 5:
xx = 64;
case 3:
set_xy(62+xx,6);
write_data(0xfb);
set_xy(62+xx,7);
write_data(0xbf);
set_xy(63+xx,6);
write_data(0x07);
set_xy(63+xx,7);
write_data(0xc0);
break;
case 6: // clear menu area
for (i=0;i<128;i++)
{
set_xy(i,6);
write_data(0xff);
set_xy(i,7);
write_data(0xff);
}
break;
}
}
else
{
if(frame)
xx = 24;
else
xx = 8;
for (i=0;i<12;i++)
{
dd=hz1212[i+n*24]; // 汉字的上半部分
if (act) dd=255-dd;
set_xy(x*12+i+xx,6); // 左菜单右移两列
ch = dd;
dd = dd<<3;
dd = dd & 0xf8;
dd = dd | 0x05; // 加上边框
write_data(dd); // 先显示高4位
dd=hz1212[i+n*24+12]; // 汉字的下半部分
if (act) dd=255-dd;
set_xy(x*12+i+xx,7);
ch = ch>>5;
ch = ch & 0x07;
dd = dd<<3;
dd = dd & 0xf8;
dd = ch | dd;
dd = dd & 0x7f; // 加下边框
dd = dd | 0x40;
write_data(dd);
}
}
}
void diplay_menu_chinese_a(unsigned char x,unsigned char frame,unsigned char n,unsigned char act)
{
unsigned char i,dd,ch,xx;
if(frame > 1)
{
xx = 0;
switch(frame)
{
case 4:
xx = 64;
case 2:
set_xy(xx,6);
write_data(0x07);
set_xy(xx,7);
write_data(0xc0);
set_xy(1+xx,6);
write_data(0xfb);
set_xy(1+xx,7);
write_data(0xbf);
for(i=0;i<6;i++)
{
set_xy(2+i+xx,6);
write_data(0xfd);
set_xy(2+i+xx,7);
write_data(0x7f);
set_xy(56+i+xx,6);
write_data(0xfd);
set_xy(56+i+xx,7);
write_data(0x7f);
}
break;
case 5:
xx = 64;
case 3:
set_xy(62+xx,6);
write_data(0xfb);
set_xy(62+xx,7);
write_data(0xbf);
set_xy(63+xx,6);
write_data(0x07);
set_xy(63+xx,7);
write_data(0xc0);
break;
case 6:
case 7:
for(i=0;i<2;i++)
{
set_xy(62+i,6);
write_data(0xfb);
set_xy(62+1,7);
write_data(0xbf);
}
for(i=0;i<10;i++)
{
set_xy(116+i,6);
write_data(0xfd);
set_xy(116+i,7);
write_data(0x7f);
}
break;
case 8: // clear menu area
for (i=0;i<128;i++)
{
set_xy(i,6);
write_data(0xff);
set_xy(i,7);
write_data(0xff);
}
break;
}
}
else
{
if(frame)
xx = 24;
else
xx = 8;
for (i=0;i<12;i++)
{
dd=hz1212[i+n*24]; // 汉字的上半部分
if (act) dd=255-dd;
set_xy(x*12+i+xx,6); // 左菜单右移两列
ch = dd;
dd = dd<<3;
dd = dd & 0xf8;
dd = dd | 0x05; // 加上边框
write_data(dd); // 先显示高4位
dd=hz1212[i+n*24+12]; // 汉字的下半部分
if (act) dd=255-dd;
set_xy(x*12+i+xx,7);
ch = ch>>5;
ch = ch & 0x07;
dd = dd<<3;
dd = dd & 0xf8;
dd = ch | dd;
dd = dd & 0x7f; // 加下边框
dd = dd | 0x40;
write_data(dd);
}
}
}
/*
//显示字符,fb==1:反白显示
void display_ascii(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
{
unsigned char i,dd;
n-=32;
if (n>128) n=0;
if (fb) dd=255;
else dd=0;
set_xy(x*8,y);
write_data(dd);
set_xy(x*8,y+1);
write_data(dd);
for (i=0;i<7;i++)
{
dd=asc[i+n*16];
if (fb) dd=255-dd;
set_xy(x*8+i+1,y);
write_data(dd);
dd=asc[i+n*16+8];
if (fb) dd=255-dd;
set_xy(x*8+i+1,y+1);
write_data(dd);
}
}
*/
// 显示字符,fb==1:反白显示
// 汉字的 x 取值范围:0~9
// ASCII字符的 x 取值范围:0~20
void display_ascii(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
{
unsigned char i,dd,ch,ch2,yy;
n-=32;
if (n>128) n=0;
switch(y)
{
case 0:
yy = 0;
break;
case 1:
yy = 1;
break;
case 2:
yy = 3;
break;
case 3:
yy = 4;
break;
case 4:
yy = 6;
break;
}
for (i=0;i<6;i++)
{
dd=asc6_12[i+n*12]; // 上半部分
if (fb) dd=255-dd;
set_xy(x*6+i,yy);
switch(yy)
{
case 1:
// ch = read_data(); // 上半字节拼装
ch = dis_buf1[x*6+i];
ch = ch & 0x0f;
ch2 = dd;
dd = dd<<4;
dd = dd & 0xf0;
dd = ch | dd; // 先显示高4位
dis_buf1[x*6+i] = dd;
break;
case 4:
// ch = read_data(); // 上半字节拼装
ch = dis_buf2[x*6+i];
ch = ch & 0x0f;
ch2 = dd;
dd = dd<<4;
dd = dd & 0xf0;
dd = ch | dd; // 先显示高4位
dis_buf2[x*6+i] = dd;
break;
case 6:
ch = dd;
dd = dd<<3;
dd = dd & 0xf8;
dd = dd | 0x05; // 加上边框 先显示高4位
break;
}
// set_xy(x*6+i,yy);
write_data(dd);
dd=asc6_12[i+n*12+6]; // 下半部分
if (fb) dd=255-dd;
set_xy(x*6+i,yy+1);
switch(yy)
{
case 0:
// ch = read_data(); // 下半字节拼装
ch = dis_buf1[x*6+i];
ch = ch & 0xf0;
dd = dd & 0x0f;
dd = ch | dd;
dis_buf1[x*6+i] = dd;
break;
case 3:
//case 6:
// ch = read_data(); // 下半字节拼装
ch = dis_buf2[x*6+i];
ch = ch & 0xf0;
dd = dd & 0x0f;
dd = ch | dd;
dis_buf2[x*6+i] = dd;
break;
case 1: case 4:
ch2 = ch2>>4;
ch2 = ch2 & 0x0f;
dd = dd << 4;
dd = dd & 0xf0;
dd = dd | ch2;
break;
case 6:
ch = ch>>5;
ch = ch & 0x07;
dd = dd<<3;
dd = dd & 0xf8;
dd = ch | dd;
dd = dd & 0x7f; // 加下边框
dd = dd | 0x40;
break;
}
// set_xy(x*6+i,yy+1);
write_data(dd);
}
}
void display_little_ascii1(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
{
unsigned char i,dd;
n-=32;
if (n>128) n=0;
if(x>10)
{
for (i=0;i<6;i++)
{
dd=asc6_8[i+n*6];
if (fb) dd=255-dd;
set_xy(x*6+i-1,y);
write_data(dd);
}
}
else
{
for (i=0;i<6;i++)
{
dd=asc6_8[i+n*6];
if (fb) dd=255-dd;
set_xy(x*6+i,y);
write_data(dd);
}
}
}
void display_little_ascii(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
{
unsigned char i,dd;
n-=32;
if (n>128) n=0;
if(x<14)
{
for (i=0;i<5;i++)
{
dd=asc6_8[i+n*6];
if (fb) dd=255-dd;
set_xy(x*5+i,y);
write_data(dd);
}
}
else
{
for (i=0;i<5;i++)
{
dd=asc6_8[i+n*6];
if (fb) dd=255-dd;
set_xy(x*5+i+8,y);
write_data(dd);
}
}
}
void display_big_ascii(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
{
unsigned char i,dd;
n-=32;
if (n>128) n=0;
for (i=0;i<11;i++)
{
dd=asc11_16[i+n*22];
if (fb) dd=255-dd;
set_xy(x*11+7+i,y);
write_data(dd);
dd=asc11_16[i+n*22+11]; // 下半部分
if (fb) dd=255-dd;
set_xy(x*11+7+i,y+1);
write_data(dd);
}
}
void display_big_ascii1(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
{
unsigned char i,dd;
n-=32;
if (n>128) n=0;
for (i=0;i<24;i++)
{
dd=asc24_32[i+n*96];
if (fb) dd=255-dd;
set_xy(x*24+i,y);
write_data(dd);
dd=asc24_32[i+n*96+24]; // 下半部分
if (fb) dd=255-dd;
set_xy(x*24+i,y+1);
write_data(dd);
dd=asc24_32[i+n*96+48];
if (fb) dd=255-dd;
set_xy(x*24+i,y+2);
write_data(dd);
dd=asc24_32[i+n*96+72]; // 下半部分
if (fb) dd=255-dd;
set_xy(x*24+i,y+3);
write_data(dd);
}
}
void clear_scr(unsigned char type)
{
unsigned char i,j,k;
if(type)
k = 6;
else
k = 8;
for (i=0;i<128;i++)
{
dis_buf1[i] = 0xff;
dis_buf2[i] = 0xff;
for(j=0;j<k;j++)
{
set_xy(i,j);
write_data(0xff);
set_xy(i,j);
write_data(0xff);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -