• CTT117—TFTLCD-2.4寸显示汉字


    1.LCD汉字显示是通过汉字取模软件将汉字转换成十六进制二维数组,控制LCD点阵的亮暗显示汉字。

    2。这里所用的汉字取模软件是pctolcd2002

    3.pctolcd2002的使用:

       

    3. 1.选择模式为字符模式  3.2.选择选项配置  一般配置如图,每行点阵显示数调到最高,可使每行数组表示一个汉字。

    3.3.上述配置完成后可在生成字模框中生成字模,并且可以调节字宽与字高,如图

    4.代码实现

    4.1,LCD驱动中的汉字显示函数(请确保LCD其他配置正确)

           

    //在指定位置显示一个汉字
    //x,y:起始坐标
    //num:要显示的汉字数组的初始下标
    //snum:要显示的汉字个数
    //size:字体大小 12/16/24
    //mode:叠加方式(1)还是非叠加方式(0)
    void LCD_ShowChinese2(u16 x,u16 y,u8 num,u8 snum,u8 size,u8 mode)
    {                                           
        u8 csize;
        u8 temp,t1,t,t2;    
        u16 y0=y;
        csize=(2*(size/8+((size%8)?1:0))*(size/2));        //得到字体一个字符对应点阵集所占的字节数    
        for(t2=0;t2<snum;t2++)
        {
        for(t=0;t<csize;t++)
        {   
            if(size==12)temp=chinese_12[num+t2][t];          //调用1206字体
            else if(size==16)temp=chinese_16[num+t2][t];    //调用1608字体
            else if(size==24)temp=chinese_24[num+t2][t];    //调用2412字体
            else return;                                //没有的字库
            for(t1=0;t1<8;t1++)
            {                
                if(temp&0x80)LCD_Fast_DrawPoint(x,y,TextColor);
                else if(mode==0)LCD_Fast_DrawPoint(x,y,BackColor);
                temp<<=1;
                y++;                                
                if(y>=TFT_Height)return;        //超区域了
                if((y-y0)==size)
                {
                    y=y0;
                    x++;
                    if(x>=TFT_Width)return;    //超区域了
                    break;
                }    
            }       
         } 
        }                                              
    }

    这里只配置12/16/24字体(即字模的宽高设置请保持一置)

    新建字库.h文件把生成的字模数组保存在其中,数组名命名为chinese_24[][80],chinese_16[][80],chinese_12[][80],与驱动中调用字体数组名相同。

    数组内容即保存的字模数组。(如图)

    5.main()函数调用

    只需在while(1)中调用汉字显示函数

     

    6.下载实现

     

     7.程序中并未使用最初的<LCD汉字显示>数组,而是直接使用原先写的<LCD显示>数组,原理相同,学习之后可在字模软件中生成不同汉字,在LCD显示。

  • 相关阅读:
    给JFinal添加 Sqlite 数据库支持
    超强、超详细Redis数据库入门教程
    HTML5实现多文件的上传示例代码
    JAVA 使用Dom4j 解析XML
    【VBA研究】Excel VBA利用ADODB访问数据库使用小结
    JFinal 部署在 Tomcat 下推荐方法
    Java WebService 简单实例
    关于XML的验证(DTD与XSD)一点实践
    基于机器学习的web异常检测
    30万奖金!还带你奔赴加拿大相约KDD!?阿里聚安全算法挑战赛带你飞起!
  • 原文地址:https://www.cnblogs.com/6F3BUK/p/14051638.html
Copyright © 2020-2023  润新知