功率电感生产厂家
联系我们
热门搜索
点击排行
推荐阅读
猜猜你喜欢的
最新动态 您所在的位置: 首页 > 最新动态

基于不带字库的图形LCD模块汉字显示解决方案

来源:    作者:    发布时间:2015-09-23 09:36:12    浏览量:

在应用中,常需要汉字和英文字符混合显示,在软件处理时需要判断显示的内容是汉字的编码还是英文字符的编码,如果是汉字编码则根据其机内码计算区位码,并根据区位码计算出该汉字在字模中的起始地址。图3是混合显示的软件流程图。

26.jpg

3 应用实例

在某检测设备中,需要给用户显示电流、电压、频率值以及一些事件记录等。用户的命令通过设备的8键键盘输入,显示的内容有汉字、数字和英文字符。

以下列出了显示汉字、数字和英一体电感器文字符串部分软件

/*-----------------------------------------------------------------------------------------
混合显示一串汉字和英文字符
row:行(1-8), column: 列(1-15)
str:字符代码(标准机内码)指针
---------------------------------------------------------------------------------------*/


void DispStr(unsigned char row, unsigned char column, unsigned char *str)
{
while (*str)
{
if (*str > 0xa0) //如果是汉字机内码
{
if (column == 30) //如果是最后一列,则换行
{
row ++;
column = 1;
}
DispHZ(row, column, str); //显示一个汉字
column += 2;
str += 2;
}
else //如果是英文字符
{
DispChar(row * 2, column, str); //显示一个英文字符
column++;
str++;
}
}
/*----------------------------------------------------------------
在指定位置显示一个汉字(16*16点阵)
row:行(1-8), column: 列(1-29)
str:汉字标准机内码指针
LINE_CHAR = 30 一行的字符数
-----------------------------------------------------------------*/
void DispHZ(unsigned char row, unsigned char column, unsigned char *str共模电感器)
{
unsigned char idata i, hz_buf[32];
unsigned int StartAddr;

//定位起始行
StartAddr = (((row - 1) * 16) * LINE_CHAR + (column-1)) + 0x4000;
GetMatrix(str, hz_buf);
for (i = 0; i < 16; i++)
{
LCDInData( (unsigned char) (StartAddr) );
LCDInData( (unsigned char) (StartAddr>>8) );
LCDInCmd(0x24);
LCDInData(hz_buf电子电感器[i * 2]);
LCDInCmd(0xc0);
LCDInData(hz_buf[i * 2 + 1]);
LCDInCmd(0xc4);
StartAddr += LINE_CHAR;
}
}
/*-----------------------------------------------------------------------------------
从字库芯片中取汉字字模数据
s: 汉字标准机内码指针
hz_buf: 存放汉字字模数据缓冲区指针
-------------------------------------------------------------------------------------*/
void GetMatrix(unsigned char *s, unsigned char *hz_buf)
{
unsigned char i ,j, k;
unsigned long address;

for (k = 0; k < 31; k++)
{
i = *s - 0xA1; //计算区码
j = *(s + 1) - 0xA1; //计算位码
address = (((unsigned long)i * 94) + j)*32 + k; //计算该汉字在字模芯片中的起始位置

high_addr = 1;
P0 = (unsigned char) (address >> 16); //送高位地址
high_addr = 0;
P0 = 0xff绕行电感器;
zk_cs = 0;
*hz_buf = XBYTE[(unsigned int) address]; //取汉字模数据
hz_buf++;
zk_cs = 1;
}
}

4 结束语

在图形液晶模块中嵌入中文字库点阵字模芯绕行电感器片,其最大的特点是可以显示所有的一、二级汉字、硬件接口简单、软件编程容易、可混合显示汉字、英文字符和图形。作为人机接口的一个重要部分,可被广泛应用在工业仪器仪表、监控装置、保护装置及汽车等各种领域中。

5 参考文献
1 徐爱均彭秀华单片机高级语言C51应用程序设计电子工业出版社2001
2 莱德电子 YJ240D液晶模块手册
3 Toshiba CMOS digital integrated circuit silicon monolithic T6963C dot matrix LCD control LSI, 1997-04-07
4 GB2312-80《信息交换用汉字编码字符集》,1980

  • LED二维光源与数字化智能照明自从爱迪生发明了白炽灯泡后,人类就进入了照明新时代。白炽灯是第一代电光源的代表,它是靠通电加热钨丝使其处于炽热状态而发光的,它的发光效率低,使用寿命短。荧光灯代表了电光源史上的一次革命,目前世界上70

  • UPS单相变压器的空载电流ups单相高阻抗变压器的空载电流是额定电流的百分之几,这个有规定吗?好困惑啊。 6KVA 96V/220V.空载电流是额定电流的10%。请资深的专家来回答下,谢谢沙发
    当然越小越好啦!


  • 效率低故障分析思路步骤如何?效率低如何分析,从那方面去考虑拓扑结构,功率元件,磁性元件,等各方面首先是变压器问题反激式降压适配器,平均效率低,主要是在带25%负载时效率低明显
    几V 几A,什么磁芯?变压器参数是

  •