1 上海电力学院嵌入式系统课程设计报告题目:电子词典的设计姓名:学号:院系:专业年级:同组成员:年月日2 一、实验内容及要求在 LCD 屏幕左侧绘制出单词输入框和释义显示框以及一个搜索键,右侧绘制4*4 键盘按钮,模拟出简易电子词典的功能,按钮操作用触摸屏或键盘实现均可。实现功能:(1)LCD 屏幕上显示4*4 键盘,显示单词及其翻译、例句。(2)一个键可完成2 个英文字母的输入,如左上角第一个键可实现输入a,b 两个字母,第一次按下时为输入a,如果需输入b,只需连续快速按键两次即可。(3)在输入完单词后,点击搜索键,即可在释义显示框中显示该单词的词性、中文解释、示例词组和句子等。(4)当发现输入的单词在库中不存在时,可实现将该单词添加入库的操作。二、设计思路(1)通过 LCD 显示模块画出电子词典操作界面。(2)对应界面中各键的位置设置键盘对应键值。(3)设定功能键,实现以下3 个功能:①退格键:删除最后一位字母;②搜索∕保存键:对输入框的单词进行判断,若单词存在于词库中,则显示单词词性、词义、例句;若单词不存在则自动进行保存;③转换键:按下后,字母键输出对应的第二个字母。(4)按键后赋值并显示。三、软件构架开始LCD 模块键盘模块结束3 四、模块分析(1)键盘模块流程图:源代码:/********************************************************************************************* * File :keyboard.c * Author: embest * Desc: keyboard source code * History: *********************************************************************************************/ /*--- include files ---*/ 开始键盘初始化键盘是否按下Y 读取键值是否是功能键Y N 执行功能赋值显示结束N 4 #include "44b.h" #include "44blib.h" #include "def.h" #include "keyboard.h" #include "lcd.h" #include "dict.h" #ifndef KEY_INT #define KEY_INT #endif #ifndef BUT_INT #define BUT_INT #endif /*--- global variables ---*/ int input_char,n=0; char word[20]; int wordIndex=0; int x = 15; int num=0; int counter=0; /* keyboard control address */ volatile UCHAR *keyboard_base = (UCHAR *)0x06000000; /*--- function declare ---*/ void init_keyboard(); void close_keyboard(); void KeyboardI...