单片机显控系统中的汉字输入方法

发布者:支持中文最新更新时间:2012-05-23 来源: 21ic 关键字:单片机  显控系统  汉字输入 手机看文章 扫描二维码
随时随地手机看文章

    对于PC机来说,输入汉字是非常简单的,但在一些单片机人机接口系统中,进行汉字的实时输入是很困难的,而大多只能显示事先已取好字模点阵的汉字,但是每个16×16汉字点阵由32个字节表示,对于需要灵活使用大量汉字的场合,程序量太大,实现起来有很大难度;下面针对汉字库的结构进行分析,设计一种实用的汉字拼音输入法,并给出液晶汉字显示模块的基本程序。

    1  汉字的内码表示

    针对不同的操作系统汉字内码表示不同,如在苹果机的OS上使用的是GB231280汉字编码,Window s系统则使用GBK汉字编码,还有Unicode编码,GB180302000,方正748编码等。由于GB 231280是最早(1980年)的、由中国国家标准局颁布的《通用汉字字符集及其交换标准码》,所以以后产生的各编码都兼容了GB2312,他共收入汉字、字母、符号等7 445个,其中汉字6 763个,包 括一级汉字3 755个,二级汉字3 008个,是中国大陆及海外使用简体中文的地区(如新加坡等)强制使用的惟一中文编码,所以也称为标准汉字库。

    每个汉字的点阵数据需要占据内存32 B,有笔划显示的地方为1,无笔划显示的地方为0。然后通过单片机的C51语言将点阵数据转换成点阵液晶可显示的点阵数据形式。

    2  汉字库的制作

    本节中论述将16×16点阵的宋体汉字库烧录到512 kB的存储器中的具体方法。

    本例中使用的存储芯片为AM29C040,该芯片是AMD公司生产的512 kB的FLASH ROM,读者也可以使用其他容量不小于256 kB的产品,但在具体电路设计时应注意引脚定义和逻辑关系,并在烧录时选择相应的型号;UCDOS软件有一个名字为HZK16DAT 的文件,这就是16×16的国标汉字点阵文件,在该文件中按汉字区位码从小到大依次存有国标区位码中的所有汉字,每个汉字占用32 B,每个区为94个汉字,其大小为262 kB,可以全部写入AM29C040,除了可以存储全部的国标汉字外还可以存储8×16的ASCII码点阵数据以及汉字语句编码数据,使用起来更加方便。

    在实际操作中,硬件汉字库的制作和普通的程序存储器的编程没什么不同,注意将HZK16文件调入时要使用二进制方式打开,编程并校验成功后即可将存储器取下备用,这样一个硬件汉字库就制作好了。

    3  设计思路

    在本实例中,从低成本、低功耗设计理念出发,以Philips公司的P89C51RD2单片机为核心,输入用4×4的复用键盘,既可输入数字,也可输入字母或拼音,汉字库保存在AMD公司的A M29C040(512 k×8 b)FLASH上,液晶显示模块DMF50174(320×240),显示控制器SE D1335是日本SEIKO EPSON公司出品的液晶显示控制芯片。各个芯片的片选(控制信号)由74 HC138译码产生。

    键盘输入汉语拼音,单片机检索区位码,从FLASH中读出汉字点阵设计,显示在LCD上,并利用P89C51RD2的IAP功能在线进行编程,在线改变用户界面或接口功能。

    

    4  汉字输入

    P89C51RD2是Philips公司于2001年发布的一款非常优秀的单片机,该单片机是基于8位80C51单片机的派生产品,他在完全保留80C51指令系统和硬件结构的大框架外,进行了多方面的加强扩展和创新,P89C51RD2将原有的对外数据和程序存储器的16位寻址机制加以利用,把片上的RAM 扩展到1 kB,片上的FLASH EPROM扩展到64 kB,具有ISP(在系统可编程)和IAP(在应用中编程),具有6时钟和12时钟模式,6时钟模式外部晶振0~20 MHz,12时钟模式外部晶振可达0~33 MHz。[page]


    作为一般应用系统来说,一二级字库的汉字已足够使用,汉 字区位码2 B表示一个汉字,64 kB片上的FLASH EPROM共可存储汉字3万多个,设计中以数组形式在FLASH中存储,一二级6 763个汉字共用13 526 B。

    实例做法如下:用汉语拼音作为数组名,以该拼音所包含的汉字的区位码为数组元素,并 将所有一二级汉字以代码形式定义在程序中,这是一个比较烦琐的工作,工作量比较大。

    从键盘输入汉语拼音,通过输入的汉语拼音索引查询名字相同的数组,从数组中取得汉字的区位码放入数组qwm中,所取汉字个数放入qwm_counter中,显示在LCD上,如果一页显示不完,则可通过翻页来显示,直到显示完为止,从中选取所需汉字显示并保存。还可利用IAP功能进行在应用中编程,实现代码重构。定义:
 


    用上面所示的puthz16程序,利用区位码从FLASH中读取这些汉字的点阵数据,再用画点函数将汉字点阵写入显示缓存并利用汉字显示程序将汉字显示在LCD上或通过串口进行通讯,将汉字编码发送出去。

    5  汉字显示

    本设计中LCD显示使用的DMF50174是320×240点阵,由SED1335控制,每屏可显示20×15共 300个汉字,下面给出最基本的显示程序,在此基础上可以很容易地在LCD上显示汉字。
 


 

[page]


 

    该设计方法已实际应用在某系统显控器上,证明使用可靠、效果良好,对于低成本、低功耗的设计有一定的借鉴意义。由于篇幅所限,IAP功能没有列出,读者可以参考有关文献自己设计。

关键字:单片机  显控系统  汉字输入 引用地址:单片机显控系统中的汉字输入方法

上一篇:采用MCS51单片机的大屏幕LED显示屏高速控制方案
下一篇:基于单片机的瓦斯气体浓度信息检测和报警设计

推荐阅读最新更新时间:2024-03-16 13:00

51单片机入门 - SPI总线
UART、 I2C 和 SPI 是单片机系统中最常用的三种通信协议。 1、初步介绍 SPI 是一种高速的、全双工、同步通信总线,标准的 SPI 也仅仅使用 4 个引脚,常用于单片机和 EEPROM、FLASH、实时时钟、数字信号处理器等器件的通信。 SPI 通信原理比 I2C要简单,它主要是主从方式通信,这种模式通常只有一个主机和一个或者多个从机,标准的 SPI 是 4 根线,分别是 SSEL( 片选,也写作 SCS)、 SCLK( 时钟,也写作 SCK)、 MOSI( 主机输出从机输入Master Output/Slave Input) 和 MISO( 主机输入从机输出 Master Input/Slave O
[单片机]
NEC推出36款用于低端车身控制的微控制器
作为强化车载微控制器业务的一个环节,NEC电子日前推出最新36款内置多功能闪存的“78K” 微控制器(MCU)产品,用于低端车身控制领域的电动车窗、后视镜、安全气囊等,并将于2009年6月开始提供样品。 新产品中既有集成了满足车内网络标准的CAN及LIN的产品,也有仅集成LIN的产品,与PCB板的连接引脚数从30pin到100pin共计36款产品,用户可以根据自身需求挑选最合适的产品。 新产品继承了NEC电子8位微控制器“78K”的K系列及F系列的指令集及引脚配置,因此软件及PCB板可以通用。此外,48pin、64pin、80pin的产品中,CAN/LIN接口产品与仅有LIN接口的产品的引脚配置是共通的,因此
[单片机]
NEC推出36款用于低端车身控制的<font color='red'>微控制器</font>
单片机访问IIC总线技术
IIC 总线的特征: 1. 只要求两条总线线路:一条串行数据线(SDA);一条串行时钟总线 2. 每个接到总线上的器件都可以用软件设定地址,通过唯一的地址。总线上的不同设备会一直存在这一个主从关系,主设备可以工作在主发送和主接受模式。 3. 这是一个真正的多主机总线,如果多个或更多主机同时初始化数据传输,可以通过冲突检测和仲裁检测来防止数据被破坏。 4. 串行的8位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下科大400kbit/s,高速模式下可达3.4Mbit/s。 5. 片上集成有滤波器,可以滤除总线上的毛刺波,保证数据完整。 连接到相同总线的IC数量只受到总线的最大负载电容400pF的限制
[单片机]
<font color='red'>单片机</font>访问IIC总线技术
市场渗透加速,EPS MCU扮演关键角色
高效节能、高舒适性以及高安全性是现代汽车技术追求的三大目标。电动助力转向系统(EPS)作为汽车重要的子系统,一直致力于达到这些目标。EPS具有结构精巧、节能环保、安全舒适且能节省油耗等优点,因此是汽车助力转向系统的发展方向。根据Strategy Analytics的预测,到2018年EPS将占据全球转向系统市场份额的50%以上。从2015年开始,中国将超越欧美和日本,成为全球第一大EPS市场。 EPS主要由三大部分组成,包括信号传感装置(包括扭矩传感器、方向盘角度传感器和车速传感器),电子控制单元和转向助力机构(电机、离合器、减速传动机构等)。其中电子控制单元(ECU)是系统的核心部件,承担着处理传感器信号、执行控制
[汽车电子]
市场渗透加速,EPS <font color='red'>MCU</font>扮演关键角色
安森美推出低功耗安全无线MCU RSL15,刷新EEMBC记录
在当今的嵌入式计算世界中,电源效率可以说是微控制器单元 (MCU)最重要的指标之一。这种需求导致许多公司不断推动电源效率方面的最新技术,其中许多公司不断声称“行业第一”或“同类最佳”的性能。 有时很难区分是营销还是产品本身的独特性,所以最好的方法就是评分。日前安森美宣布推出RSL15 蓝牙低功耗 (BLE) MCU。 这种新的 MCU 被设计成一个超低功耗、高安全性的处理器,结合了 BLE 5.2 连接。为了实现这一点,MCU 提供了高可靠的集成,包括: 48 MHz Arm Cortex M33 内核 内置电源管理电路 RF(射频)子系统 RF 子系统具有 2.4 GHz 前端、低功耗低噪声放大器 (LNA)、功率放
[单片机]
安森美推出低功耗安全无线<font color='red'>MCU</font> RSL15,刷新EEMBC记录
基于单片机的函数发生器的设计
1 引言 在自动控制系统设计及调试过程中,不同频率的正弦波、三角波和方波常作为信号源,应用十分方便。过去常由分立元件及集成运放构成振荡器,后来出现的ICL8038其最高频率仅能达到100kHz。而MAX038芯片性能更好,最高频率可达20MHz,且三种波形由同一端输出。单片机控制品质卓越,基于单片机的函数发生器运行可靠,操作方便。 2 高频信号发生器芯片MAX038简介 MAXIM公司生产的MAX038芯片是一种高频精密的函数发生器,可产生三角波、锯齿波、正弦波、方波及脉冲波,且频率及占空比的控制可独立进行。 Lin管脚电流范围在10~400μA时电路获得最佳工作性能。输出波形的选择由逻辑地址引脚A0和A1的组合来决定:
[工业控制]
基于<font color='red'>单片机</font>的函数发生器的设计
单片机INT0外部中断脉冲计数
主要是用单片机 INT0 的中断进行脉冲计数 脉冲是由Clock元器件产生。 INT0外部中断输入脉冲。 设置举例,设置高低高时钟,频率为10,则设置第一个边沿出现时间为1.1。 INT0是低电平触发,设置出现时间为1.1刚好每秒增加数为10,并且每次都是10的倍数。 开关型霍尔元器件刚好是低电平,可以直接使用。 仿真原理图如下 单片机源程序如下: // 脉冲计数 // INT0中断计数 #include reg51.h sbit P2_0 = P2^0;//数码管选定位 sbit P2_1 = P2^1;//数码管选定位 sbit P2_2 = P2^2;//数码管选定位 sbit P2_3 = P2^3;//数码管选定
[单片机]
<font color='red'>单片机</font>INT0外部中断脉冲计数
用51单片机的Pl口实现独立的键盘控制
  独立式按键就是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。   独立式按键的优点是电路配置灵活,软件结构简单,并且能同时检测到多个键被按下的情况。但缺点是每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构复杂。因此,此键盘常用于按键较少的系统或操作速度较高的场合。   计本电路由上拉电阻和按键组成,对于每路键盘来讲,当键没有按下时,单片机相应引脚上的电平为低电平,当键按下时,单片机相应引脚上的电平为高电平,详细电路如下图所示。   程序设计      程序中采用轮询
[单片机]
用51<font color='red'>单片机</font>的Pl口实现独立的键盘控制
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved