单片机13×14点阵缩码汉卡的制作方法

文档序号:6420280阅读:447来源:国知局
专利名称:单片机13×14点阵缩码汉卡的制作方法
技术领域
本发明涉及一种MCS-51系列单片机用的13×14点阵缩码汉卡。
(二)、背景技术信息交流最主要的方式之一即文字交流。但由于我国方块汉字数量繁多,构形迥异,使汉字显示一直为我国计算机普及的障碍,随着计算机硬件的迅速发展,目前PC机的汉字显示已很好地解决。但对于成本低,体积小,应用灵活,且年产量约十亿片左右巨大数量的单片机而言,因其结构简单,硬件资源十分有限,仍面对捉襟见肘,力不从心的窘境,一直是其应用中未能突破的瓶颈。
单片机目前的汉字显示基本方法有三1、用标准字库法。即将GB2312国标汉字库存入ROM中,再将单片机的硬件和软件进行特别地扩展和设计。众所周知,即使是16×16点阵的标准字库,也须占约256K的存储空间,而就目前的主流51系列单片机而言,其最大寻址范围仅64K。即使程序区与数据区合起来也仅128K内存,因此若不加特别的扩展和设计,不要说检字程序和用户应用空间,仅字库都容其不下。这种方法虽然可以方便地应用现成标准字库,但却需占用大量的硬件和软件资源,增加很大一部分成本和设计难度,因此实际用者甚少。
2、字模直接固化法。即将所需显示汉字,依先后顺序,将其字模一一从标准字库中提取后,重新固化,予以显示。此法虽为简捷,但只适用于显示少量汉字,且字模的制取繁锁,软件的修改维护都很困难。
3、带索引小字库法。即将欲显示文件中的汉字从标准字库中逐一提取固化,制成小型字库,并按其在小字库中的位置制出索引表,显示时,从索引表中查出其新的字模取码地址,取码显示。此法与上相比,虽较灵活,可显示较多的汉字,但仍然只局限于显示固定文件内容,且字模制取同样麻烦。
目前,有一种最新的单片机“汉字动态编码与显示方案”(见《单片机与嵌入式系统应用》杂志2003年第1期和第9期)实际上也是一种动态的“小字库”法,只是字库的制取,索引的编写及文件的改码皆通过PC机自动完成,免去了繁琐人工处理。
综上所述,目前单片机各种显示汉字方法均不理想。标准字库法,单片机不堪重负。而其它方法最大且又无法克服的缺点是,显示文字皆为专业人员设计而定,用户一字改动不得,而不能如PC机那样随心所欲,这便极大地限制了单片机在信息、教育、控制等领域的开拓和应用。其原因皆为单片机无自己的汉卡。
(三)、发明内容为了克服现有技术的缺点,本发明提供一种51单片机13×14点阵缩码汉卡,以其首创的13×14点阵字模为基础发明的汉卡使单字所占内存由原32单元降至9.8个单元,使单片机无需任何扩展即可使用“GB2312280”国标汉字库及常用字符,且显示成本和空间占用减少近三分之一,汉字的显示准确性、美观性并不比16×16点阵字模逊色。
本发明解决其技术问题所采取的技术方案是它包括13×14点阵字模;该字模每个单字有13个列点和14个行点组成;以13×14点阵字模为依托的汉字编码;原16×16点阵汉字,每字占内存32个单元,而本发明每字平均占用约9.8个单元,依据我国汉字的特点和单片机快速构字功能,采用了不等长的非全码设计;单结构字,无同码列和对称码列者,采用全码设计;有同列码或对称码列者,仅列出其基准列码,其余由构字程序自动生成,复合字,采用堆积木办法,我国汉字素有“偏旁取义,正字取音”之说,一字若加不同偏旁附码即可衍生出许多个字来,如“寸”字,与不同偏旁附码组合,可构成“村”、“忖”、“讨”、“付”、“守”、“过”等字,构字程序可自动完成,列缩构字,如“村”字,行缩构字,如“守”字,特旁构字如“过”字,另有交叉构字如“赢”、“嬴”、“羸”等字,这便为汉卡节省了大量内存;各字依其不同结构特点,采用不等长编码,全码为27个单元,最短码为5个单元;以13×14点阵字模为依托的汉字编码附码;就是偏旁编码;构字程序;输入取字地址,判断是否单体字,如果是单体字,取其标志码,如有对称列码或同列码的取其对称列码或同列码,再取直接码列,组字后结束,如果不是单体字,判断是否列缩组字、行缩环组字或特旁组字,如果是列缩组字,取其标志码,判断是左侧旁还是右侧旁,计算旁列值,取主字,自动左或右缩列,组字后结束,如果是行缩组字,取其标志码,判断是上偏旁还是下偏旁,是上偏旁,取上偏旁,计算旁列值,取主字,自动下缩行,组字后结束,是下偏旁,取下偏旁,计算旁列值,取主字,自动上缩行,组字后结束,如果是特旁字,取特旁,计算行列值,取主字,自动缩行缩列,组字后结束,如果都不是上述的组字方式,取交叉字地址,取交叉主体字,取附加码,组字后结束。
13×14点阵字模与通用的16×16点阵字模相比,其准确性和美观性并不逊色,然而单字所占内存由原32单元降至26个单元,另外使得每个汉字显示由原来256个显示元素降至128个显示元素。显示成本和空间占用减少近三分之一,这对计算机汉字显示产品的开发应用,将具有明显的经济价值和实用意义。本发明囊括了“GB2312-80”国标汉卡的全部一、二级汉字,并增补汉字86个,且包括大、小写英文字,阿拉伯数字等160个常用字符,却仅占用了近66K内存。对于具有相互独立的程序区和数据区的128K内存的51系列单片机,若适当配置内存,可为检字程序和用户留出90%以上近60K的程序空间和相当数量的数据空间,对于一般用户的应用都将绰绰有余。字模的提取速度,实际应用证明,完全可满足单片机汉字显示的实用要求。由即将述及的汉卡设计原理可知,本发明具有近4K的构字程序,以普通的51单片机12M频率运行速度运行2K程序小于2ms,而人的视觉存留时间为0.1秒。50HZ的扫描20ms周期人便函无闪烁之感。实际应用表明,“51汉卡”20字取码,弹指可出。且本发明仅用于静态汉字显示,速度要求并不高。况且单片机技术的迅速发展,目前普通芯片运行频率可达40M,即使低电压芯片运行速度也可达24M,取码速度更可提高2-3倍。
具体实施方式
本发明包括13×14点阵字模,即每个单字有13个列点和14个行点组成;以13×14点阵字模为依托的汉字编码;原16×16点阵汉字,每字占内存32个单元,而本发明每字平均占用约9.8个单元,依据我国汉字的特点和单片机快速构字功能,采用了不等长的非全码设计;单结构字,无同码列和对称码列者,采用全码设计;有同列码或对称码列者,仅列出其基准列码,其余由构字程序自动生成;复合字,采用堆积木办法,我国汉字素有“偏旁取义,正字取音”之说,一字若加不同偏旁附码即可衍生出许多个字来,如“寸”字,与不同偏旁附码组合,可构成“村”、“忖”、“讨”、“付”、“守”、“过”等字,构字程序可自动完成,列缩构字,如“村”字,行缩构字,如“守”字;特旁构字如“过”字,另有交叉构字如“赢”、“嬴”、“羸”等字,这便为汉卡节省了大量内存。例如①、5单元码“阿”的编码为814760 81CE,“暗”的编码为054161 E659;②、7单元码“一”的编码为C0 00 40 40 C040 00,“埃”的编码为01 47BA E270 FC07;③、9单元码“遨”的编码为C1 30 6C EE 71 31 73 FF 3B,“厕”的编码为41 32 4B D7 E9 EF DE FE39;10单元码“铲”的编码为C1 50 2A 3F03 F507 FF 0B 1F,“城”的编码为11 47 BA 41 71 B7 17 FF 19 3C;12单元码“废”的编码为C1 306C F6F1 550D EB3F FF0B21,“遵”的编码为41 37 1E BE E4 FC NF 2F E3 FF F092 2;13单元以上码“千”的编码为46 00 40 80 40 8400 84C0 FC 3F 82 00,“章”的编码为00 1048 12 48 F2 4B B6 4A BA 4A B2 4A B3 3E;27单元码即全码“魃”的编码为00 FC 21 26 11 FD 0F 24 1D FC 2D 00 2C 08 22 FF31 28 2A 28 24 EA 23 0C 30 00 10,“敖”的编码为12 40 20 54 10 D4 0F 5421 54 1F 40 00 10 20 EF 13 08 0C 08 0C F8 13 08 20;以13×14点阵字模为依托的汉字编码附码,其程序见附表1。
构字程序构字程序方块图见附图
。输入取字地址,判断是否单体字,如果是单体字,取其标志码,如有对称列码或同列码的取其对称列码或同列码,再取直接码列,组字后结束,如果不是单体字,判断是否列缩组字、行缩环组字或特旁组字,如果是列缩组字,取其标志码,判断是左侧旁还是右侧旁,计算旁列值,取主字,自动左或右缩列,组字后结束,如果是行缩组字,取其标志码,判断是上偏旁还是下偏旁,是上偏旁,取上偏旁,计算旁列值,取主字,自动下缩行,组字后结束,是下偏旁,取下偏旁,计算旁列值,取主字,自动上缩行,组字后结束,如果是特旁字,取特旁,计算行列值,取主字,自动缩行缩列,组字后结束,如果都不是上述的组字方式,取交叉字地址,取交叉主体字,取附加码,组字后结束。按所述的构字程序方块图所编构字程序见附表2。
附表1FF FF FF FF 23 07 65 49 2D 00 51 70 04 22 FF 13 54 0A 54 0A FF 13 04 22 F001 10 01 10 11 08 21 06 0E D8 65 57 CB 8E C3 58 87 A9 25 6A 41 82 B7 42 9C5C C7 00 00 00 00 FE 0F 02 08 02 08 B2 3D C1 13 90 20 8E 10 F8 0F 88 10 8B20 EE C3 80 FF C6 18 F3 8C E5 96 8D 51 6C 72 83 C4 A7 74 6B 08 FF 5B 43 E8C5 75 B3 BA 36 4A FA D1 63 37 40 00 80 00 FC 1F 61 31 BE 3A AA 1A FE 23AA 1A BE 3A 8B 87 68 0B EF F8 AF F2 67 9F 12 22 22 21 FE 1F 12 22 22 21 FE1F 43 2B D8 CC ED 88 00 5F FA 34 0A 00 F1 1F 9F 29 FE 0F 48 02 A8 02 48 02FE 0F 00 02 40 00 FC 07 44 04 FC 07 40 08 FE 0F 30 DD 86 E4 8C D3 60 9A 3998 80 00 FC 1F 93 A0 92 AC 54 04 54 03 FF 3F 54 03 54 04 55 12 5D B1 54 45F2 20 92 20 92 20 9E 1F 00 00 FF 5C E4 DC C1 80 FF 46 E0 70 54 46 4A 31 736F 1C F0 01 08 02 FC 07 F3 19 48 02 FE 0F FF 4E 7C 9E 89 00 20 FE 1F A0 00BF 3F 20 00 FA 59 FE 0F 40 08 40 04 40 02 CB 00 3A 02 FF 80 20 FC 1F 96 02A5 24 FC 1F 00 00 6A BE 43 7E E4 44 5A 3C C6 98 65 2F 4E EE 73 63 00 BF6F F8 80 4F D1 46 62 EE BB 28 52 5D F8 C3 40 00 44 04 A8 02 10 01 08 02 071C 6B EC 32 8C FC 0F 44 08 44 08 FC 0F 00 00 9E BE 10 01 10 01 1E 0F 10 011F 11 10 0E BD 36 80 FF FE 0F 80 00 60 01 50 02 4E 04 40 08 3C 87 FE CF 1000 F8 07 0C 04 0A 04 F8 07 D7 BF D8 2D C7 E1 97 E7 CB 00 C7 81 54 D9 0C5C DE F9 D4 2E 10 00 4E 1E 44 10 FC 1F 44 10 44 1E 6E 16 40 00 38 00 FF 3F10 00 20 00 4E A3 F0 00 FB 06 AB 98 1C 87 48 DC 88 F1 6D 92 00 00 FE 0F 0200 F1 0F 72 20 6E 35 87 E7 EA D3 E1 2F ED 88 81 DF BD PC BB 3E 3E 28 2902 40 00 FC 07 40 00 FE 0F 00 00 85 A5 C1 A0 31 F1 49 16 B6 12 FB 8C 20 2210 11 88 08 44 04 22 02 08 10 EA 0B 0C 04 F8 0B 08 10 86 23 3C E9 FC 0F 0408 FC 0F 5B 85 08 0B 10 04 20 02 00 02 2A 62 AD 13 65 49 20 00 40 00 FE 0F02 08 02 08 20 20 A0 17 3F 08 E4 17 04 20 52 21 3F DD 00 00 FC 1F 97 61 42 E390 04 48 02 24 01 48 02 90 04 FA 27 0A 10 EE 0F 0A 10 FA 27 00 00 20 00 40 0080 00 7C 00 41 32 0A 00 F1 1F D6 44 44 04 22 02 44 04 40 00 40 00 C0 07 40 0078 AD 4E 20 E8 A2 CF 4D 73 4A 76 40 BA A5 88 00 49 00 EA 3F 98 00 08 0133 03 0A 10 F1 0F 7B E3 1C FC 53 EC 73 4A 7D 80 5F 12 75 71 7E 80 96 4A 7FC0 7A 80 80 20 FE 1F A5 24 FC 1F 6F 67 F8 0F 88 08 F8 0F 88 08 F8 0F 3C 02FB 47 9A A8 00 00 40 02 FF 1F 10 01 08 02 06 0C 63 A9 E8 D7 44 9D 7F C0 0000 FC 07 04 04 FC 07 04 04 FC 07 00 00 5A 3C 8E 98 10 10 10 08 FE 07 10 00F0 1F 00 08 08 00 08 00 FC 0F 02 00 FF 20 00 40 00 FE 0F 12 09 0A 0A 04 04FE 27 02 12 FA 0F 01 00 5C B3 4A 03 80 17 F3 54 CF 7F 51 E4 69 B7 BA D9 FC07 44 04 44 04 24 84 10 01 0E 0E 48 13 AD 7D 40 78 4A 58 76 40 00 00 FC 0714 05 FC 07 5F F0 49 9B A7 F8 DD 21 0A 00 F1 1F 59 14 D6 CC 7B 0D 00 20FC 1F 54 3F 7D 12 7E 3F 74 22 FF CF D2 7B 4C F0 01 10 11 0E 0E 25 21 26 11FC 0F 26 01 25 01 4D D5 40 00 42 08 FE 0F C9 28 68 63 26 4F 88 9A 7B E3 0204 FA 04 82 24 FE 24 80 1F 50 F5 7E F6 1C 04 10 02 FF 3F 10 01 90 00 FE 27 0210 FA 0F 02 10 FE 27 08 10 CA 23 0C 14 EF 13 08 08 CC B6 4F 32 52 9A 8C D163 7F F0 1F 78 AD E6 CC FF 5A 65 79 AA DF E8 D4 2E 5C C7 30 00 6B C5 5D10 00 FF 02 02 02 22 02 21 F2 1F 4A 00 26 00 D5 5B E0 A3 5B F1 12 10 E1 0FA2 1E 63 53 C5 B0 37 15 F0 B0 FC 3F 62 B2 9B 67 5C C7 60 EA 44 14 FE CE 78C0 33 1E 34 04 E4 6A 00 5F FA 6E FE 41 BB 3E 6C E3 CA 09 6C DA 7A 22 80
附表1(续)FF E6 21 C0 DF 9E EE 7D 80 B7 5B E4 44 78 97 1C DE 94 E2 26 B1 5E A5 2F7A 8A C0 37 40 44 F0 94 45 ED 88 80 9F 42 6B EC 84 25 DD 69 D9 CA 09 26F3 40 00 FE 07 20 04 10 04 8E 03 FF 33 1E 76 84 AC 68 64 46 4F A3 E9 40 9B78 32 93 44 9D 7F C0 AE 65 C0 97 81 CE 2B C7 F7 3B 80 FF 5F C3 8C DD AC68 80 FF 39 98 40 00 80 00 FC 1F 5F 7D 78 EF 80 FF CB AD 00 00 F8 0F 08 0808 08 F8 0F 00 00 10 00 10 00 FF 3F 10 00 FF 08 08 08 08 F8 0F 08 08 08 04 5F3F 1E BD 60 43 10 00 11 00 F2 3F 04 10 00 08 60 EA 9C A1 3B 3A A0 03 B8 445E 47 00 00 F8 13 00 08 FE 07 FA 6E CE C3 44 F0 63 74 20 00 10 00 EF 3F 08 1018 08 64 DA 7B 29 5B 85 F0 41 69 40 68 43 65 C8 65 90 E5 E4 7F C0 66 9A 3F80 A2 08 94 26 C8 1F 94 02 A2 04 88 27 40 00 48 02 48 04 44 09 C2 00 30 00 FF3D 94 4E 86 CC 73 3F 80 FB 47 9A F8 4B 04 32 A6 4A 58 80 FF 93 A0 9A EC75 14 04 10 F8 0F 94 20 94 20 FF 3F 94 28 94 27 FF 34 C8 04 76 A8 0B 00 00 F80F 00 00 FE 3F 00 00 91 87 80 FF 7C F6 00 20 00 10 FE 0F 39 4C 42 10 81 0FB6 CD E4 44 FD A4 4E F2 BC 73 AC CD 8C 6E 81 3B DE 88 B5 F9 F8 C3 80C3 80 FF 59 75 80 00 FC 1F 42 6B 83 52 80 F4 00 00 FC 3F FE 1F 00 00 02 08 0206 50 D4 1C 46 EC 67 A6 E6 81 5C AB C5 6B 0A CB 00 63 DC E4 29 2C FC 8CFF D3 43 8E E7 80 4D 70 FC E0 02 80 FF 49 28 F2 87 18 B3 E2 F6 1E 83 97 FE00 00 FE 3F FE 3F 00 00 02 08 FE DF 9B 78 B2 D3 CB 09 C6 41 96 59 90 B5 A9D3 10 01 48 02 24 04 12 19 F8 03 2D A6 C1 15 E9 D2 59 75 00 08 FC 07 04 00D4 A8 00 11 FC 09 56 25 55 23 FC 1F 00 D0 A0 3C FE CD 00 00 BC 07 A4 04BC 07 10 01 12 02 12 00 36 6E 70 24 59 C5 00 00 FC 07 04 04 04 04 FC 07 00 0038 A9 00 20 00 10 FC 0F BA 7C 90 DF C8 DF 9F 3A F4 6E 4A 58 F0 07 00 D4FC 07 00 04 F0 0F 56 97 6C CE 95 5B F0 41 FD 64 54 BB 3C 86 44 42 20 20 2010 FE 0F 24 10 28 20 DC 72 C7 81 A0 3C 18 DF DB 0E B6 C5 A1 4D 70 4C 044F 60 DD 35 B7 96 8C 6F 7B 5C 83 4A E6 54 45 81 CE 1A E7 3F A4 43 5E 7FC0 C6 6A 9B 67 18 DF AC 01 75 56 7C 23 10 04 FE 1B 10 14 D0 13 10 18 DE F95A CB B9 D7 4B C9 CB C9 70 8D C5 99 B3 54 74 BF 0A 9E B1 DC B8 0E CE81 97 83 20 00 22 20 2A 20 FA 1F A6 00 62 00 30 78 89 88 0E D7 45 40 4E 86 8428 D2 F8 FE E7 8E 85 BF 32 EB C3 44 42 E1 A1 C5 EB 4B 7D 98 77 5E F4 80FF 73 B4 32 B2 68 8A 00 5F 54 BB 3C 86 EE 56 8D 10 9A 2E D0 7C 76 E6 38 5232 28 50 BE 34 43 7C BE 85 6C F9 1F DF 23 3F 7C 3E 40 3E 6B 38 79 F0 94 7514 1F 90 48 5C 80 F9 B7 1B E0 02 7F C0 8B D7 70 4C 80 12 7F 0A D4 07 54 0A52 12 80 00 F8 03 20 01 FE 00 10 00 08 D0 47 04 8B 08 10 10 10 00 00 00 FE 3F22 04 52 08 8E 07 00 00 10 20 FE 17 10 08 F0 17 10 20 44 20 C8 1F 7F 00 C8 3F44 20 00 00 FE 0F 12 09 FE DF B9 3A 3C 94 44 9D 36 40 C0 5F 32 11 2A 11 E62F 2A 11 32 09 00 20 FE 1F 92 00 92 20 FE 1F 00 00 E0 2B BE 1E FF 0B BE 3EF8 0B 40 00 FF 1F 50 01 48 02 46 1C 20 08 20 08 FE 0F 20 04 20 02 00 20 FC 1FF4 2F 04 18 FC 1F 02 20 10 01 0B 02 FC 07 22 1A 1D 02 CC 01 C0 0F 00 08 FC0F 20 08 20 04 B4 1F 04 10 F4 1F 8C 10 84 28 96 AB 77 9D FD DC E8 D7 00 5779 1D 4C 46 1B C7
附表2
附表2(续)
附表2(续)
附表2(续)
附表2(续)
附表2(续)
附表2(续)
权利要求
1.一种单片机13×14点阵缩码汉卡,其特征在于它包括13×14点阵字模;该字模每个单字有13个列点和14个行点组成;以13×14点阵字模为依托的汉字编码;原16×16点阵汉字,每字占内存32个单元,而本发明每字平均占用约9.8个单元,依据我国汉字的特点和单片机快速构字功能,采用了不等长的非全码设计;单结构字,无同码列和对称码列者,采用全码设计;有同列码或对称码列者,仅列出其基准列码,其余由构字程序自动生成,复合字,采用堆积木办法,我国汉字素有“偏旁取义,正字取音”之说,一字若加不同偏旁附码即可衍生出许多个字来,如“寸”字,与不同偏旁附码组合,可构成“村”、“忖”、“讨”、“付”、“守”、“过”等字,构字程序可自动完成,列缩构字,如“村”字,行缩构字,如“守”字,特旁构字如“过”字,另有交叉构字如“赢”、“嬴”、“羸”等字,这便为汉卡节省了大量内存;各字依其不同结构特点,采用不等长编码,全码为27个单元,最短码为5个单元;以13×14点阵字模为依托的汉字编码附码;就是偏旁编码;构字程序输入取字地址,判断是否单体字,如果是单体字,取其标志码,如有对称列码或同列码的取其对称列码或同列码,再取直接码列,组字后结束,如果不是单体字,判断是否列缩组字、行缩环组字或特旁组字,如果是列缩组字,取其标志码,判断是左侧旁还是右侧旁,计算旁列值,取主字,自动左或右缩列,组字后结束,如果是行缩组字,取其标志码,判断是上偏旁还是下偏旁,是上偏旁,取上偏旁,计算旁列值,取主字,自动下缩行,组字后结束,是下偏旁,取下偏旁,计算旁列值,取主字,自动上缩行,组字后结束,如果是特旁字,取特旁,计算行列值,取主字,自动缩行缩列,组字后结束,如果都不是上述的组字方式,取交叉字地址,取交叉主体字,取附加码,组字后结束。
2.根据权利要求1所述的汉卡,其特征在于所述的汉字编码附码见附表1。
3.根据权利要求1所述的汉卡,其特征在于所述的构字程序见附表2。
全文摘要
一种单片机13×14点阵缩码汉卡,它包括13×14点阵字模;该字模每个单字有13个列点和14个行点组成;以13×14点阵字模为依托的汉字编码;依据我国汉字的特点和单片机快速构字功能,采用不等长的非全码设计;以13×14点阵字模为依托的汉字编码附码;就是偏旁编码;构字程序,输入去字地址,判断是否单体字,如果是单体字,取其标志码,是对称列码还是同列码的取其对称列码或同列码,组字后结束,如果不是单体字,判断是否列缩组字、行缩组字或特旁组字,如果是列缩组字,取其标志码,判断是左侧旁还是右侧旁,计算旁列值,取主字,自动左或右缩列,组字后结束。它用于51系列单片机,所占存储空间小,汉字的显示准确性、美观。
文档编号G06F3/00GK1545005SQ20031010966
公开日2004年11月10日 申请日期2003年11月19日 优先权日2003年11月19日
发明者王保君 申请人:王保君
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1