?? char._h
字號:
//液晶字符、漢字輸出
//液晶顯示基本函數(shù)
/***********************************************************************
公司名稱: 泰克通信
模 塊 名: 液晶顯示字符、漢字輸出 LCD 型號:NHC-01
創(chuàng) 建 人: 輸入輸出模塊組 日期:2004-03-17
修 改 人: 輸入輸出模塊組 日期:2004-03-23
功能描述: 1、輸出漢字
2、輸出英文字符、數(shù)字
3、輸出字符串,可以包含數(shù)字及幾個標(biāo)點(diǎn)
其他說明: 本程序在atmag128和nhc-01上調(diào)試通過
版 本: alpha 0.01
**********************************************************************/
void hz_write(char x,char y,char *hz,char color);//將輸入的黑白格式轉(zhuǎn)換為給lcd可以識別的彩色字模
void hanzi(char x,char y,char *hz,char color,char bs);//按照列位置顯示任意大小顏色的字符
void lettershow(char x,char y,char *hz,char color);//按照列位置顯示任意大小顏色的字符
void showchar(char x,char y,char a,char letter,char color);//在任意位置顯示a所表示的值
void showchars(char x,char y,char *a,char letter,char color);//在任意位置顯示字符串a(chǎn)所表示的值
void showallhz(void);//顯示液晶上所有的漢字
/***************漢字顯示,顯示整個漢字*********************/
void hanzi(char x,char y,char *hz,char color,char bs)
{
unsigned char i,j;
for(i=0;i<bs*8;i++)//一共有bs×8行的點(diǎn)陣
{
for(j=0;j<bs;j++)//每行有bs個點(diǎn)位
{
hz_write(x,y,hz,color);//寫入該點(diǎn)位的八個點(diǎn)
hz++;//hz存放黑白字模的數(shù)組
x++;
}
x-=bs;//返回字的行首
y++;//進(jìn)入下一行
}
}
/***************漢字顯示,顯示漢字的一個字節(jié)位*********************/
void hz_write(char x,char y,char *hz,char color)
{
char i,j,k;
char buffer1,buffer2,buffer3;
read(x,y,&buffer1,&buffer2,&buffer3);
i=*hz;
for(j=8;*hz&&j>0;j--)//判斷每位的值,看其對應(yīng)的點(diǎn)是否存在,存在則修改其顏色值。
{
i=*hz&(1<<(j-1));
if(i==0x80)//判斷第一位是否存在
{
buffer1 &= 0x1f;
buffer1 |=(color<<5);
}
else if (i==0x40)//判斷第二位是否存在
{
buffer1 &= 0xe3;
buffer1 |=(color<<2);
}
else if (i==0x20)//判斷第三位是否存在
{
buffer1 &= 0xfc;
buffer1 |=(color>>1);
buffer2 &= 0x7f;
buffer2 |=(color<<7);
}
else if (i==0x10)//判斷第四位是否存在
{
buffer2 &= 0x8f;
buffer2 |=(color<<4);
}
else if (i==0x08)//判斷第五位是否存在
{
buffer2 &= 0xf1;
buffer2 |=(color<<1);
}
else if (i==0x04)//判斷第六位是否存在
{
buffer2 &= 0xfe;
buffer2 |=(color>>2);
buffer3 &= 0x3f;
buffer3 |=(color<<6);
}
else if (i==0x02)//判斷第七位是否存在
{
buffer3 &= 0xc7;
buffer3 |=(color<<3);
}
else if (i==0x01)//判斷第八位是否存在
{
buffer3 &= 0xf8;
buffer3 |= color;
}
}//判斷輸入的黑白字符字模每個數(shù)字對應(yīng)的寫入點(diǎn)以及其顏色
write(x,y,buffer1,buffer2,buffer3);
}
/***************顯示一個字符字符固定大小,8×16******************/
void lettershow(char x,char y,char *hz,char color)
{
unsigned char i,j;
for(i=0;i<16;i++)//一共有16行的點(diǎn)陣
{
hz_write(x,y,hz,color);//寫入該點(diǎn)位的八個點(diǎn)
hz++;//hz存放黑白字模的數(shù)組
y++;//進(jìn)入下一行
}
}
/*********計(jì)算字符a所表示的字符,調(diào)用顯示字符模塊來顯示********/
void showchar(char x,char y,char a,char letter,char color)
{
char suzhi[15][16]={{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x20,0xC0},/*",",0*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",1*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00},/*".",2*/
{0x00,0x00,0x01,0x02,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00},/*"/",3*/
{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"0",4*/
{0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},/*"1",5*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00},/*"2",6*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00},/*"3",7*/
{0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00},/*"4",8*/
{0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00},/*"5",9*/
{0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"6",10*/
{0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"7",11*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},/*"8",12*/
{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00},/*"9",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00}};/*":",4*/
char mletter[26][16]={{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x1E,0x22,0x42,0x42,0x3F,0x00,0x00},/*"a",0*/
{0x00,0x00,0x00,0xC0,0x40,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x64,0x58,0x00,0x00},/*"b",1*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x40,0x40,0x40,0x22,0x1C,0x00,0x00},/*"c",2*/
{0x00,0x00,0x00,0x06,0x02,0x02,0x02,0x1E,0x22,0x42,0x42,0x42,0x26,0x1B,0x00,0x00},/*"d",3*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x7E,0x40,0x40,0x42,0x3C,0x00,0x00},/*"e",4*/
{0x00,0x00,0x00,0x0F,0x11,0x10,0x10,0x7E,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},/*"f",5*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x44,0x44,0x38,0x40,0x3C,0x42,0x42,0x3C},/*"g",6*/
{0x00,0x00,0x00,0xC0,0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"h",7*/
{0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},/*"i",8*/
{0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x1C,0x04,0x04,0x04,0x04,0x04,0x04,0x44,0x78},/*"j",9*/
{0x00,0x00,0x00,0xC0,0x40,0x40,0x40,0x4E,0x48,0x50,0x68,0x48,0x44,0xEE,0x00,0x00},/*"k",10*/
{0x00,0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},/*"l",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x49,0x49,0x49,0x49,0xED,0x00,0x00},/*"m",12*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDC,0x62,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"n",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"o",14*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD8,0x64,0x42,0x42,0x42,0x44,0x78,0x40,0xE0},/*"p",15*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x22,0x42,0x42,0x42,0x22,0x1E,0x02,0x07},/*"q",16*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEE,0x32,0x20,0x20,0x20,0x20,0xF8,0x00,0x00},/*"r",17*/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -