标题:
请问51单片机的tft显示,怎么改才能显示指定字符串而非固定字符?
[打印本页]
作者:
wyez
时间:
2020-2-24 08:30
标题:
请问51单片机的tft显示,怎么改才能显示指定字符串而非固定字符?
这个是显示
//显示一个英文字符,带前景色和背景色设定
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);
}
}
STC_SoftSPI_英文显示.zip
2020-2-24 08:30 上传
点击文件名下载附件
88.99 KB, 下载次数: 4
作者:
banalsheep
时间:
2020-2-24 08:30
uchar s[]={"abc"};
Display_ASCII8X16_Color(10,10,s,RED,WHITE);
作者:
tyrl800
时间:
2020-2-24 11:47
定义字符数组变量代替那个常数字符串
作者:
haierzaifei11
时间:
2020-2-24 14:09
定义字符数组变量代替常数字符串
作者:
hantu
时间:
2020-2-25 01:02
用sprintf来生成要显示的串就可以了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1