Linux系统下,开发板文字的显示

文字的显示
    LED广告,文字是怎么显示的br>     点亮对应的发光二极管,就显示了文字
    
LCD屏幕文字的显示。
    点亮对应的像素点,就显示了文字
    
    我怎么知道哪些像素点需要被点亮呢br>     ====》
    字模软件:
    1.参数设置,其它选项
        选为横向取模,把字节倒序和保留去掉
    2.输入文字,按ctrl+enter    
        
    3.取模方式,选C51方式
    
    4.在字模区生成对应的字模

    
/*–  文字:  帅  –*/
/*–  宋体12;  此字体下对应的点阵为:宽x高=16×16   –*/
0x08,0x20,0x08,0x20,0x48,0x20,0x48,0x20,0x49,0xFC,0x49,0x24,0x49,0x24,0x49,0x24,
0x49,0x24,0x49,0x24,0x49,0x24,0x09,0x34,0x11,0x28,0x10,0x20,0x20,0x20,0x40,0x20    
    
上面的字节记录了显示一个帅字需要点亮的所有的点。    
宽x高=16×16 你要显示的文字的大小,
        宽16个像素点,高16个像素点
        总共是256个点
        
    32个字节,
    ====》
        每个字节对应8个像素点,一个字节刚好8个位,是不是一个位对应一个像素点呢果是这样的,那么位为1是点亮还是不点亮呢br>     ===》
    每一个字节对应8个像素点,相应的位为1,则需要点亮对应的像素点
    
    显示:把每一个字节中的每一个位取出来,显示到屏幕上面
    
    怎么把一个字节中的一个位取出来呢br>     假如有一个字节ch=10100011,要取第三个位,怎么办br>     10100011  把其他的位 &0,第三个位&1
    00001000
    f = ch & br>         ch &0x08
        ch & (1<<3)
        
    要取第n个位br>     f = ch & (1<<n)
    ===>
    
    for(i=0;i<=7;i++)
    {
        f = ch & (1<<i);
        if(f == 1)
        {
            lcd_draw_point(x,y,color);
        }
    }
    
    取一个字节的8个位
    for(i=7;i>=0;i–)
    {
        if(ch & (1<<i))
        {
            lcd_draw_point(x,y,color);
        }
    }
    
    for(index = 0;index<32;index++)
    {
        for(i=7;i>=0;i–)
        {
            if(word[index] & (1<<i))
            {
                lcd_draw_point(x,y,color);
            }
        }
    }
    ====>
    接下来我们需要解决的问题就是x和y
    假如我现在只考虑第0行,y=0,假如颜色的红色,color = 0x00ff0000.
    x = br>     for(index = 0;index<32;index++)
    {
        for(i=7;i>=0;i–)
        {
            if(word[index] & (1<<i))
            {
                lcd_draw_point(x,0,0x00ff0000);
            }
        }
    }
    
    x = 7-i  第0个字节,
    第一个字节br>     x = 15-ibr>     =====>
    x = 8*n + 7-i;
    x = 8*(index%2)+7-i;
    
    ====>
    x的坐标解决了,y的坐标呢br>     y = idnex/2;
    
    for(index = 0;index<32;index++)
    {
        for(i=7;i>=0;i–)
        {
            if(word[index] & (1<<i))
            {
                lcd_draw_point(8*(idnex%2)+7-i,index/2,0x00ff0000);
            }
        }
    }
    
    每一个文字都是一个独立的个体。

 

实践:在开发板的指定位置显示一个汉字

来源:浮?生若?梦

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月8日
下一篇 2019年8月9日

相关推荐