找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11523|回复: 11
打印 上一主题 下一主题
收起左侧

求助:如何用12864普通液晶显示5行汉字

[复制链接]
跳转到指定楼层
楼主
求大神赐教,如何用12864随意设置显示位置和显示自定义字符,如何建立小型字库
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:7485 发表于 2015-5-20 20:43 | 只看该作者
1、12864显示5行汉字很困难。除非使用图形方式。
2、有些12864是自带汉子库的。没必要自建汉字库。
3、不知你说的“任意”是什么程度的“任意”。
4、自建字库是可以的,但是一般的单片机装不下一个完整的二级字库。二级中文字库需要256k字节。一般是使用外挂字库。

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:80603 发表于 2015-5-21 16:09 | 只看该作者
ahshmj 发表于 2015-5-20 20:43
1、12864显示5行汉字很困难。除非使用图形方式。
2、有些12864是自带汉子库的。没必要自建汉字库。
3、不 ...

你好,我的意思就是因为12864自身的字库字体太大了,我想自定义一种字体,我知道应该用画图的方式,但是始终没明白是什么原理,比如说我想在12864上用我自定义的字体显示从实时时钟上读回的数据,不知道怎么弄啊。。。

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:7485 发表于 2015-5-22 17:55 | 只看该作者
这个东西是有点正组成的字或图像的。它一共有128列(从左到右128个点),64行(从上到下64个点)。自带字库的汉字是16*16点阵的,所以只能写上四行。

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:80603 发表于 2015-5-23 21:32 | 只看该作者
ahshmj 发表于 2015-5-22 17:55
这个东西是有点正组成的字或图像的。它一共有128列(从左到右128个点),64行(从上到下64个点)。自带字库 ...

我不用他自带的字库,用刷图片的形式来自己编码一个小型字库

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:82476 发表于 2015-6-9 11:12 | 只看该作者
秦依韵 发表于 2015-5-23 21:32
我不用他自带的字库,用刷图片的形式来自己编码一个小型字库

你解决问题了吗?我现在想在显示小一点的字符就可以了。也就是一行中显示不止16个字符。而且这字符,如果是数字,当我更改时,它会更改。
回复

使用道具 举报

7#
ID:82476 发表于 2015-6-9 11:19 | 只看该作者
5行汉字是比较容易完成的,用图形显示的模式,
/*================================================================
函数功能:向12864中写入一幅图片
函数参数:lcd_x为水平显示位置,lcd_y为垂直显示位置,
函数将12864屏分成上下两屏写入,上半屏LCD_x=0x80,下半屏lcd_x=0x88
=================================================================*/
void write_image(unsigned char *p)
{
        unsigned char i,j,k;
        lcd_x=0x80;
        lcd_y=0x80;
        write_com(0x34);
        for(i=0;i<2;i++)                        //分为上下两屏
        {       
                for(j=0;j<32;j++)//更改这里,这里是上半屏或者下半屏的0~32;你可以改成0~
                {
                        write_com(lcd_y+j);
                        write_com(lcd_x);
                        for(k=0;k<16;k++)                //写入显示数据
                        {
                                write_data(*p++);
                        }
                }
                lcd_x=0x88;
        }

        write_com(0x36);
        write_com(0x30);
}

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:82588 发表于 2015-6-10 10:17 | 只看该作者
这个只能用图形方式吗,12864本身的汉字显示已经固定就显示4行

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

9#
ID:80619 发表于 2015-6-10 15:48 | 只看该作者
去百度吧!呵呵
回复

使用道具 举报

10#
ID:84598 发表于 2015-7-18 10:31 | 只看该作者
你可以用取模软件自己取模,建立字库。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

11#
ID:84598 发表于 2015-7-18 10:34 | 只看该作者
就像这样

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的积分奖励!

查看全部评分

回复

使用道具 举报

12#
ID:86218 发表于 2015-7-20 11:38 | 只看该作者
、自建字库是可以的,但是一般的单片机装不下一个完整的二级字库。二级中文字库需要256k字节。一般是使用外挂字库。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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