📄 lcd320240.c
字号:
break;
case 2:
DisplaySymbol(data2,addr+4,lay);
break;
case 3:
DisplaySymbol(data3,addr+4,lay);
break;
case 4:
DisplaySymbol(data4,addr+4,lay);
break;
case 5:
DisplaySymbol(data5,addr+4,lay);
break;
case 6:
DisplaySymbol(data6,addr+4,lay);
break;
case 7:
DisplaySymbol(data7,addr+4,lay);
break;
case 8:
DisplaySymbol(data8,addr+4,lay);
break;
case 9:
DisplaySymbol(data9,addr+4,lay);
break;
default:
break;
}
}
/**********************************************************
显示 五位整数数据
***********************************************************/
void DisplayInt5(unint D_data,unint addr,unint lay)
{
unchar datatemp[5] = {0};
unchar i,j;
datatemp[0] = D_data/10000;
D_data = D_data%10000;
datatemp[1] = D_data/1000;
D_data = D_data%1000;
datatemp[2] = D_data/100;
D_data = D_data%100;
datatemp[3] = D_data/10;
D_data = D_data%10;
datatemp[4] = D_data;
for(j=0;j<5;j++)
{
if(datatemp[j]>0)
{
i=j;
break;
}
else
i=4;
}
for(;i<5;i++)
{
switch(datatemp[i])
{
case 0:
DisplaySymbol(data0,addr+i,lay);
break;
case 1:
DisplaySymbol(data1,addr+i,lay);
break;
case 2:
DisplaySymbol(data2,addr+i,lay);
break;
case 3:
DisplaySymbol(data3,addr+i,lay);
break;
case 4:
DisplaySymbol(data4,addr+i,lay);
break;
case 5:
DisplaySymbol(data5,addr+i,lay);
break;
case 6:
DisplaySymbol(data6,addr+i,lay);
break;
case 7:
DisplaySymbol(data7,addr+i,lay);
break;
case 8:
DisplaySymbol(data8,addr+i,lay);
break;
case 9:
DisplaySymbol(data9,addr+i,lay);
break;
default:
break;
}
}
}
//显示任意大小的图像(图像宽度必须是8的倍数,以后改)
//data:图像数据;addr:图像显示的首地址;xcount:图像宽度,ycount:图像高度;lay:层
void DisplayPic(unchar *P_data,unint addr,unint xcount,unint ycount,unint lay)
{
unchar addrH = 0;
unchar addrL = 0;
unchar datatemp;
unint i,j;
for(i=0;i<ycount;i++)
{
wr_command(0x4c); //set point move direction
wr_command(0x46); //set point address
if(lay==2)
addr = addr + 0x8000;
addrL = (unchar)(addr&0X00FF);
addrH = (unchar)((addr&0XFF00)>>8);
wr_datas(addrL);
wr_datas(addrH);
for(j=0;j<(xcount/8);j++)
{
wr_command(0x47); //读地址指令
addrL = RD_LCD(); //读地址
addrH = RD_LCD();
wr_command(0x43); //读数据指令
datatemp = RD_LCD(); //读数据
wr_command(0x46); //写地址指令
wr_datas(addrL); //写地址
wr_datas(addrH);
wr_command(0x42); //mwrite 数据写入显示缓冲区
wr_datas((*(P_data++))|datatemp);
}
addr = addr + 40;
}
}
//清除任意大小的图像(图像宽度必须是8的倍数,以后改)
//addr:清除的首地址;xcount:图像宽度;ycount:图像高度;lay:层
void ClearPic(unint addr,unint xcount,unint ycount,unint lay)
{
unchar addrH = 0;
unchar addrL = 0;
unint i,j;
for(i=0;i<ycount;i++)
{
wr_command(0x4c); //set point move direction
wr_command(0x46); //set point address
addrL = (unchar)(addr&0X00FF);
addrH = (unchar)((addr&0XFF00)>>8);
switch(lay)
{
case 1:
wr_datas(addrL);
wr_datas(addrH);
break;
case 2:
wr_datas(addrL);
wr_datas(0x80+addrH);
break;
default:
break;
}
wr_command(0x42); //mwrite 数据写入显示缓冲区
for(j=0;j<xcount/8;j++)
{
wr_datas(0x00);
}
addr = addr + 40;
}
}
/********************************************************************************
**函数名称: void OG_Display_Array()
**函数功能: 在示波器上显示汉字
** 使用范例:OG_Display_Array("我爱北京天安门",14,0,16);
**入口参数: UCHAR *data--待显示的汉字
** UCHAR count-待显示的汉字的长度
* UINT addr --显示首地址
* UINT lay --层
**出口参数: 无
********************************************************************************/
void DisplayChineseArray(unchar *S_data,unchar count,unint addr,unint lay)
{
unchar chNum = count/2;
unint P_Addr; //页地址
unint B_Addr; //页内字节地址
unchar chI; //用于计数要显示的汉字个数
//UCHAR chJ; //用于计数一个汉字的字模
unint rowNum; //行号
unchar *tmpzimo;
for(chI=0;chI<chNum;chI++)
{
rowNum=((S_data[chI*2]-0xA1)*94 + (S_data[chI*2+1]-0xA1))*2;
P_Addr = rowNum/16 ; //一页放256个字节,即16行*16
B_Addr = (rowNum/2 - P_Addr*8)*32; //一页放8个汉字
tmpzimo = DF_Read_Main(P_Addr,B_Addr,32);
/*for(chJ=0;chJ<32;chJ++)
{
tmpzimo[chJ] = DF_R1[chJ];
}*/
DisplayChinese(tmpzimo,addr,lay);
addr = addr + 2;
}
}
//数字 //
unchar code data0[] = {
/*-- 文字: 0 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
};
unchar code data1[] = {
/*-- 文字: 1 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
};
unchar code data2[] = {
/*-- 文字: 2 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00,
};
unchar code data3[] = {
/*-- 文字: 3 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00,
};
unchar code data4[] = {
/*-- 文字: 4 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00,
};
unchar code data5[] = {
/*-- 文字: 5 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00,
};
unchar code data6[] = {
/*-- 文字: 6 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
};
unchar code data7[] = {
/*-- 文字: 7 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
};
unchar code data8[] = {
/*-- 文字: 8 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00,
};
unchar code data9[] = {
/*-- 文字: 9 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00,
};
// 符号:
unchar code datajia[]={
/*-- 文字: + --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0xFE,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
};
unchar code datajian[]={
/*-- 文字: - --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
unchar code datadian3[] = {
/*-- 文字: . --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
};
unchar code datamaohao[] = {
/*-- 文字: : --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,
};
unchar code datatanhao[] = {
/*-- 文字: ! --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x18,0x18,0x00,0x00,
};
unchar code dataxiexian[] = {
/*-- 文字: / --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x01,0x02,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,
};
unchar code datadenghao[] = {
/*-- 文字: = --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,
};
unchar code datadegree[]={
/*-- 调入了一幅图像:这是您新建的图像 --*/
/*-- 宽度x高度=8x16 --*/
0x00,0x00,0x10,0x28,0x28,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
unchar code databfh[]={
/*-- 文字: % --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x44,0xA4,0xA8,0xA8,0xA8,0x54,0x1A,0x2A,0x2A,0x2A,0x44,0x00,0x00,
};
//大写
unchar code data_A[] = {
/*-- 文字: A --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00,
};
unchar code data_B[] = {
/*-- 文字: B --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xF8,0x44,0x44,0x44,0x78,0x44,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,
};
unchar code data_C[] = {
/*-- 文字: C --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3E,0x42,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x44,0x38,0x00,0x00,
};
unchar code data_D[] = {
/*-- 文字: D --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xF8,0x44,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,
};
unchar code data_E[] = {
/*-- 文字: E --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,0x48,0x48,0x40,0x42,0x42,0xFC,0x00,0x00,
};
unchar code data_F[] = {
/*-- 文字: F --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,0x48,0x48,0x40,0x40,0x40,0xE0,0x00,0x00,
};
unchar code data_G[] = {
/*-- 文字: G --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x44,0x44,0x80,0x80,0x80,0x8E,0x84,0x44,0x44,0x38,0x00,0x00,
};
unchar code data_H[] = {
/*-- 文字: H --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00,
};
unchar code data_I[] = {
/*-- 文字: I --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
};
unchar code data_J[] = {
/*-- 文字: J --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x88,0xF0,
};
unchar code data_K[] = {
/*-- 文字: K --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xEE,0x44,0x48,0x50,0x70,0x50,0x48,0x48,0x44,0x44,0xEE,0x00,0x00,
};
unchar code data_L[] = {
/*-- 文字: L --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0xFE,0x00,0x00,
};
unchar code data_M[] = {
/*-- 文字: M --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xEE,0x6C,0x6C,0x6C,0x6C,0x54,0x54,0x54,0x54,0x54,0xD6,0x00,0x00,
};
unchar code data_N[] = {
/*-- 文字: N --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xC7,0x62,0x62,0x52,0x52,0x4A,0x4A,0x4A,0x46,0x46,0xE2,0x00,0x00,
};
unchar code data_O[] = {
/*-- 文字: O --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,0x00,0x00,
};
unchar code data_P[] = {
/*-- 文字: P --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xFC,0x42,0x42,0x42,0x42,0x7C,0x40,0x40,0x40,0x40,0xE0,0x00,0x00,
};
unchar code data_Q[] = {
/*-- 文字: Q --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -