伟杰龙电子
首页 | 产品中心 | 文章中心 | 下载中心 | 电子博客 | 电子论坛 | 开发板商城 | 各地代理 | 淘宝店 | 拍拍店 | 百度店
文章首页  |  业界动态  |  单片机  |  嵌入式系统  |  DSP  |  FPGA/CPLD  |  EDA技术  |  软件编程  |  元器件
电源技术  |  模拟电子  |  高频电子  |  无线通信  |  网络通信  |  消费电子  |  汽车电子  |  接口电路  |  职场人生
您现在的位置: 首页 >> 文章中心 >> 单片机 >> 单片机显控系统中的汉字输入
单片机显控系统中的汉字输入

来源:网络  作者:未知  人气:378  时间:2008-03-10 01:03:03


    摘 要:在实际应用中,特别是在需要实时大量输入汉字的显控处理应用中,利用传统单片机显控设计方法是无法实现的;通过对汉字内码的分析,给出硬件汉字库的制作方法,提出针对一、二级汉字库编码检索的拼音输入检索方法, 利用PHILIPS P89C51R D2单片机为核心处理芯片,设计一种具有通过键盘用汉语拼音输入法输入汉语拼音, 利用相应程序通过编码检索,在显控系统中实时输入汉字,并在LCD上显示或通过RS 232串口输出汉字点阵数据的方法。
 
    关键词:
P89C51RD2;汉语拼音;汉字库;LCD;C51 

    对于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 汉字输入

    P89C51RD2PHILIPS公司于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。

    作为一般应用系统来说,一二级字库的汉字已足够使用,汉字区位码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上显示汉字。

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

收藏此页】【打印】【关闭窗口】   

 相关产品
  WJ89S52V2.1单片机开发板 ¥380元 (2007-10-22)
  WJ430F149V2.0单片机开发板 ¥480元 (2007-11-08)
  WJ89C52V1.2单片机开发板 ¥280元 (2008-07-05)
  WJ51PV2.1 51单片机编程器 ¥180元 (2007-09-17)
  ICD2.5 PIC单片机仿真器 ¥280元 (2007-03-13)
  WJ16F877AV2.0单片机开发板 ¥380元 (2007-03-13)
 相关文章
  单片机入门  (2008-03-10 00:46:13)
  用单片机模拟I2C总线实现串行E2PROM的读写  (2008-05-24 22:45:31)
  单片机与MMC卡的接口  (2008-03-09 00:47:27)
  12位A/D转换器ADS7804与51单片机的接口及程序设计  (2008-03-10 01:11:41)
  单片机显控系统中的汉字输入  (2008-03-10 01:03:03)
  80C51单片机与MCS-51单片机的区别  (2008-05-24 22:37:06)
  基于MSP430单片机和nRF905的无线通信系统  (2008-04-28 14:21:52)
  基于单片机控制的高精密直流电流源的设计  (2008-04-28 14:28:57)
  51单片机与串行AD转换器TLC2543的接口设计  (2008-05-24 22:30:04)
  基于C8051F单片机的红外轴温探测器零点校正技术  (2008-04-28 14:13:16)
 
   MSP430并口仿真器
   ATMEL ISP下载线
   WJ89C52V1.2单片机开发板
   WJ1C6V2.0 FPGA开发板
   PIC16F877A
   SST89E516 仿真芯片
   STC89C52
   USB AVRISP/STK500下载器
   WJ430F149V2.0单片机开发板
   WJ89S52V2.1单片机开发板
   WJ89S52V2.1单片机开发板
   1602字符型液晶屏
   Altera ByteBlasterII下载线
   USB BLASTER下载线
   128*64图形液晶屏
   WJ430F149V2.0单片机开发板
   WJ1C6V2.0 FPGA开发板
   WJ89C52V1.2单片机开发板
   WJ51PV2.1 51单片机编程器
   AT89S52
   程序的书写规则(程序的编码规
   c8051f单片机使用经验总结
   纯c语言实现动态分配多维数组
   从Cygnal C8051F看8位单片机
   51单片机控制的DS1302时钟程
   几种常用单片机介绍
   DSP开发中值得注意的几个问题
   德州仪器认为DSP技术正快速推
   Linux内核技术分析
   Linux操作系统12则经典应用技
   Linux操作系统发展简史
   教你一招 Linux常见紧急情况
   嵌入式Linux操作系统的驱动程
   基于嵌入式Linux平台多协议路
   系统学习linux的十一点
   单片机入门
   89S51与89C51的不同之处
   Keil C51程序设计中几种精确
   汇编程序编写的一些原则
   用单片机模拟I2C总线实现串行
   单片机与MMC卡的接口
   12位A/D转换器ADS7804与51单
   单片机显控系统中的汉字输入
   80C51单片机与MCS-51单片机的
   用FIFO实现高速模数转换器与
   基于MSP430单片机和nRF905的
   C51编程规则讲述
   基于单片机控制的高精密直流
   8051的汇编控制指令
   51单片机与串行AD转换器TLC2
关于我们 -- 各地代理 -- 付款方式 -- 购物流程 -- 售后服务 -- 淘宝店 -- 百度店 -- 拍拍店
Copyright © 2006-2008 伟杰龙电子 All Rights Reserved 沪ICP备08014295号
陈先生:QQ: 手机:13818903490 Email:
李先生:QQ: 手机:13622090409 Email:
宋先生:QQ: 手机:15881645409 Email:
电话:021-22819431 传真:021-66341252 地址:上海市宝山区大华路1380弄37号