单词记忆测试器任务书

合集下载

“单词背多分”项目说明书

“单词背多分”项目说明书

项目名称:蓝牙单词背多芬班级:08游戏设计班制作人:08801112 胡俊豪08801111 叶纯智一.可行性分析 (2)1.1 前景 (2)1.2开发目的 (2)二、开发人员 (2)三.游戏策划 (2)3.1基本部分 (2)3.2内容部分 (2)四.技术剖析(重点) (5)4.1开发流程及项目开发进程 (5)4.2主要类 (6)4.3蓝牙通讯-个人理解 (7)4.4主要代码 (8)4.4.1游戏引擎 (9)4.4.2蓝牙通信 (10)4.4.3单词数组生成 (13)五、个人感受及体会 (17)一.可行性分析1.1 前景“英语四六级”虽然是大多数人不愿染指的噩梦,但是在天朝这种“没证没饭吃”这样伟大而和谐的大时代背景下,大多数人还是抱着淹死总比饿死好的觉悟奔向ABC的海洋,梦想终有一天能跨过无尽之海,到达证之彼岸,一睹有饭吃大神的风采。

于是人们开始期盼能有那么一个叫做“单词背多分”的东西诞生,以助他们早日饱腹…1.2开发目的解救众生!可以使学习英语单词变得有趣,互动学习更能提高学习效率.二、开发人员胡俊豪、叶纯智三.游戏策划3.1基本部分3.1.1游戏名称单词背多分3.1.2游戏主题单词记忆3.1.3游戏类型单词记忆类蓝牙对战3.1.4游戏操作设计手机按键3.1.5游戏运行环境Java平台3.1.6游戏运作方式单机模式或蓝牙对战模式3.2内容部分描述游戏过程(单人模式)游戏一开始运行系统会随机生成一个单词一密码形式显示在“字母提示”栏表示该单词的字母数,该单词的中文释义会出现在“释义提示”栏。

玩家跟据所得到的信息猜测该单词,并将答案输入“输入”栏,“本机上一次输出”栏保存玩家上一次输出的单词。

答案正确时随机生成另一个单词继续猜。

(双人模式)比双人模式多了一个“对方输出”栏。

a游戏画面单机模式服务端客户端双人模式四.技术剖析(重点)4.1开发流程及项目开发进程4.2主要类4.27) 框架(4.28)5.1)4.30)5.5) 5.6)5.12)?.?)display, isServerEngine, isServerBTConnector4.3蓝牙通讯-个人理解服务端:首先要定义一个UUID类在蓝牙中,每个服务和服务属性都唯一地由"全球唯一标识符" (UUID)来校验。

单词记忆计数器课程设计

单词记忆计数器课程设计

单词记忆计数器课程设计一、课程目标知识目标:1. 学生能掌握本节课所学的英语单词及其基本用法;2. 学生能理解单词记忆计数器的基本原理及其在英语学习中的应用;3. 学生了解如何运用计数器进行有效的单词记忆。

技能目标:1. 学生掌握使用单词记忆计数器进行单词记忆的方法;2. 学生能够运用所学单词进行简单的句子编写;3. 学生通过计数器提高英语单词记忆速度和效果。

情感态度价值观目标:1. 培养学生主动参与英语学习的兴趣,提高学习积极性;2. 培养学生良好的团队协作精神,学会与同学分享和交流;3. 增强学生对英语学习的自信心,激发学习潜力。

分析课程性质、学生特点和教学要求:本课程针对小学三年级学生,结合英语学科特点,以单词记忆为核心,设计实用性的单词记忆计数器课程。

此阶段学生好奇心强,求知欲旺盛,但注意力容易分散。

因此,课程目标需具体、明确且易于实现。

通过分解目标为具体学习成果,有助于激发学生的学习兴趣,提高学习效果。

后续教学设计和评估将围绕以上课程目标展开,确保学生在知识、技能和情感态度价值观方面取得全面发展。

二、教学内容本节课教学内容以人教版小学英语三年级上册教材为基础,结合课程目标,选择以下内容:1. 单词学习:挑选与日常生活紧密相关的高频单词,如动物、水果、颜色等类别,共计20个单词。

2. 单词记忆计数器原理:介绍单词记忆计数器的基本原理,让学生了解如何通过计数器提高单词记忆效率。

3. 教学大纲:(1)第一课时:导入单词学习,让学生初步了解计数器原理,学会使用计数器进行单词记忆。

(2)第二课时:深入讲解单词记忆技巧,运用计数器进行实际操作,提高单词记忆效果。

(3)第三课时:通过小组合作,让学生运用所学单词进行句子编写,巩固所学知识。

(4)第四课时:总结课程内容,进行单词记忆竞赛,检验学生的学习成果。

教学内容安排和进度:- 第一周:完成第一、二课时,学习20个单词,掌握计数器基本原理。

- 第二周:完成第三课时,运用所学单词进行句子编写。

单词记忆测试器程序的设计说明

单词记忆测试器程序的设计说明

b6 db 1000h dup('$')b9 db 'You do not know the following words , please remember them agian',0ah,0dh,'$' f1 db 'very good,congratulations to you',0ah,0dh,'$'call zi4;输出不认识的单词mov ah,02h;回车换行mov dl,0dhint 21hmov ah,02hmov dl,0ahint 21hcall zi2;将不认识的单词存到B6所指单元call zi2;将不认识的单词存到B6所指单元m2:inc dilea si,b6;将不认识的单词放到B6所指单元111111111111111111111mov si,z;保留SI的地址zi4 procpush axpush bxpush cxpush dxpush sipush dilea dx,b9;输出不认识的单词mov ah,09hint 21hlea dx,b6mov ah,09hint 21hpop dipop sipop dxpop cxpop bxpop axretzi4 endp操作说明:一、输入单词:;1、提示输入单词,输入最少5个、最多255个英文单词,每个单词不超过20个字符。

2、若直接回车,则结束单词输入,进入单词测试;3、输足20个字符,自动进入下一个单词的输入;4、不足20个字符个字符,按回车键进入下一个单词的输入。

;二、单词记忆测试:1、从输入的第一个单词开始测试2、键入'y'(不分大小写)或'n',回答是否认识,不需按回车键确认,其它按键无效;3、紧接着,没有提示,可按上移键或下移键循环测试;4、按Esc键结束测试。

三、计算单词识别率并显示输出;四、提示是否进行下一组单词的输入和测试,键入'y'(不分大小写)或'n'选择是否继续,不需按回车键确认,其它按键无效。

微机原理与接口技术 课程设计任务书

微机原理与接口技术 课程设计任务书

微机原理与接口技术课程设计任务及指导书(适用于0944121班)一、课程设计目的和任务:通过课程设计,主要达到以下目的:1、使学生增进对单片机的感性认识,加深对单片机理论方面的理解;2、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、A/D、D/A等;3、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。

二、课程设计题目:【1】数字音乐盒设计要求:1、利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音响,从而演奏乐曲(最少储存三首乐曲,每首不少于三十秒);2、采用LCD显示;3、开机时有英文欢迎字符,播放时显示歌曲序号(或名称);4、可通过功能键选择乐曲,暂停,播放;扩展功能:显示乐曲播放时间或剩余时间;【2】数字温度计设计要求:1、基本范围为-50℃—110℃;2、精度误差小于0.5℃;3、LED数码管直读显示;扩展功能1、可以任意设定温度的上下限报警功能;2、实现语音报数。

【3】交通灯设计设计要求:1、设计一个十字路口交通灯控制器。

用单片机控制LED灯模拟指示。

2、系统包括人行道、左转、右转以及基本的十字路口交通灯功能;3、系统除具有基本交通灯功能外,还具有显示倒计时、时间设置、紧急情况处理功能。

扩展功能:1、分时段调整信号灯的点亮时间2、根据具体情况实现灵活手动控制功能。

【4】电子密码锁设计要求:1、系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能;2、还具有调电存储、声光提示等功能。

扩展功能:通过遥控器实现锁的基本操作。

【5】电子钟的设计设计要求:1、可以实现23h59m59s的显示,用六位LED显示出来,显示格式为“时时:分分:秒秒”。

2、可以利用按键设置任意的时分秒各位,并具有按键复位功能;扩展功能:1、实现整点语音报时功能。

2、实现年月日的显示。

【6】基于单片机的彩灯控制设计要求:1、以单片机为核心,设计一个彩灯控制器,控制8个彩灯依次点亮和依次熄灭。

单词记忆测试器程序设计课程设计

单词记忆测试器程序设计课程设计

单词记忆测试器程序设计课程设计
本次课程设计项目为单词记忆测试器程序设计,旨在设计一个可以帮
助人们更好地掌握英语单词的程序。

本程序主要包含以下几个模块:用户
信息管理模块、单词库管理模块、测试模块、统计分析模块等。

用户信息管理模块
本模块旨在提供用户信息的管理功能,包括用户的注册、登录、修改
信息等。

用户可以通过该模块完成注册,并设置用于登录的账号和密码。

同时,用户也可以在此模块中修改个人信息、修改密码等操作。

单词库管理模块
测试模块
本模块用于进行单词测试,包括单词听力测试、单词拼写测试等。

用户可以在此模块中选择自己想要进行的测试类型,然后根据测试内
容进行测试。

测试结果将会在测试完成后显示出来,用户可以查看自己的
测试成绩。

统计分析模块
本模块用于对用户测试结果进行统计分析。

管理员可以通过该模块查看用户的测试记录、测试成绩等信息,并对
用户测试数据进行统计分析,以便更好地了解用户在单词学习方面的表现。

总结
本项目设计旨在帮助用户更好地掌握英语单词,提供了用户信息管理、单词库管理、测试及统计分析等功能。

通过该项目的实现,用户可以方便
地进行单词学习和测试,提升英语单词水平。

单词拼写测试安排 → 单词拼写测验计划

单词拼写测试安排 → 单词拼写测验计划

单词拼写测试安排→ 单词拼写测验计划单词拼写测验计划
目标
本文档旨在规划和安排单词拼写测验的执行计划。

计划内容
1. 测验范围:确定单词拼写测验的范围,包括涉及的单词类别和难度级别。

2. 测验形式:确定单词拼写测验的形式,例如选择题、填空题等。

3. 资源准备:收集并准备测试所需的单词列表和题目。

4. 测验时间:确定单词拼写测验的时间安排,包括开始时间、结束时间和持续时间。

5. 测验场所:确定单词拼写测验的考试地点,确保场所安静、适合考试。

6. 考试监督:安排专人负责考试监督,确保考试过程的公平性和合规性。

7. 分数评定:确定单词拼写测验的评分标准,确保评定方式公正准确。

8. 结果通知:制定结果通知的方式和时间,及时向参与者发布测验成绩。

实施步骤
以下是单词拼写测验计划的实施步骤:
1. 确定测验范围,包括单词类别和难度级别。

2. 确定测验形式,根据实际需求选择适当的题型。

3. 收集并准备测试所需的单词列表和题目。

4. 确定测验时间、地点和监督人员。

5. 制定评分标准,确保评分公正准确。

6. 进行单词拼写测验。

7. 根据评分标准评定成绩。

8. 在规定时间内通知参与者测验结果。

定期评估
为了持续改进单词拼写测验计划,我们建议进行定期评估,以便发现潜在问题并进行调整和改进。

结论
通过制定并实施本文档中所述的单词拼写测验计划,我们将能够有效组织和管理拼写测验,帮助参与者提高单词拼写能力,同时确保考试的公平性和准确性。

单词记忆测试器C程序源代码(单片机)

单词记忆测试器C程序源代码(单片机)

单片机单词记忆测试器C程序源代码/************************************************************************ /**单片机单词测试程序/**设计一个以单片机为核心的单词记忆测试器;/** 实现单词的录入(为使程序具有可演示性,单词不少于10个);/**单词用按键控制依次在屏幕上显示,按键选择认识还是不认识,/**也可以直接进入下一个或者上一个;/**单词背完后给出正确率。

/*************************************************************************/ #define uchar unsigned char#define uint unsigned int#include <reg52.h>#include "asc.h" //ASCII字模表#include "12864.h" //12864液晶屏底层驱动程序bit ERROR=1; //输入字符错误标志位bit result=0; //输入结果对错的标志位,为0是正确bit verify=1; //已按了确认键后清零sbit ERR=P2^7;uchar correctNUM; //统计测试正确的单词数,即得分/*****************************************/** 存储要测试的单词,放在ROM中/****************************************/uchar code S[10][5]={ "left ", //左"bird ", //鸟"book ", //书"tree ", //树"water ", //水"go ", //去"come ", //来"rain ", //雨"fly ", //飞"eat ", //吃} ;uchar code SL[10]={4,4,5,3,2,4,4,3,4,3};//存储各测试单词的长度uchar KeyNum[8]; //储存输入的单词/*****************************************/** 存储键盘的字母值,放在ROM中/****************************************/uchar code tab1[6][5]={{'a','b','c','d','e'},{'f','g','h','i','j'},{'k','l','m','n','o'},{'p','q','r','s','t'},{'u','v','w','x','y'},{'z',1,2,3,4}};//最后的1234 键盘值为功能键,1表示确定键,2表示不认识,3表示上一个,4表示下一个/*************************************************** 键盘扫描程序*************************************************/unsigned char kbscan() //键盘扫描{uchar hang,lie,key; //P1连行,P3连列if(P1!=0xFF||P3!=0){switch(P1&0xFF) //P1 扫行{case 0xFE:hang=5;break;//P1.0为第6行case 0xFD:hang=4;break;//P1.1为第5行case 0xFB:hang=3;break;//P1.2为第4行case 0xF7:hang=2;break;//P1.3为第3行case 0xEF:hang=1;break;//P1.4为第2行case 0xDF:hang=0;break;//P1.5为第1行}P1=0; //P1全低电平P3=0xFF;//P3全高电平switch(P3&0xFF){case 0xFE:lie=4;break; //P1.0为第5列case 0xFD:lie=3;break; //P0.5为第4列case 0xFB:lie=2;break; //P0.6为第3列case 0xF7:lie=1;break; //P0.7为第2列case 0xEF:lie=0;break; //P0.7为第1列}P1=0xFF; //P1全高电平P3=0; //P3全低电平while(P1!=0xFF||P3!=0); //按键松开后才返回值key=tab1[hang][lie];}elsekey='_';return (key);}/************************************************************************/** 主函数/**/**/*************************************************************************/void main(void){uchar hz_Num; //用于计当前测试的是第几个词,第一个为0 uchar temp[8]; //用于送液晶屏显示的临时变量uchar iword=0,Nword=0; //输入单词字母下一个计数LCD12864_init(); //LCD12864初始化ClearLCD(); //清屏en_disp(2,1,11,Asc,"INPUT WORD:",1); //在第2行第1列en_disp(4,1,1,Asc,">",1); //在第5行,第2列开始显示en_disp(6,0,8,Asc,"correct:",1); //在第7行,第1列开始显示en_disp(6,80,5,Asc,"00/10",1); //在第7行第81列P1=0xFF; //P1全高电平P3=0; //P3全低电平while(1){KeyNum[iword]=kbscan(); //扫描键盘的输入值,没按下时返回下横线hz_disp(0,48,1,hz1+hz_Num*32,1); //在第1行,第49列开始显示测试的汉字temp[0]=(hz_Num+1)/10+0x30; //将十进制数转换为ASCII字符temp[1]=(hz_Num+1)%10+0x30; //算出测试汉字的序号的第一位和第二位en_disp(0,20,1,Asc,":",1); //在第1行第21列en_disp(0,4,2,Asc,temp,1); //在第1行第5列显示测试序号if(KeyNum[iword]!='_') //键盘有按键按下{if(KeyNum[iword]==1) //如果按下了确定键{if(SL[hz_Num]==iword&&verify) //输入长度等于测试单词的长度,则正确,verify 表示按下了确认后有效一次{correctNUM+=1;if(correctNUM>10){correctNUM=10; //最多10个正确的}verify=0; //标志位清零hz_Num++; //测试下一个单词if(hz_Num==10) hz_Num=0; //最多设10个单词temp[0]=(correctNUM)/10+0x30; //将十进制数转换为ASCII字符temp[1]=(correctNUM)%10+0x30; //算出测试汉字的序号的第一位和第二位en_disp(6,80,2,Asc,temp,1); //在第7行第81列iword=0;Nword=0;en_disp(4,16,8,Asc," ",1); //在第5行,第17列开始显示}}else if(KeyNum[iword]==2||KeyNum[iword]==4)//如果按下了“不认识”或“下一个”键,直接跳到下一个单词{result=0; //跳下一个时错误灯灭ERROR=0;hz_Num++; //测试下一个单词if(hz_Num==10) hz_Num=0; //最多设10个单词iword=0;Nword=0;en_disp(4,16,8,Asc," ",1); //在第5行,第17列开始显示}else if(KeyNum[iword]==3) //如果按下了“上一个”键,直接跳到上一个单词{result=0; //跳下一个时错误灯灭ERROR=0;//测试下一个单词if(hz_Num==0) hz_Num=10; //最多设10个单词hz_Num--;iword=0;Nword=0;en_disp(4,16,8,Asc," ",1); //在第4行,第16列开始显示}else if(S[hz_Num][iword]==KeyNum[iword]) //输入的字符与测试的标准字符比较{ temp[0]=KeyNum[iword];ERROR=0; //正确就标志位置0en_disp(4,Nword+16,1,Asc,temp,1); //在第5行,第17列开始显示iword++;if(iword==8) iword=0;Nword=iword*8;verify=1;}else{ temp[0]=KeyNum[iword];ERROR=1; //错误就置1en_disp(4,Nword+16,1,Asc,temp,1); //在第5行,第17列开始显示iword++;if(iword==8) iword=0;Nword=iword*8;}result=ERROR|result; //0表示结果正确}ERR=!result; //错误指示灯}}/***********************************************************/* ASCII字模的数据表/* 码表从0x20~0x7e 即ASCII的32-127/* 纵向取模下高位8x16/*********************************************************/ unsigned char code Asc[] = // ASCII 表{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00, // -!-0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00, // -"-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00, // -#-0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00,0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00, // -$-0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00,0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00, // -%-0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00,0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00, // -&-0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00, // -'-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00, // -(-0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00,0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00, // -)-0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00,0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80, // -*-0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00,0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00, // -+-0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -,-0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, // ---0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -.-0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00, // -/-0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00, // -0- 0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00,0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00, // -1- 0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00, // -2- 0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00, // -3- 0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00, // -4- 0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00, // -5- 0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00, // -6- 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00, // -7- 0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00, // -8- 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00, // -9- 0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00, // -:-0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00, // -;-0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00, // -<- 0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00, // -=- 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00, // ->- 0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00, // -?- 0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00, // -@- 0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00,0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00, // -A- 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00, // -B- 0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00, // -C- 0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00,0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00, // -D- 0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00, // -E- 0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00, // -F- 0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00, // -G- 0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00,0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00, // -H- 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00, // -I- 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00, // -J- 0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00, // -K- 0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00, // -L- 0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00, // -M- 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00, // -N- 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00, // -O- 0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00,0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00, // -P- 0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00, // -Q- 0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00,0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00, // -R- 0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00, // -S-0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00,0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00, // -T- 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00, // -U- 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00, // -V- 0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00,0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00, // -W- 0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00,0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00, // -X- 0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00,0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00, // -Y- 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00, // -Z- 0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00,0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00, // -[- 0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00, // -\-0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00,0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00, // -]- 0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00,0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00, // -^- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -_-0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00, // -`-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00, // -a- 0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00, // -b- 0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00,0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00, // -c- 0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00, // -d- 0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00, // -e- 0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00, // -f- 0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00, // -g- 0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00,0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00, // -h- 0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00, // -i- 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00, // -j- 0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00,0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00, // -k- 0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00,0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00, // -l- 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00, // -m- 0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00,0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00, // -n- 0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00, // -o- 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00, // -p- 0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00,0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00, // -q- 0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00,0x20,0xE0,0xC0,0x60,0x20,0x60,0xC0,0x00, // -r- 0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00, // -s- 0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00,0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00, // -t-0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00, // -u- 0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00, // -v- 0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00,0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00, // -w-0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00,0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00, // -x-0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00,0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00, // -y-0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00,0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00, // -z-0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00,0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00, // -{-0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00,0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00, // -|-0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00, // -}-0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00, // -~-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x60,0xC0,0x80,0x00, // -•-0x07,0x07,0x04,0x04,0x04,0x07,0x07,0x00,};/***********************************************************/* 显示汉字的字模数组存储要测试的单词中文/* 纵向取模下高位16x16/* 下一个汉字为上一个汉字在数组中位置的hz1+32/*********************************************************/unsigned char code hz1[] ={/*-- 文字: 左--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x10,0x10,0x10,0x11,0x1E,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00, 0x04,0x08,0x12,0x62,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x02,0x02,0x00, /*-- 文字: 鸟--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x00,0x3F,0x20,0x20,0x68,0xA6,0x20,0x22,0x21,0x3E,0x00,0x00,0x00,0x00, 0x00,0x08,0x08,0xC8,0x48,0x48,0x48,0x48,0x48,0x48,0x4A,0x41,0x42,0x7C,0x00,0x00, /*-- 文字: 书--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x9F,0x40,0x20,0x00,0x00,0x00, 0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0x80,0x80,0x80,0x84,0x82,0x84,0xF8,0x00,0x00,/*-- 文字: 树--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x08,0x09,0xFF,0x09,0x08,0x24,0x23,0x20,0x3F,0x00,0x09,0x08,0x08,0xFF,0x08,0x00, 0x60,0x80,0xFF,0x00,0x84,0x08,0x30,0xC0,0x38,0x00,0x00,0xC2,0x01,0xFE,0x00,0x00, /*-- 文字: 水--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x04,0x04,0x04,0x05,0x06,0x00,0xFF,0x06,0x01,0x02,0x04,0x18,0x00,0x00,0x00, 0x04,0x08,0x10,0x60,0x80,0x02,0x01,0xFE,0x00,0x80,0x40,0x20,0x10,0x08,0x08,0x00, /*-- 文字: 去--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00, 0x80,0x80,0x82,0x86,0x8A,0x92,0xE2,0x82,0x82,0x82,0x8A,0x86,0x83,0x80,0x80,0x00, /*-- 文字: 来--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x10,0x10,0x14,0x13,0x10,0x10,0xFF,0x10,0x10,0x11,0x16,0x10,0x10,0x00,0x00, 0x84,0x84,0x88,0x88,0x90,0xA0,0xC0,0xFF,0xC0,0xA0,0x90,0x88,0x88,0x84,0x84,0x00, /*-- 文字: 雨--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x40,0x47,0x44,0x44,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x44,0x47,0x40,0x00, 0x00,0xFF,0x00,0x00,0x90,0x48,0x00,0xFE,0x00,0x90,0x48,0x02,0x01,0xFE,0x00,0x00, /*-- 文字: 飞--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x02,0x05,0x08,0x10,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0x08,0x84,0x42,0x0F,0x00, /*-- 文字: 吃--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x3F,0x20,0x20,0x3F,0x04,0x08,0x32,0xD2,0x12,0x12,0x12,0x13,0x10,0x10,0x00, 0x00,0xF0,0x20,0x20,0xF0,0x00,0x0C,0x12,0x22,0x42,0x42,0x82,0x02,0x02,0x0E,0x00, };/*-----------------------------------------------------------*/#define LCD_OFF 0x3E#define LCD_ON 0x3F#define Add_X 0xB8 //the start address of the page 0 ;(0~7)#define Add_Y 0x40 //the start address of the Y counter ; (0~64)#define Add_Z 0xC0 //the start address of the DDRAM ; (0~64)/*-----------------------------------------------------------*/#define LCD12864_DATA_PORT P0sbit LCD12864_EN =P2^4;sbit LCD12864_RW =P2^3; //0:write ; 1:readsbit LCD12864_RS =P2^2; //0:the command .1:the datasbit LCD12864_CS_L =P2^1; //select the left of the lcd when 1sbit LCD12864_CS_R =P2^0;sbit LCD12864_RST =P2^5;/*------------------------------------------------------------*/void delayus(unsigned int us){while(us--);}void delayms(unsigned ms){unsigned int i,j;for (i=0;i<ms;i++){for (j=0;j<1000;j++);}}/*--------------------------select the LCD--------------------*/void LCDSel(unsigned char sel){switch(sel){case 0: LCD12864_CS_L=0;LCD12864_CS_R=0;break;case 1: LCD12864_CS_L=1;LCD12864_CS_R=0;break; //leftcase 2: LCD12864_CS_L=0;LCD12864_CS_R=1;break; //rightdefault:;};}/*------------------------------------------------------------*/void WaitLCD(){unsigned char flag;LCD12864_DATA_PORT=0xFF;LCD12864_RW=1;LCD12864_RS=0;LCD12864_EN=1;LCD12864_EN=1;LCD12864_EN=0;LCD12864_DATA_PORT=0xFF; //读有效数据LCD12864_RW=1;LCD12864_RS=0;;LCD12864_EN=1;do{flag=LCD12864_DA TA_PORT;LCD12864_DATA_PORT=0xFF;} while((flag&0x80)==1); //读BUSY信号//仅当第7位为0时才可操作LCD12864_EN=0;} //*//*-------------------------------------------------------------*/void WriteDatToLCD12864(unsigned char dat){WaitLCD();LCD12864_RS=1; //the dataLCD12864_RW=0; //writeLCD12864_DATA_PORT=dat;LCD12864_EN=1;;LCD12864_EN=0;}/*-------------------------------------------------------------*/void WriteCmdToLCD12864(unsigned char cmd){WaitLCD();LCD12864_RS=0; //the commandLCD12864_RW=0; //writeLCD12864_DATA_PORT=cmd;LCD12864_EN=1;;LCD12864_EN=0;}/*-------------------------------------------------------------*/unsigned char ReadDatFromLCD12864(void){unsigned char dat;WaitLCD();LCD12864_DATA_PORT=0xFF; //读空操作LCD12864_RS=1; //the dataLCD12864_RW=1; //readLCD12864_EN=1;LCD12864_EN=1;LCD12864_EN=0;LCD12864_DATA_PORT=0xFF; //来读有效数据LCD12864_RS=1; //the dataLCD12864_RW=1; //readLCD12864_EN=1;dat=LCD12864_DATA_PORT;LCD12864_EN=0;return dat;}/*--------------------------------------------------------------*///from the chip manualvoid LCD12864_init(void){LCD12864_RST=0;delayus(50);LCD12864_RST=1;LCDSel(0); //left and rightWriteCmdToLCD12864(LCD_OFF);WriteCmdToLCD12864(LCD_ON);}//x:0~7void SetX(unsigned char x) //写入X的地址{WriteCmdToLCD12864(Add_X+x);}//y:0~127void SetY(unsigned char y){WriteCmdToLCD12864(Add_Y+y);}//z:0~63void SetZ(unsigned char z){WriteCmdToLCD12864(Add_Z+z);}void ClearLCD(){int i,j;LCDSel(0);for(j=0;j<8;j++){WriteCmdToLCD12864(LCD_ON);SetX(j);WriteCmdToLCD12864(Add_Y); //diffrent from SetY(0),SetY(64);SetZ(0);for (i=0;i<64;i++){WriteDatToLCD12864(0x00);}}}/*-------------------------显示某点------------------*///左上角第一个点为原点,向下Y为轴,向右为X轴//x:0~63~127 y:0~63//flag : 0:擦除某个点// 1:显示某个点unsigned char code Tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};void Dot(char x,char y,bit flag){unsigned char dat;// y=63-y; //坐标轴的移动和反转if(x<64) //如果小于64则是在左半屏,CS1片选{LCDSel(1);SetX(y/8); //set the page addressSetY(x); //set the Y adressdat=ReadDatFromLCD12864();if(flag)dat=dat|(Tab[y%8]);elsedat=dat&(~(Tab[y%8])); //擦除某个点就是在原来的数据基础上与上(要擦的位置的取反)SetY(x); //set the Y adressWriteDatToLCD12864(dat);}else if(x<128){LCDSel(2);SetX(y/8);SetY(x-64);dat=ReadDatFromLCD12864();if(flag)dat=dat|(Tab[y%8]);elsedat=dat&(~(Tab[y%8]));SetY(x-64);WriteDatToLCD12864(dat);}}//draw a line between point(x1,y1) and point(x2,y2)//flag 0:erase the line 1:draw a linevoid Line(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,bit flag){unsigned char i;unsigned char temp;float k;if(x1==x2){if(y1>y2){ temp=x1;x1=x2;x2=temp;temp=y1;y1=y2;y2=temp;}for(i=y1;i<=y2;i++){Dot(x1,i,flag);}}else{if(x1>x2){temp=x1;x1=x2;x2=temp;temp=y1;y1=y2;y2=temp;}k=(float)(y2-y1)/(float)(x2-x1);for(i=0;i<x2-x1;i++){Dot(x1+i,(unsigned char)(y1+k*i),flag);}}}/*-------------------------------------------------------------*/void Rect(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,bit flag){Line(x1,y1,x2,y1,flag);Line(x2,y1,x2,y2,flag);Line(x2,y2,x1,y2,flag);Line(x1,y2,x1,y1,flag);}/*-------------------------------------------------------------*//*void RectArea(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,bit flag) {unsigned char temp;unsigned char i;if(x1>x2){temp=x1;x1=x2;x2=temp;temp=y1;y1=y2;y2=temp;}for(i=0;i<=x2-x1;i++){Line(x1+i,y1,x1+i,y2,flag);}}//16*16//x行0~7 y列0~127//flag 0:汉字反白显示void hz_disp(unsigned char x,unsigned char y,unsigned char n,unsigned char code * hz,bit flag) {unsigned char i,j;for (j=0;j<n;j++){//显示上半个汉字for(i=0;i<16;i++){//点的位置是在左还是右if(y+16*j+i<64){LCDSel(1);WriteCmdToLCD12864(LCD_ON);SetX(x);SetZ(0);SetY(y+16*j+i);if(flag)WriteDatToLCD12864(hz[32*j+i]);elseWriteDatToLCD12864(~hz[32*j+i]);}else if(y+16*j+i<128){LCDSel(2);WriteCmdToLCD12864(LCD_ON);SetX(x);SetZ(0);SetY(y+16*j+i-64);if(flag)WriteDatToLCD12864(hz[32*j+i]);elseWriteDatToLCD12864(~hz[32*j+i]);}}//显示下半个汉字for(i=16;i<32;i++){//先判断点是在左还是在右if(y+16*j+i-16<64){ if(x+1<8) //最后一行显示上半个字{LCDSel(1);WriteCmdToLCD12864(LCD_ON);SetX(x+1);SetZ(0);SetY(y+16*j+i-16);if(flag)WriteDatToLCD12864(hz[32*j+i]);elseWriteDatToLCD12864(~hz[32*j+i]);}}else if(y+16*j+i-16<127){if(x+1<8) //最后一行{LCDSel(2);WriteCmdToLCD12864(LCD_ON);SetX(x+1);SetZ(0);SetY(y+16*j+i-16-64);if(flag)WriteDatToLCD12864(hz[32*j+i]);elseWriteDatToLCD12864(~hz[32*j+i]);}}}}}//x:行0~7//y:列0~127//asc: 指向标准交换码//string: 指向要显示的字符串//flag: 0 反白显示void en_disp(unsigned char x,unsigned char y,unsigned char n,unsigned char code *asc,unsigned char *string,bit flag){unsigned char i,j,loc;for (j=0;j<n;j++){loc=string[j]-0x20; //确定要显示的字符在asc表中的位置(乘上16),见字模ASC表,H头文件//显示上半个字母for(i=0;i<8;i++){//点的位置是在左还是右if(y+8*j+i<64){LCDSel(1);WriteCmdToLCD12864(LCD_ON);SetX(x);SetZ(0);SetY(y+8*j+i);if(flag)WriteDatToLCD12864(asc[16*loc+i]);elseWriteDatToLCD12864(~asc[16*loc+i]);}else if(y+8*j+i<128){LCDSel(2);WriteCmdToLCD12864(LCD_ON);SetX(x);SetZ(0);SetY(y+8*j+i-64);if(flag)WriteDatToLCD12864(asc[16*loc+i]);elseWriteDatToLCD12864(~asc[16*loc+i]);}}//显示下半个字母for(i=8;i<16;i++){//先判断点是在左还是在右if(y+8*j+i-8<64){if(x+1<8) //最后一行{LCDSel(1);WriteCmdToLCD12864(LCD_ON);SetX(x+1);SetZ(0);SetY(y+8*j+i-8);if(flag)WriteDatToLCD12864(asc[16*loc+i]);elseWriteDatToLCD12864(~asc[16*loc+i]);}}else if(y+8*j+i-8<128){if(x+1<8) //最后一行{LCDSel(2);WriteCmdToLCD12864(LCD_ON);SetX(x+1);SetZ(0);SetY(y+8*j+i-8-64);if(flag)WriteDatToLCD12864(asc[16*loc+i]);elseWriteDatToLCD12864(~asc[16*loc+i]);}}}}}/******************************** END ************************************/。

测试记忆力教案范文

测试记忆力教案范文

测试记忆力教案范文教案名称:测试记忆力教案教学目标:1.学生了解记忆力的定义和重要性。

2.学生学会使用有效的记忆方法来提升记忆力。

3.学生能够通过测试自己的记忆力水平并制定相应的记忆训练计划。

教学步骤:引入活动:1.老师可以开始课堂讨论,询问学生记忆力的定义和重要性。

2.提醒学生记忆力对学习、工作和生活的重要性,引导他们认识到记忆力的影响。

概念解释:1.老师向学生解释记忆力的概念,包括记忆的基本过程和相关的脑部结构。

2.引导学生思考记忆力与学习的关系,以及如何通过提升记忆力来提高学习效果。

记忆方法:1.老师介绍一些有效的记忆方法,比如联想法、分组法、图像法等。

2.让学生通过实践运用这些方法,将一些难以记忆的内容用不同的方法进行记忆。

3.学生之间可以进行分享和讨论,了解不同方法的优缺点和适用场景。

记忆力测试:1.老师设计一份记忆力测试,并给学生一定时间来完成。

2.测试内容可以包括数字、文字、图片等各种形式的信息。

3.学生完成测试后,老师给予评估和反馈,对于表现较好的学生,可以向其他学生讨教他们的记忆方法。

记忆力训练计划:1.根据学生的测试结果和评估,老师可以为学生制定个性化的记忆力训练计划。

2.训练计划可以包括每天锻炼记忆的时间、具体的记忆方法和记忆的内容等。

3.老师鼓励学生坚持执行训练计划,并定期进行评估。

总结:1.老师总结本节课的重点内容,强调记忆力的重要性和提升记忆力的方法。

2.鼓励学生在日常学习和生活中积极运用有效的记忆方法,提高记忆力。

3.鼓励学生自主学习和探索更多关于记忆力的知识和方法。

教学评估:1.可以通过学生的课堂参与、讨论和测试成绩来进行评估。

2.可以观察学生在训练计划执行过程中的坚持和进展情况。

3.可以进行学生的反馈调查,了解他们对于本节课的学习收获和体验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

xx学院本科毕业论文(设计)
任务书
论文名称:基于单片机的单词记忆测试器设计
系、专业:电子信息工程学生姓名:
指导教师:下达时间:20xx-xx
一、论文(设计)的选题意义
随着经济的发展,科技的突飞猛进,芯片技术也取得了飞速发展,使单片机技术在各种民用和工业测控等领域得到了更为广泛的应用。

单片机凭借其低成本、高性能的不可替代优势,已经成为微电脑控制的主力军。

据统计,我国的单片机年需求量已达2亿片以上,且每年以大约15%的速度增长,发展迅速的单片机行业有着广阔的前景。

相比于发展迅猛的单片机行业,国内的单片机设计开发从业人员缺口很大。

据统计,到2015年,我国单片机开发从业人员将达350万人,而目前的从业者大约只有一百五十万人,两百万的人才缺口正驱动着大量的人员加入这个庞大的群体。

目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。

学习单片机的最有效方法就是理论与实践并重,因此通过单片机对单词记忆测试器的设计和研究,对于切实掌握单片机相关知识具有重要的理论和实际意义。

现在,社会越来越多重视英语的学习,单词的记忆很大程度上决定了英语成绩的好坏。

因此,很多家长会给自己的孩子购买一个记忆单词的工具,目前这类产品在市场上层出不穷。

这些产品都有一个共同的特点:都是以单片机为基础演变开发而来。

因此,以单片机为基础设计单词记忆测试器很基础,同时对切实掌握单片机相关知识具有重要的理论和实际意义。

二、论文(设计)的任务和基本要求
(1)实现单词的录入(为使程序具有可演示性,单词不少于10个);
(2)单词用按键控制依次在屏幕上显示,按键选择认识还是不认识,也可以直
接进入下一个或者上一个;
(3)单词背完后给出正确率;
(4)使用Proteus软件仿真电路原理图;
(5)使用Keil软件编译程序。

(6)最终完成实物设计
三、论文(设计)的进程安排
2011.12.10~2012.2.29 明确设计题目的任务要求,并完成开题报告
2012.3.1~2012.3.10 熟悉课题背景,查阅和学习相关资料
2012.3.10~2012.3.31 完成主要工序要求的程序顺序功能图
2012.4.1~2012.4.20 实际调试,测试仿真过程中可能存在的问题,并查
找书籍并及时与指导老师沟通解决相关问题。

2012.4.20~2012.5.6 整理装订论文
2012.6 完善整理设计及论文,进行论文答辩
四、教研室审核意见
教研室主任签名
年月日
五、系意见
系盖章
年月日
注:学生进行毕业论文(设计)前,指导教师应填好此任务书,经教研室主任签字、系盖章后,正式给学生下达,学生在答辩前应将该任务书送交系保存。

相关文档
最新文档