OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3770|回复: 3

关于lcd程序中显示字符的程序

[复制链接]

15

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2020-12-19
在线时间
20 小时
发表于 2021-1-24 21:43:58 | 显示全部楼层 |阅读模式
5金钱
void LCD_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u8 *p)
{         
        u8 x0=x;
        width+=x;
        height+=y;
    while((*p<='~')&&(*p>=' '))
    {      
        if(x>=width){x=x0;y+=size;}
        if(y>=height)break;
        LCD_ShowChar(x,y,*p,size,0);
        x+=size/2;
        p++;
    }  
}








void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
{                                                            
    u8 temp,t1,t;
        u16 y0=y;
        u8 csize=(size/8+((size%8)?1:0))*(size/2);                //μ&#195;μ&#189;×&#214;ì&#229;ò&#187;&#184;&#246;×&#214;·&#251;&#182;&#212;ó|μ&#227;&#213;ó&#188;ˉ&#203;ù&#213;&#188;μ&#196;×&#214;&#189;úêy       
        num=num-' ';//μ&#195;μ&#189;&#198;&#171;ò&#198;oóμ&#196;&#214;죨ASCII×&#214;&#191;aê&#199;′ó&#191;&#213;&#184;&#241;&#191;aê&#188;è&#161;&#196;££&#172;&#203;ùò&#212;-' '&#190;íê&#199;&#182;&#212;ó|×&#214;·&#251;μ&#196;×&#214;&#191;a£&#169;
        for(t=0;t<csize;t++)
        {   
                if(size==12)temp=asc2_1206[num][t];                  //μ÷ó&#195;1206×&#214;ì&#229;
                else if(size==16)temp=asc2_1608[num][t];        //μ÷ó&#195;1608×&#214;ì&#229;
                else if(size==24)temp=asc2_2412[num][t];        //μ÷ó&#195;2412×&#214;ì&#229;
                else return;                                                                //&#195;&#187;óDμ&#196;×&#214;&#191;a
                for(t1=0;t1<8;t1++)
                {                            
                        if(temp&0x80)LCD_Fast_DrawPoint(x,y,POINT_COLOR);
                        else if(mode==0)LCD_Fast_DrawPoint(x,y,BACK_COLOR);
                        temp<<=1;
                        y++;
                        if(y>=lcddev.height)return;                //3&#172;&#199;&#248;óòá&#203;
                        if((y-y0)==size)
                        {
                                y=y0;
                                x++;
                                if(x>=lcddev.width)return;        //3&#172;&#199;&#248;óòá&#203;
                                break;
                        }
                }           
        }                                            

}   






这两段程序怎么理解啊,我新手一点看不懂

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3387

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8632
金钱
8632
注册时间
2020-5-11
在线时间
4073 小时
发表于 2021-1-25 10:33:23 | 显示全部楼层
专治疑难杂症
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13083
金钱
13083
注册时间
2012-11-26
在线时间
3809 小时
发表于 2021-1-25 11:48:34 | 显示全部楼层
整体流程就是:取模  打点
学无止境
回复

使用道具 举报

15

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2020-12-19
在线时间
20 小时
 楼主| 发表于 2021-1-25 21:55:53 | 显示全部楼层

lcd怎么显示的字符,还能控制大小,就是他的原理,还有字符库在ILI9314里面还是lcd里面。就是我是新手对于lcd很不了解,我在网上还找不到答案,所以这两段程序我一点看不懂,有没有哪里可以学习lcd的途径
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 01:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表