服务热线
0755-83044319
发布时间:2022-03-17作者来源:澳门新葡萄新京威尼斯987浏览:1477
GB1616.h//------------------ 汉字字模的数据结构定义 ------------------------//struct typFNT_GB16 //汉字字模数据结构{ unsignedchar Index[3]; //汉字内码索引 unsignedchar Msk[32]; //点阵码数据 }; /////////////////////////////////////////////////////////////////////////// 汉字字模表 //// 汉字库: 宋体16.dot,横向取模左高位,数据排列:从左到右从上到下 ///////////////////////////////////////////////////////////////////////////conststruct typFNT_GB16 codeGB_16[]= //数据表{/*------------------------------------------------------------------------------; 源文件 /文字 :徐; 宽×高(像素):16×16------------------------------------------------------------------------------*/ "徐",0x10,0x80,0x10,0x80,0x21,0x40,0x42,0x20,0x94,0x10,0x1B,0xEC,0x20,0x80,0x60,0x80,0xAF,0xF8,0x20,0x80,0x22,0xA0,0x24,0x90,0x2A,0x88,0x21,0x00,0x00,0x00,0x00,0x00,
这个结构,很简单的:一个是内码,一个点阵序列,以前的点阵库是按内码顺序放的,不需要内码索引的,如果只放部分汉字,就需要内码索引了。(前面的汉字“徐”是为了要输出“徐”的时候找到该字的点阵序列,这个点阵序列是自己写的,当用1602显示时,因为该芯片内存在英文的点阵序列,所以就不用写了)一般内码两个字节就行了,多用1个字节是加了个尾0而已,这样,汉字内码处直接放汉字字符串就可;
13、12864液晶:
每个显示点对应一位二进制数,1 表示亮,0 表示灭。存储这些点阵信息的RAM称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。
绘图RAM的地址计数器(AC)只会对水平地址(X 轴)自动加一, 当水平地址=0FH 时会重新设为00H 但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定
[cpp] view plain copy// 显示汉字 voiddispString (uchar X, Y,uchar *msg) //X为哪一行,Y 为哪一列。msg 为汉字 { if(X==0) X = 0x80; // [敏感词]行,汉字显示坐标 else if(X==1) X = 0x90; // 第二行 else if(X==2) X = 0x88; // 第三行 else X = 0x98; //第四行 Y = X + Y; //Y 为1 往右移一位 write_com(Y); // 写入坐标 while (*msg) { write_data(*msg++); //显示汉字 } } //////////////////////////////// //////////////// /////////////// // 显示图象 voiddisppicture(uchar code *adder) { uint i,j; //*******显示上半屏内容设置 for(i=0;i<32;i++) // 上半屏32个列地址 { write_com(0x80 + i); //SET 垂直地址 VERTICALADD write_com(0x80); //SET 水平地址 HORIZONTAL ADD for(j=0;j<16;j++) { write_data(*adder); adder++; } } //*******显示下半屏内容设置 for(i=0;i<32;i++) // { write_com(0x80 + i); //SET 垂直地址 VERTICALADD write_com(0x88); //SET 水平地址 HORIZONTAL ADD for(j=0;j<16;j++) { write_data(*adder); adder++; } } }
对于C语言,定义的变量,自动为其分配空间,其地址为该变量的名称。通过该名称,可以在内存中招到该数据,经过运算得到新数据,而汇编中需要编程者自己定义存储空间及把数据送到累加器等进行运算,每一步都需要编程者操作。而C语言这些过程由编译器去完成。
回答3:一般是自动分配的,可以c语言和汇编语言混合编程,也可以用Keil C在线汇编,芯片与外部的数据交换都是通过端口进行的。
免责声明:本文转载自“国际电子商情”,本文仅代表作者个人观点,不代表澳门新葡萄新京威尼斯987及行业观点,只为转载与分享,支持保护知识产权,转载请注明原出处及作者,如有侵权请联系我们删除。
公司电话:+86-0755-83044319
传真/FAX:+86-0755-83975897
邮箱:1615456225@qq.com
QQ:3518641314 李经理
QQ:332496225 丘经理
地址:深圳市龙华新区民治大道1079号展滔科技大厦C座809室
友情链接:站点地图 澳门新葡萄新京威尼斯987官方微博 立创商城-澳门新葡萄新京威尼斯987专卖 金航标官网 金航标英文站
Copyright ©2015-2024 澳门新葡萄新京威尼斯987 版权所有 粤ICP备20017602号-1