您现在所在的是:

人机界面

回帖:0个,阅读:681 [上一页] [1] [下一页]
979
ycay1985
文章数:5
年度积分:50
历史总积分:979
注册时间:2009/11/9
发站内信
发表于:2009/12/5 10:48:12
#0楼
要做显示设备的朋友肯定会遇到显示汉字、英文等字库的麻烦。专用硬件字库芯片会提高开发的成本并且通常要显示的汉子或者字母也只有为数不多的几个显得很浪费。

好吧,大家来看看这个东西。它能自动生成汉字、英文点阵数据(C51格式、汇编格式可选)比较强大。将生成的点阵数据拷贝到程序中就可以控制在屏幕指定的位置显示输入的汉字。字体、字号可调。

来看一段程序


将“国家”显示在(2,0)处,设置TFT3224-5.7为X方向地址自动加一。因此,在每次设置XY地址后,可以连续写两个字节。详细程序如下所示。

#include <reg51.h>

#include <absacc.h>

#define X_ADDR XBYTE[0x8000]

#define Y_ADDR XBYTE[0x8001]

#define CMD XBYTE[0x8002]

#define DAT XBYTE[0x8003]

/*

#define X_ADDR XBYTE[0x0000]

#define Y_ADDR XBYTE[0x0100]

#define CMD XBYTE[0x0200]

#define DAT XBYTE[0x0300]

*/

main()

{

unsigned int i;

unsigned char cnt,x,y,z;

unsigned char code zk_0[32] = {

/*-- 文字: 国 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x00,0x7F,0xFC,0x40,0x04,0x5F,0xF4,0x41,0x04,0x41,0x04,0x41,0x04,0x4F,0xE4,

0x41,0x44,0x41,0x24,0x41,0x24,0x5F,0xF4,0x40,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04

};

unsigned char code zk_1[32] = {

/*-- 文字: 家 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x02,0x00,0x01,0x00,0x3F,0xFE,0x40,0x04,0x5F,0xE8,0x01,0x00,0x02,0x00,0x0F,0x20,

0x72,0xB0,0x04,0xC0,0x19,0xC0,0x66,0xB0,0x18,0x8E,0x60,0x84,0x05,0x00,0x02,0x00

};

//clear panel

CMD = 0x04;//x inc

for (y=0;y<240;y++)

{ Y_ADDR = y;X_ADDR = 0;

for (x=0;x<40;x++)

{

DAT = 0;

}

}

//写“国”

for ( cnt=0; cnt<=15; cnt++ )

{X_ADDR = 2;

Y_ADDR = cnt;

DAT = zk_0[cnt*2];

DAT = zk_0[cnt*2+1];

}

//写“家”

for ( cnt=0; cnt<=15; cnt++ )

{X_ADDR = 4;

Y_ADDR = cnt;

DAT = zk_1[cnt*2];

DAT = zk_1[cnt*2+1];

}

while(1);}

/声明:程序初始化仅适用于武汉中显TFT并口系列彩色液晶。
来源:武汉中显科技
做TFT液晶屏的朋友可以Q 343940112
email: yuchangan@viewtech.cn

附件:
[本地下载]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003