- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LCD显示-----拼音输入法
成员:梁林荣孙丰沛任祥祥
一、 设计背景
随着近年来嵌入式设备的广泛应用,人们对其要求变的丰富多样,而不仅 限于简单的控制操作了。越来越多的界面友好,富有人性化的设计开始出现在 嵌入式设备上,如智能手机收发电子邮件、编写文档、车载 GPS导航查询等等
。所有的这些都离不开人机交互,因而嵌入式设备的汉字输入法应运而生,足 以满足人们对复杂信息的处理交换要求,而且更加直观易用。 b5E2RGbCAP
二、 设计思路
对于市面上现有的嵌入式设备,其拼音输入法大多数是基于操作系统的,如智 能手机等设备基于 Windows或Linux操作系统,一般的手机也多基于简化 Linux系 统,即使是电子词典等设备也有其单独设计的简化操作系统。基于操作系统下 的输入法设计是比较简单的,因为许多底层函数接口都已经由操作系统提供给 设计者了,只需要通过调用相应的函数就可以完成输入法的设计。 plEanqFDPw
我们所完成的汉字拼音输入法是基于AVR
Atmeg16单片机的,限于硬件的规格,其本身没有操作系统,也不太可能在其 上扩展操作系统,所以在设计时是相对困难的,从最底层的 LCD显示函数、键
盘输入函数到拼音查找字模检索算法等都需要 设计完成。而据我们了解,
在现行的不具备操作系统的嵌入式设备中,很少有已经完整并成功开发的汉字 拼音输入法,但这些设备有时是需要人机交互的,汉字拼音输入法将使其易用 性大大提高。因此,我们的设计弥补了现有市场的一个空白,而其设计思路完 全可以应用的其它任何不具备操作系统的简单的嵌入式设备中去,在较小的资 源占用下就可以完成拼音输入法的设计,满足人们与简单设备的交互要求。 DXDi
Ta9E3d
二、设计方法 1,硬件设计
微程序控制模块
采用Atmel公司的Atmaga16单片机作为主控制器。 Atmaga16是一个低功 耗,高性能的8位单片机,片内含16k空间的可反复擦写100,000次的Flash 存储器,具有1Kbytes的随机存取数据存储器<RAM),32个10 口,2个8位 可编程定时计数器,1个16位可编程定时计数器,四通道 PWM,内置8路10 位ADC,硬件SPI和TWI,可编程看门狗电路,抗干扰能力强,可在电磁干扰 环境下工作。且 Mega系列的单片机可以在线编程、调试,方便地实现程序的 下载与整机的调试。RTCrpUDGiT
输入模块
采用自制的4 X 3矩阵式12键键盘作为输入设备,与 Atmaga16的PD 口连
接。
输出模块
使用采用了 ks0108控制器的12864液晶屏幕作为输出设备,可显示 4行8 列共32个16 X 16点阵汉字。5PCZVD7HXA
下图为系统电路图
竺 :f Tk*-H(ALCMJW(AECtiFAlrtrdv o(ADC2*X1挥吨収推卅怙EC出
竺 :f Tk*-
H
(ALCMJW
(AECtiFAl
rtrdv o
(ADC2*X1
挥吨
収推卅
怙EC出U
AKF
伽
GKD
aVk
XtJtl
CtrtcW
X1MJ
(XsciiWi
Ptt翻,
rwcs
mr杓
HTilXKI
i冲呜戶口
ITOOPC:
W5p?LV
5OJIC3
1
-
.34343
1-T
XI
下图为键盘功能图
1
选择
2
abc
3
deF
5
6
ghi
jkl
mno
1
8
q
pq?*s
tuu
uxyz
*
0
tt
删除
复位
右翻
Tffi-
2,软件设计
A.键盘扫描程序
采用了矩阵式键盘常用的行扫描查询法。根据行列线交叉点定位按键,然 后根据按键编码查询得到该键的定义。read_keyboard(>函数将返回一个unsigned cha类型的值<0、1、2、3、4、5、6 7、8 9、*、#),程序可以通过调用该 函数而得到键盘的输入。jLBHrnAlLg
LCD显示程序
通过查询LCD的手册了解其各个寄存器及引脚的定义,编写 LCD的驱动程
序。驱动程序主要包括以下几个函数:XHAQX74J0X
Check_busy(>
检查LCD是否处于忙状态,只有其空闲时才可以进行数据或命令的读写。
Disp_init(> LCD 初始化 Disp_clear(> LCD显示屏清空 Write_com(> 向 LCD写命令 Write_data(> 向 LCD 写数据 Read_date(> 从 LCD 读数据 Write_char(>在LCD指定位置上显示一个字符 Write_word(>在LCD指定位置上显示一个汉字
流程控制主程序
这是拼音输入法设计的主要部分,通过该程序完成了对输入、查询及输出 的整个流程。该主控程序主要分为以下几个部分: LDAYtRyKfE
1) 接受键盘的输入并得到一个数字的组合,如 “24”
2
原创力文档


文档评论(0)