找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7829|回复: 1
收起左侧

点阵屏——用户自定义汉字在线取模

[复制链接]
ID:59284 发表于 2014-3-1 01:26 | 显示全部楼层 |阅读模式
记得我第一次接触点阵屏,是大二时举行的校内电子设计大赛,一个09级的师兄做的,觉得很神奇。看他的演示,推测大概的方案是:
用VB做一个上位机界面,通过用户输入想要的汉字(或字母、表情),然后PC端生成取模后的数据,通过无线模块发送至点阵屏控制器,进行文字显示。当然还不止这些,可以控制文字移动的方式(上、下、左、右),移动速度等。其实就是现在市场上的广告屏啦。
因为毕业设计的缘故,我有机会深究点阵屏,在家的这段日子一直在与点阵屏打交道。也就萌生了一些想法。
我的想法如下:
整个系统分为2个部分。一个是用stm32f10x主控的,以TFT_LCD液晶屏做交互界面的主控制系统(主系统),另一个是用stc 1T主控、用来控制点阵屏(我的点阵屏的16x64)显示的(从系统)。
(1)主系统做一个汉字输入程序(如下)。由用户自行定义要在点阵上显示的字(字数由从系统的EEPROM或RAM大小决定);



(2)由这些用户输入的汉字的内码,去查找放在SD卡(或外拓flash)上的GBK/GB2312字库。(其实就是找到内码对应的汉字的点阵数据,比如,如果一个字是16bx16b,就相当于32B,在GBK16中,一个汉字所对应的点阵数据就有32B)。
(3)因为我所用的生成字库的软件只支持4种模式,其中横向扫描方式只有一种(高位在前,低位在后),而我的点阵屏显示需要低位在前,高位在后(目前还不清楚原理)。所以我需要再这里写一个高位转低位的函数 unsigned char MSB2LSB(unsigned char input)。
下面是由主系统的串口输出的数据:

0x0 0x2 0x0 0x2 0xdf 0x1f 0x10 0x12 0xe8 0x7f 0x8 0x12 0xc4 0x1f 0x1e 0x2 0xd0 0x1f 0x10 0x2 0x12 0x2 0xec 0x3f 0x8 0x2 0x34 0x2 0xc2 0x7f 0x1 0x0

0x0 0x0 0x84 0xf 0x88 0x8 0x88 0x8 0x80 0x8 0x40 0x70 0x2f 0x0 0xc8 0x1f 0x88 0x10 0x88 0x8 0x8 0x9 0x28 0x5 0x18 0x2 0x8 0x5 0xc0 0x18 0x30 0x60

0x8 0x0 0x88 0x1f 0xbc 0x10 0x84 0x10 0x82 0x1f 0xbd 0x10 0x88 0x10 0x88 0x1f 0xbf 0x22 0x88 0x12 0x88 0xc 0x88 0x4 0xa8 0x8 0x98 0x12 0x88 0x61 0x80 0x0

0x10 0x0 0x90 0x3f 0x8 0x0 0x4 0x0 0x12 0x0 0x10 0x0 0xc8 0x7f 0xc 0x4 0xa 0x4 0x9 0x4 0x8 0x4 0x8 0x4 0x8 0x4 0x8 0x4 0x8 0x5 0x8 0x2
汉字取模程序已经做好了,接下来的问题是怎么将这些数据传输到从系统去显示。对此,我采用的是无线透传的方案,加上一个定制的通讯协议。
回复

使用道具 举报

ID:370658 发表于 2018-7-19 11:42 | 显示全部楼层
汉字取模的程序的大概是什么样的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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