?? finalcd.h
字號(hào):
if((120-y)%40!=0&&x%40!=0)
point(x,y,color);
}
if(dx*(y1-y)<dy*(x-x1))//保證所畫(huà)直線盡量和所求直線靠近
y--;
else x++;
}
}
}
/**********用某種顏色填充圓形區(qū)域************/
/*void cycle(char x,char y,unsigned int rad,char color)
{
unsigned int temp1,temp2;
point(x,y,color);
for(temp1=0;temp1<rad;temp1++)
{
for(temp2=0;temp1*temp1+temp2*temp2<=rad*rad;temp2++)
{
point(temp1+x,(char)temp2+y,color);//畫(huà)第一象限
point(temp1+x,y-(char)temp2,color);//畫(huà)第2象限
point(x-temp1,(char)temp2+y,color);//畫(huà)第3象限
point(x-temp1,y-(char)temp2,color);//畫(huà)第4象限
}
}
}*/
void cycle(char x,char y,unsigned int rad,char color)//在液晶上畫(huà)圓,同時(shí)畫(huà)維度線
{
unsigned int temp1,temp2,temp3,temp4;
char buffer1=0,buffer2=0,buffer3=0;
char i,j;
i=(char)(x/8);
buffer1 |=(color<<5);
buffer1 |=(color<<2);
buffer1 |=(color>>1);
buffer2 |=(color<<7);
buffer2 |=(color<<4);
buffer2 |=(color<<1);
buffer2 |=(color>>2);
buffer3 |=(color<<6);
buffer3 |=(color<<3);
buffer3 |= color;
write(i,y,buffer1,buffer2,buffer3);
temp3=rad*rad;//減少循環(huán)的運(yùn)算
for(temp2=0;temp2<rad;temp2++)
{
//write(i,y+(char)temp2,buffer1,buffer2,buffer3);
//write(i,y-(char)temp2,buffer1,buffer2,buffer3);
temp4=temp2*temp2;//減少循環(huán)的運(yùn)算
if(temp2%40!=0)
{
for(temp1=8;temp1*temp1+temp4<=temp3;temp1=temp1+8)//連續(xù)8個(gè)點(diǎn)都在圓內(nèi)
{
j=(char)(temp1/8);
write(i+j-1,y+(char)temp2,buffer1,buffer2,buffer3);
write(i-j,y+(char)temp2,buffer1,buffer2,buffer3);
write(i+j-1,y-(char)temp2,buffer1,buffer2,buffer3);
write(i-j,y-(char)temp2,buffer1,buffer2,buffer3);
}
for(temp1=temp1-8;temp1*temp1+temp4<=temp3;temp1++)//連續(xù)8個(gè)點(diǎn)不都在圓內(nèi)
{ point(temp1+x,(char)temp2+y,color);//畫(huà)第一象限
point(temp1+x,y-(char)temp2,color);//畫(huà)第2象限
point(x-temp1,(char)temp2+y,color);//畫(huà)第3象限
point(x-temp1,y-(char)temp2,color);//畫(huà)第4象限
}
}
else
{
for(temp1=8;temp1*temp1+temp4<=temp3;temp1=temp1+8)//連續(xù)8個(gè)點(diǎn)都在圓內(nèi)
{
j=(char)(temp1/8);
write(i+j-1,y+(char)temp2,0xff,0xff,0xff);
write(i-j,y+(char)temp2,0xff,0xff,0xff);
write(i+j-1,y-(char)temp2,0xff,0xff,0xff);
write(i-j,y-(char)temp2,0xff,0xff,0xff);
}
for(temp1=temp1-8;temp1*temp1+temp4<=temp3;temp1++)//連續(xù)8個(gè)點(diǎn)不都在圓內(nèi)
{ point(temp1+x,(char)temp2+y,7);//畫(huà)第一象限
point(temp1+x,y-(char)temp2,7);//畫(huà)第2象限
point(x-temp1,(char)temp2+y,7);//畫(huà)第3象限
point(x-temp1,y-(char)temp2,7);//畫(huà)第4象限
}
}
}
}
/***************漢字顯示,顯示整個(gè)漢字*********************/
void hanzi(char x,char y,const unsigned 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個(gè)點(diǎn)位
{
hz_write(x,y,hz,color);//寫(xiě)入該點(diǎn)位的八個(gè)點(diǎn)
hz++;//hz存放黑白字模的數(shù)組
x++;
}
x-=bs;//返回字的行首
y++;//進(jìn)入下一行
}
}
/***************漢字顯示,顯示漢字的一個(gè)字節(jié)位*********************/
void hz_write(char x,char y,const unsigned 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--)//判斷每位的值,看其對(duì)應(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;
}
}//判斷輸入的黑白字符字模每個(gè)數(shù)字對(duì)應(yīng)的寫(xiě)入點(diǎn)以及其顏色
write(x,y,buffer1,buffer2,buffer3);
}
/***************顯示一個(gè)字符字符固定大小,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);//寫(xiě)入該點(diǎn)位的八個(gè)點(diǎn)
hz++;//hz存放黑白字模的數(shù)組
y++;//進(jìn)入下一行
}
}
/*********計(jì)算字符a所表示的字符,調(diào)用顯示字符模塊來(lái)顯示********/
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*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x40,0x3C,0x02,0x42,0x7C,0x00,0x00},/*"s",18*/
{0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x10,0x10,0x10,0x0C,0x00,0x00},/*"t",19*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC6,0x42,0x42,0x42,0x42,0x46,0x3B,0x00,0x00},/*"u",20*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x28,0x10,0x10,0x00,0x00},/*"v",21*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD7,0x92,0x92,0xAA,0xAA,0x44,0x44,0x00,0x00},/*"w",22*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x24,0x18,0x18,0x18,0x24,0x76,0x00,0x00},/*"x",23*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x28,0x18,0x10,0x10,0xE0},/*"y",24*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x44,0x08,0x10,0x10,0x22,0x7E,0x00,0x00}};/*"z",35*/
char bletter[26][16]={{0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00},/*"A",0*/
{0x00,0x00,0x00,0xF8,0x44,0x44,0x44,0x78,0x44,0x42,0x42,0x42,0x44,0xF8,0x00,0x00},/*"B",1*/
{0x00,0x00,0x00,0x3E,0x42,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x44,0x38,0x00,0x00},/*"C",2*/
{0x00,0x00,0x00,0xF8,0x44,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x44,0xF8,0x00,0x00},/*"D",3*/
{0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,0x48,0x48,0x40,0x42,0x42,0xFC,0x00,0x00},/*"E",4*/
{0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,0x48,0x48,0x40,0x40,0x40,0xE0,0x00,0x00},/*"F",5*/
{0x00,0x00,0x00,0x3C,0x44,0x44,0x80,0x80,0x80,0x8E,0x84,0x44,0x44,0x38,0x00,0x00},/*"G",6*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"H",7*/
{0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},/*"I",8*/
{0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x88,0xF0},/*"J",9*/
{0x00,0x00,0x00,0xEE,0x44,0x48,0x50,0x70,0x50,0x48,0x48,0x44,0x44,0xEE,0x00,0x00},/*"K",10*/
{0x00,0x00,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0xFE,0x00,0x00},/*"L",11*/
{0x00,0x00,0x00,0xEE,0x6C,0x6C,0x6C,0x6C,0x54,0x54,0x54,0x54,0x54,0xD6,0x00,0x00},/*"M",12*/
{0x00,0x00,0x00,0xC7,0x62,0x62,0x52,0x52,0x4A,0x4A,0x4A,0x46,0x46,0xE2,0x00,0x00},/*"N",13*/
{0x00,0x00,0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,0x00,0x00},/*"O",14*/
{0x00,0x00,0x00,0xFC,0x42,0x42,0x42,0x42,0x7C,0x40,0x40,0x40,0x40,0xE0,0x00,0x00},/*"P",15*/
{0x00,0x00,0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x82,0xB2,0xCA,0x4C,0x38,0x06,0x00},/*"Q",16*/
{0x00,0x00,0x00,0xFC,0x42,0x42,0x42,0x7C,0x48,0x48,0x44,0x44,0x42,0xE3,0x00,0x00},/*"R",17*/
{0x00,0x00,0x00,0x3E,0x42,0x42,0x40,0x20,0x18,0x04,0x02,0x42,0x42,0x7C,0x00,0x00},/*"S",18*/
{0x00,0x00,0x00,0xFE,0x92,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00},/*"T",19*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"U",20*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x44,0x24,0x24,0x28,0x28,0x18,0x10,0x10,0x00,0x00},/*"V",21*/
{0x00,0x00,0x00,0xD6,0x92,0x92,0x92,0x92,0xAA,0xAA,0x6C,0x44,0x44,0x44,0x00,0x00},/*"W",22*/
{0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0xE7,0x00,0x00},/*"X",23*/
{0x00,0x00,0x00,0xEE,0x44,0x44,0x28,0x28,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00},/*"Y",24*/
{0x00,0x00,0x00,0x7E,0x84,0x04,0x08,0x08,0x10,0x20,0x20,0x42,0x42,0xFC,0x00,0x00}};/*"Z",61*/
char temp,hz[16],i;
if (letter==0)//將a轉(zhuǎn)化為數(shù)字顯示,可以顯示0~255的數(shù)字
{
temp=a/100;
if(temp!=0)//首位不為0
{
a=a-temp*100;
for(i=0;i<16;i++)
hz[i]=suzhi[temp+4][i];
lettershow(x,y,hz,color);
x++;
temp=a/10;
a=a-temp*10;
for(i=0;i<16;i++)
hz[i]=suzhi[temp+4][i];//加4,對(duì)應(yīng)二維數(shù)組數(shù)字的位置,不包含符號(hào)
lettershow(x,y,hz,color);
x++;
for(i=0;i<16;i++)
hz[i]=suzhi[a][i];
lettershow(x,y,hz,color);
}
else //首位為0
{
temp=a/10;
if(temp!=0)//第二位不為0
{
a=a-temp*10;
for(i=0;i<16;i++)
hz[i]=suzhi[temp+4][i];
lettershow(x,y,hz,color);
x++;
}
for(i=0;i<16;i++)
hz[i]=suzhi[a+4][i];
lettershow(x,y,hz,color);
}
}
else//顯示一位字母或者數(shù)字或者常用標(biāo)點(diǎn)
{
if(a>90)//顯示小寫(xiě)字母
{
temp=a-97;
for(i=0;i<16;i++)
hz[i]=mletter[temp][i];
lettershow(x,y,hz,color);
}
else if(a<=90&&a>=65)//顯示大寫(xiě)字母
{
temp=a-65;
for(i=0;i<16;i++)
hz[i]=bletter[temp][i];
lettershow(x,y,hz,color);
}
else//顯示一位數(shù)字或者常用標(biāo)點(diǎn)
{
temp=a-44;
for(i=0;i<16;i++)
hz[i]=suzhi[temp][i];
lettershow(x,y,hz,color);
}
}
}
/**********顯示字符串a(chǎn)的值************/
void showchars(char x,char y,char *a,char color)
{
char i;
for(i=0;a[i]!='\0';i++)
{
if(a[i]!=' ')//將非空格顯示出來(lái),遇到空格跳到下一個(gè)顯示位
showchar(x,y,a[i],1,color);//把字符串依次顯示出來(lái)
x++;
}
}
void showsmallmun(char x,char y,char *a,char color)//顯示4*8的數(shù)字
{
static char smun[15][8]={{0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80},//,
{0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00},//-
{0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00},//.
{0x00,0x20,0x20,0x40,0x40,0x40,0x80,0x80},///
{0x00,0x00,0x40,0xA0,0xA0,0xA0,0x40,0x00},//0
{0x00,0x00,0x20,0x60,0x20,0x20,0x70,0x00},//1
{0x00,0x00,0xE0,0xA0,0x40,0x80,0xE0,0x00},//2
{0x00,0x00,0xE0,0x40,0x20,0xA0,0xE0,0x00},//3
{0x00,0x00,0x20,0x60,0xA0,0x60,0x20,0x00},//4
{0x00,0x00,0xE0,0x80,0xE0,0x20,0xE0,0x00},//5
{0x00,0x00,0x60,0x80,0xF0,0x90,0x70,0x00},//6
{0x00,0x00,0x70,0x10,0x20,0x20,0x20,0x00},//7
{0x00,0x00,0xE0,0xA0,0x40,0xA0,0xE0,0x00},//8
{0x00,0x00,0xE0,0xA0,0xE0,0x20,0x40,0x00},//9
{0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00}};//:
char buffer1,buffer2,buffer3,j;
char i,temp1,temp2,k,temp,tk;
char b[8];
char *hz;
for(i=0;a[i]!='\0';i++)
{
if(a[i+1]!='\0')//如果顯示的數(shù)字串連續(xù),連續(xù)顯示兩個(gè)數(shù)字
{
temp1=a[i]-44;
temp2=a[i+1]-44;
for(k=0;k<8;k++)//計(jì)算兩個(gè)數(shù)字在一個(gè)點(diǎn)陣中的值,將前后兩個(gè)數(shù)字合并到一個(gè)點(diǎn)陣中
b[k]=smun[temp1][k]+(smun[temp2][k]/16);
i++;
}
else//如果顯示的數(shù)字串不連續(xù),即給數(shù)字沒(méi)有下一個(gè)數(shù)就顯示一個(gè)數(shù)
{
temp1=a[i]-44;
for(k=0;k<8;k++)
b[k]=smun[temp1][k];
}
hz=b;
temp=y;//獲取開(kāi)始的行作標(biāo)
for(k=0;k<8;k++)//由于單片機(jī)堆棧的問(wèn)題,在這里調(diào)用hz_write會(huì)出錯(cuò),所以再寫(xiě)了一次
{
read(x,temp,&buffer1,&buffer2,&buffer3);
tk=*hz;
for(j=8;*hz&&j>0;j--)//判斷每位的值,看其對(duì)應(yīng)的點(diǎn)是否存在,存在則修改其顏色值。
{
tk=*hz&(1<<(j-1));
if(tk==0x80)//判斷第一位是否存在
{
buffer1 &= 0x1f;
buffer1 |=(color<<5);
}
else if (tk==0x40)//判斷第二位是否存在
{
buffer1 &= 0xe3;
buffer1 |=(color<<2);
}
else if (tk==0x20)//判斷第三位是否存在
{
buffer1 &= 0xfc;
buffer1 |=(color>>1);
buffer2 &= 0x7f;
buffer2 |=(color<<7);
}
else if (tk==0x10)//判斷第四位是否存在
{
buffer2 &= 0x8f;
buffer2 |=(color<<4);
}
else if (tk==0x08)//判斷第五位是否存在
{
buffer2 &= 0xf1;
buffer2 |=(color<<1);
}
else if (tk==0x04)//判斷第六位是否存在
{
buffer2 &= 0xfe;
buffer2 |=(color>>2);
buffer3 &= 0x3f;
buffer3 |=(color<<6);
}
else if (tk==0x02)//判斷第七位是否存在
{
buffer3 &= 0xc7;
buffer3 |=(color<<3);
}
else if (tk==0x01)//判斷第八位是否存在
{
buffer3 &= 0xf8;
buffer3 |= color;
}
}//判斷輸入的黑白字符字模每個(gè)數(shù)字對(duì)應(yīng)的寫(xiě)入點(diǎn)以及其顏色
write(x,temp,buffer1,buffer2,buffer3);
temp++;//下一行
hz++;
}
x++;//寫(xiě)下兩個(gè)數(shù)字
}
}
void showallhz(void)
{
hanzi(30,40,hz31,7,2);//在第一行顯示漢字“船“
hanzi(32,40,hz58,7,2);//在第一行顯示漢字“名“
hanzi(30,72,hz59,7,2);//在第二行顯示字“MM“
hanzi(32,72,hz60,7,2);//在第二行顯示字“SI“
hanzi(30,104,hz61,7,2);//在第三行顯示字“呼“
hanzi(32,104,hz62,7,2);//在第三行顯示字“號(hào)“
hanzi(30,136,hz31,7,2);//在第四行顯示字“船“
hanzi(32,136,hz32,7,2);//在第四行顯示字“舶“
hanzi(34,136,hz63,7,2);//在第四行顯示字“類(lèi)“
hanzi(36,136,hz64,7,2);//在第四行顯示字“型“
hanzi(30,168,hz31,7,2);//在第五行顯示字“船“
hanzi(32,168,hz32,7,2);//在第五行顯示字“舶“
hanzi(34,168,hz65,7,2);//在第五行顯示字“大“
hanzi(36,168,hz66,7,2);//在第五行顯示字“小“
hanzi(30,200,hz54,7,2);//在第六行顯示字“位“
hanzi(32,200,hz30,7,2);//在第六行顯示字“置“
hanzi(34,200,hz39,7,2);//在第六行顯示字“參“
hanzi(36,200,hz67,7,2);//在第六行顯示字“照“
}
/************延時(shí)函數(shù)***************/
void delay_1ms(void)
{
unsigned int i;
for(i=1;i<10000;i++)
;
}
void delay(unsigned int n)
{
unsigned int i=0;
for(i=0;i<n;i++)
delay_1ms();
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -