欢迎来到天天文库
浏览记录
ID:12058762
大小:88.50 KB
页数:30页
时间:2018-07-15
《嵌入式课程设计电子词典硬件设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、上海电力学院嵌入式系统课程设计报告题 目:电子词典的设计姓名:学号:院 系: 专业年级: 同组成员: 年 月 日30一、实验内容及要求在LCD屏幕左侧绘制出单词输入框和释义显示框以及一个搜索键,右侧绘制4*4键盘按钮,模拟出简易电子词典的功能,按钮操作用触摸屏或键盘实现均可。实现功能:(1)LCD屏幕上显示4*4键盘,显示单词及其翻译、例句。(2)一个键可完成2个英文字母的输入,如左上角第一个键可实现输入a,b两个字母,第一次按下时为输入a,如果需输入b,只需连续快速按键两次即可。(3)在输入完单词后,点击
2、搜索键,即可在释义显示框中显示该单词的词性、中文解释、示例词组和句子等。(4)当发现输入的单词在库中不存在时,可实现将该单词添加入库的操作。二、设计思路(1)通过LCD显示模块画出电子词典操作界面。(2)对应界面中各键的位置设置键盘对应键值。(3)设定功能键,实现以下3个功能:①退格键:删除最后一位字母;②搜索∕保存键:对输入框的单词进行判断,若单词存在于词库中,则显示单词词性、词义、例句;若单词不存在则自动进行保存;③转换键:按下后,字母键输出对应的第二个字母。(4)按键后赋值并显示。三、软件构架开始LCD模块
3、键盘模块结束30四、模块分析(1)键盘模块流程图:开始键盘初始化键盘是否按下Y读取键值是否是功能键YN执行功能赋值显示结束N源代码:/**********************************************************************************************File:keyboard.c*Author:embest*Desc:keyboardsourcecode*History:************************************
4、*********************************************************//*---includefiles---*/30#include"44b.h"#include"44blib.h"#include"def.h"#include"keyboard.h"#include"lcd.h"#include"dict.h"#ifndefKEY_INT#defineKEY_INT#endif#ifndefBUT_INT#defineBUT_INT#endif/*---globa
5、lvariables---*/intinput_char,n=0;charword[20];intwordIndex=0;intx=15;intnum=0;intcounter=0;/*keyboardcontroladdress*/volatileUCHAR*keyboard_base=(UCHAR*)0x06000000;/*---functiondeclare---*/voidinit_keyboard();voidclose_keyboard();voidKeyboardInt(void);//__att
6、ribute__((interrupt("IRQ")));voidEint4567Isr(void);//__attribute__((interrupt("IRQ")));/*---functioncode---*//**********************************************************************************************name:Test_Keyboard*func:testkeyboard*para:none*ret:none
7、*modify:*comment:********************************************************************************************/voidTest_Keyboard()30{Uart_Printf("KeyboardTestExample");Uart_Printf("PleasepressonekeyonkeyboardandlookatLED...");//initkeyboardinit_keyboar
8、d();while(1);//closekeyboard//close_keyboard();}/**********************************************************************************************name:init_keyboard*func:initkeyboardinterrup
此文档下载收益归作者所有