📄 vfd12864.c
字号:
/*49-- 文字: KN --*/
0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,
0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,
/*50-- 文字: /S --*/
0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,
0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,
/*51-- 文字: cm --*/
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,
/*52-- 平方号:这是您新建的图像 --*/
0x00,0x84,0xC2,0xA2,0x92,0x8C,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,
/*53-- 冒号 :这是您新建的图像 --*/
0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*54-- 文字: 20 --*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,
0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
/*55-- 文字: 00 --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,
0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
/*56-- 文字: 第 --*/
0x10,0x08,0x04,0xD3,0x56,0x5A,0x52,0x5A,0xF4,0x53,0x56,0x5A,0x72,0x02,0x02,0x00,
0x00,0x20,0x20,0x23,0x12,0x12,0x0A,0x06,0xFF,0x02,0x02,0x12,0x22,0x1E,0x00,0x00,
/*57-- 文字: 点 --*/
0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0x3F,0x24,0x24,0x24,0xF4,0x24,0x00,0x00,0x00,
0x00,0x40,0x30,0x07,0x12,0x62,0x02,0x0A,0x12,0x62,0x02,0x0F,0x10,0x60,0x00,0x00,
};
/*开机画面1中显示的汉字*/
char idata pic1_chn[3][4]= {
32,7,32,1,/*测*/
56,7,32,2,/*力*/
80,7,32,3,/*仪*/
};
/**************************************/
/* 延时函数 */
/**************************************/
delay(int num)
{
int i;
for(i=0;i<num;i++)
{;}
}
/*************************************************************/
/* 6×8数字显示 */
/* 在显示屏上的坐标为(x,y),x的范围0~127列,y的范围0~7(字节) */
/*************************************************************/
void disp_num(char x,char y)
{
char k;
unsigned int offset;
offset=8*x+y;
for(k=0;k<6;k++)
{
XBYTE[VFDWRITE+offset+8*k]=NUM[code_1][k];
}
}
/********************************************************** **/
/* 8×16英文、数字显示,显示一个字 */
/* 在显示屏上的坐标为(x,y),x的范围0~127列,y的范围0~7(字节) */
/*************************************************************/
void disp_eng(char x,char y)
{
char k;
unsigned int offset;
offset=8*x+y;
for(k=0;k<8;k++)
{
XBYTE[VFDWRITE+offset+8*k]=ENG[code_1][k];
}
for(k=0;k<8;k++)
{
XBYTE[VFDWRITE+(offset-1)+8*k]=ENG[code_1][8+k];
}
}
/*************************************************************/
/* 16×16汉字显示,显示一个字 */
/* 在显示屏上的坐标为(x,y),x的范围0~127列,y的范围0~7(字节) */
/*************************************************************/
void disp_chn(char x,char y)
{
char k;
unsigned int offset;
offset=8*x+y;
for(k=0;k<16;k++)
{
XBYTE[VFDWRITE+offset+8*k]=CHN[code_1][k];
}
for(k=0;k<16;k++)
{
XBYTE[VFDWRITE+(offset-1)+8*k]=CHN[code_1][16+k];
}
}
/***********************************************************************/
/* disp_word(char x,char y,char i,char j)单个汉字、字符的显示程序 */
/* 此程序可以实现在屏幕上的任何位置显示一个6×8、8×16、16×16的字 */
/* 字在显示屏上的坐标为(x,y),x的范围0~127列,y的范围0~7(字节); */
/* j选择数组的第几行;当i为6时表示选择NUM[j][] */
/* i为16时表示选择ENG[j][],i为32时表示选择CHN[j][] */
/***********************************************************************/
void disp_word(char x,char y,char i,char j)
{
char wide,high;
char k;
int offset;
offset=8*x+y;
if(i==6)
{
wide=6;
high=8;
for(k=0;k<wide;k++)
{
XBYTE[VFDWRITE+offset+8*k]=NUM[j][k];
}
}
else if(i==16)
{
wide=8;
high=16;
for(k=0;k<wide;k++)
{
XBYTE[VFDWRITE+offset+8*k]=ENG[j][k];
}
for(k=0;k<wide;k++)
{
XBYTE[VFDWRITE+(offset-1)+8*k]=ENG[j][wide+k];
}
}
else if(i==32)
{
wide=16;
high=16;
for(k=0;k<wide;k++)
{
XBYTE[VFDWRITE+offset+8*k]=CHN[j][k];
}
for(k=0;k<wide;k++)
{
XBYTE[VFDWRITE+(offset-1)+8*k]=CHN[j][wide+k];
}
}
}
/*************************************************************/
/* 在屏幕上显示32个汉字,对应的内容从chnbuf[]中读取 */
/*************************************************************/
display_c()
{
char i,j;
for(j=0;j<4;j++)
{
for(i=0;i<8;i++)
{
code_1=chnbuf[8*j+i];
disp_chn(16*i,(7-2*j));
}
}
}
/**************************************************/
/* 开机画面1 显示时间,年月日时分秒 */
/**************************************************/
void time_pic1()
{
code_1=year/16;/*年*/
disp_eng(32,5);
code_1=year%16;/**/
disp_eng(40,5);
code_1=11;/* - */
disp_eng(48,5);
code_1=month/16;/*月*/
disp_eng(56,5);
code_1=month%16;/**/
disp_eng(64,5);
code_1=11;/* - */
disp_eng(72,5);
code_1=day/16;/*日*/
disp_eng(80,5);
code_1=day%16;/**/
disp_eng(88,5);
code_1=hour/16;/*时*/
disp_eng(32,3);
code_1=hour%16;/**/
disp_eng(40,3);
code_1=22;/* : */
disp_eng(48,3);
code_1=minute/16;/*分*/
disp_eng(56,3);
code_1=minute%16;/**/
disp_eng(64,3);
code_1=22;/* : */
disp_eng(72,3);
code_1=second/16;/*秒*/
disp_eng(80,3);
code_1=second%16;
disp_eng(88,3);
}
/**************************************************************************************/
/* */
/* 主程序 */
/* */
/**************************************************************************************/
void main ()
{
unsigned char a,b,c,d;
unsigned char n;
// unsigned int i;
init_com();/*初始化串口*/
write_ad7791(0x3c);/*将7791设置成连续读*/
/************************** 画面1显示 **********************************************/
//pic1:
keyval=0;
XBYTE[VFDCONTROL]=0x70;/*清屏*/
XBYTE[VFDCONTROL]=0xf0;/*允许写、显示*/
delay(50);
for(n=0;n<32;n++)/*汉字缓冲区初始化*/
{
chnbuf[n]=0;
}
/*chnbuf[2]=1;chnbuf[3]=2;chnbuf[4]=3;*/
chnbuf[24]=39;chnbuf[25]=42;chnbuf[26]=43;chnbuf[27]=44;chnbuf[28]=45;chnbuf[29]=46;chnbuf[30]=47;chnbuf[31]=48;
display_c();/*开机画面1显示汉字*/
for(n=0;n<3;n++)/*显示 测 力 仪*/
{
disp_word(pic1_chn[n][0],pic1_chn[n][1],pic1_chn[n][2],pic1_chn[n][3]);
}
// while(keyval!=14)
// {
// read_time();/*读X1228将年月日时分秒赋值给相应的全局变量*/
// time_pic1();/*在开机画面1中显示时间,年月日时分秒*/
// }
// goto pic2;
// switch(keyval)
// {
// case 14: goto pic2;
// case 11: goto pic4;
// case 10: goto pic3;
// case 17: goto pic6;
// }
/**********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -