嵌入式课程设计电子词典硬件设计_第1页
嵌入式课程设计电子词典硬件设计_第2页
嵌入式课程设计电子词典硬件设计_第3页
嵌入式课程设计电子词典硬件设计_第4页
嵌入式课程设计电子词典硬件设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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读取键值是否是功能键 YN执行功能赋值显示结束N4#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 word20;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 KeyboardInt(void);/ _attribute_ (interrupt (“IRQ“);void Eint4567Isr(void);/ _attribute_ (interrupt (“IRQ“);/*- function code -*/* name: Test_Keyboard* func: test keyboard* para: none* ret: none* modify:* comment:*/void Test_Keyboard()5Uart_Printf(“n Keyboard Test Examplen“);Uart_Printf(“n Please press one key on keyboard and look at LED .n“);/ init keyboardinit_keyboard();while(1);/ close keyboard/ close_keyboard();/* name: init_keyboard* func: init keyboard interrupt* para: none* ret: none* modify:* comment:*/extern void isrEINT1(void);extern void isrEint4567(void);void init_keyboard()/* enable interrupt */rINTMOD = 0x0;rINTCON = 0x1;/* set EINT1 interrupt handler */rINTMSK =(BIT_GLOBAL|BIT_EINT1|BIT_EINT4567);pISR_EINT1 = (int)isrEINT1;pISR_EINT4567 = (int)isrEint4567;/* PORT G */rPCONG = 0xffff; / EINT70rPUPG = 0x0; / pull up enable rEXTINT = rEXTINT|0x20; / EINT1 falling edge moderI_ISPC = BIT_EINT1|BIT_EINT4567; / clear pending bitrEXTINTPND = 0xf; / clear EXTINTPND reg6/* name: close_keyboard* func: close keyboard interrupt* para: none* ret: none* modify:* comment:*/void close_keyboard()pISR_EINT1 = NULL;pISR_EINT4567 = NULL;/* Mask interrupt */rINTMSK = rINTMSK | BIT_EINT1 | BIT_EINT4567;/* name: KeyboardInt* func: keyboard interrupt handler function* para: none* ret: none* modify:* comment:*/void KeyboardInt(void)int nTemp,i,j,k,m=0;char bbyte;rI_ISPC = BIT_EINT1; / clear pending bitchar pbyte10;nTemp = key_read();if(nTemp -1) / Lcd_Draw_HLine(10, 310, 80, WHITE, 50);input_char = nTemp;Lcd_DspAscII8x16(15,45,WHITE,word);switch(input_char)case 0:num=1;break;7case 1:num=2;break;case 2:num=3;break;case 3:num=4;break;case 4:num=5;break;case 5:num=6;break;case 6:num=7;break;case 7:num=8;break;case 8:num=9;break;case 9:counter=1;break;case 10:counter=2;break;case 11:counter=3;break;case 12:m=1;Lcd_Draw_HLine(15+n-10, 15+n, 45, WHITE, 16);n-=10;wordwordIndex=0;wordIndex-;break;/*if(n=0)word20=0;8wordIndex=0;Lcd_Draw_HLine(10, 310,85, WHITE, 160);break;*/ case 13:wordwordIndex=0;wordIndex=0;for(i=0;ix0)for(i = 0; i 20; i+)vocabx.ci=wordi;wordi=0;Lcd_DspAscII8x16(15,40,BLUE,vocabx.c);x+;elsex=15;/Lcd_DspAscII8x16(15,45,BLUE,word);for(i = 0; i 20; i+)wordi=0;break;case 15:/Lcd_Draw_Box(10,40,310,80,GREEN);break;if(num!=0break;case 1:bbyte=b;break;case 2:bbyte=c;break;case 3:bbyte=d;break;case 4:bbyte=e;break;case 5:bbyte=f;break;case 6:bby

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论