这个是显示
//显示一个英文字符,带前景色和背景色设定
void Display_ASCII8X16_Color(uint x0,uint y0,uchar *s,uint forecolor,uint backgroundcolor)
{
int i,j,k,x,y,xx;
unsigned char qm;
long int ulOffset;
char xdata ywbuf[32],temp[2];
for(i = 0; i<strlen((char*)s);i++)
{
if(((unsigned char)(*(s+i))) >= 161)
{
temp[0] = *(s+i);
temp[1] = '\0';
return;
}
else
{
qm = *(s+i);
ulOffset = (long int)(qm) * 16;
for (j = 0; j < 16; j ++)
{
ywbuf[j]=Zk_ASCII8X16[ulOffset+j];
}
for(y = 0;y < 16;y++)
{
for(x=0;x<8;x++)
{
k=x % 8;
if(ywbuf[y]&(0x80 >> k))
{
xx=x0+x+i*8;
PutPixel(xx,y+y0,forecolor);
}
else
{
xx=x0+x+i*8;
PutPixel(xx,y+y0,backgroundcolor);
}
}
}
}
}
}
这个是主程序,比如我想显示的不是指定字符而是字符串
void main()
{
lcd_initial();
bl=1;
dsp_single_colour(WHITE);//设置背景白色
while(1)
{ uchar c = 123;
Display_ASCII8X16_Color(10,10,"111",RED,WHITE);
Display_ASCII8X16_Color(10,30,"222",RED,BLACK);
Display_ASCII8X16_Color(10,50,"333",RED,BLACK);
}
}
|