点阵汉字显示原理

点阵汉字显示原理

ID:38241140

大小:33.50 KB

页数:4页

时间:2019-06-07

点阵汉字显示原理_第1页
点阵汉字显示原理_第2页
点阵汉字显示原理_第3页
点阵汉字显示原理_第4页
资源描述:

《点阵汉字显示原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、点阵汉字显示原理汉字内码  在电脑中,所有的数据都是以0和1保存的,按不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。汉字字模  得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模中是

2、这样记载的:而中文的“你”在字模中却是这样记载的:  在硬件系统内,英文的字模信息一般固化在ROM里,中文的字模信息一般记录在汉字库文件HZK16里。采用汉字字模点阵数据批量生成工具(下载)汉字字模工具产生的随意字模如何在点阵LED或LCD中显示汉字?假设你采用16x16点阵汉字,水平扫描。显示汉字为“模”,用产生如下字模unsignedcharmo[]={0x00,0x00,0x10,0x90,0x10,0x94,0x13,0xFE,0x7C,0x90,0x11,0xFC,0x19,0x04,0x35,0xFC, 0x35,0x04,0x51,0xFC,0x50,0x40,0x17,0xFE

3、, 0x10,0x90,0x11,0x08,0x16,0x06,0x00,0x00};代码如下:unsignedcharcmp_w[8]={128,64,32,16,8,4,2,1};voidFontDisplay(intx,inty,unsignedchar*FontModule){    for(introw=0;row<16;row++)   {        for(intc=0;c<8;c++)           if((FontModule[row*2]&cmp_w[c])!=0)               putpixel(c+x,row+y,15);        for(

4、c=0;c<8;c++)           if((FontModule[row*2+1]&cmp_w[c])!=0)               putpixel(c+8+x,row+y,15); }main(){FontDisplay(5,10,mo);}24x24点阵代码示例(水平扫描):unsignedcharmo[]={0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x0C,0xC0,0x06,0x0C,0xC0,0x06,0x0C,0xDC,0x06,0x7F,0xF0,0x06,0xCC,0xC0,0x1F,0xF0,0x70, 0x06,0x3F,0x

5、F0,0x07,0x30,0x70,0x0F,0xBF,0xF0,0x0E,0xF0,0x70, 0x1E,0xF0,0x70,0x1E,0x3F,0xF0,0x36,0x06,0x18,0x06,0xFF,0xFC, 0x06,0x07,0x00,0x06,0x0F,0x80,0x06,0x0C,0xE0,0x06,0x38,0x7C, 0x06,0xE0,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};unsignedcharcmp_w[8]={128,64,32,16,8,4,2,1};voidFontDisplay(intx,int

6、y,unsignedchar*FontModule){    for(introw=0;row<24;row++)   {       for(intc=0;c<8;c++)           if((FontModule[row*3]&cmp_w[c])!=0)               putpixel(c+x,row+y,15);        for(c=0;c<8;c++)           if((FontModule[row*3+1]&cmp_w[c])!=0)               putpixel(c+8+x,row+y,15);        for(c=0;c

7、<8;c++)           if((FontModule[row*3+2]&cmp_w[c])!=0)               putpixel(c+16+x,row+y,15);     }}main(){FontDisplay(5,10,mo);}putpixel函数:putpixel(intx,inty,intcolor)x,y为坐标,color为颜色值.该函数在(x,y)点设定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。