单片机单词记忆测试_单片机单词记忆器

2020-02-27 其他范文 下载本文

单片机单词记忆测试由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机单词记忆器”。

电气工程及自动化专业

单片机原理及应用课程设计报告

名:王淼

号:

专业班级:

目:单词记忆测试器程序设计

20111056 110306

电气工程及其自动化专业 电气与电子工程学院

二〇一四年一月十三日

目录

一. 设计目的 二. 设计任务和要求 三. 设计原理分析 四. 硬件资源及其分配 五. 硬件图 六. 程序框图 七. 程序 八. 调试运行 九. 仿真截图 十. 设计心得体会

一.设计目的1.通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手能力。

2.通过对单词记忆测试器程序的设计,掌握单片机的使用方法,和对简单程序的编写,最终提高我们的逻辑抽象能力。

二.设计任务和要求

任务:单词记忆测试程序设计

要求:设计一个以单片机为核心的单词记忆测试器;能实现单词的录入;

三.设计原理分析

本次课设的研究对象是基于单片机的单词记忆测试器的设计,此单词记忆测试器可以实现单词的输入并判断单词是否正确,单词背完后给出正确率,该单片机单词记忆测试器为在现实生活中有着广泛的应用,特别是对学习英语方面有很大的作用。

本设计以STC89C52单片机为处理器,以12864点阵液晶屏为显示器件,并使用5*6矩阵键盘为输入设备,实现了功能全面的人机界面和高速的数据处理功能,利用单片机的ROM可存储单词和汉字,作为记忆测试用。

四.硬件资源及其分配

4.1硬件模块设计

中央处理模块选用STC89C52单片机系统组成,电路包括:STC89C52单片机,复位电路,时钟振荡电路。

STC89C52单片机需在复位电路和时钟振荡电路组成的最小系统下工作,单片机引脚图如图所示,外围电路如图所示,时钟电路采用频率为12MHz的晶振,C1,C2与晶振构成了外部振荡电路,复位电路采用点解电容与电阻串联,当系统上电时,由于电容充电,在RST端会产生一个高电平,高电平持续的时间由电容和电阻的值决定,当ERSET为低电平时,系统为工作状态,STC89C52具有ISP的功能,可以通过串行接口直接将程序下载到单片机内。在下载程序状态下,ERSET信号被拉高,系统进行程序下载,待程序下载完毕后,RESET重新拉低。用户可以通过切断电源进行手动复位,或者通过重新下载新的程序进行复位。

引脚排列图

时钟电路图

复位电路图

4.2显示模块的硬件设计

显示模块采用单色点阵液晶屏12864模块,该模块在点阵液晶屏基础上集成了控制器kS0108,用户只需设计好接口程序,就可让模块显示出各种字符和图像。

通常我们所见到的LCD模块,分为几部:玻璃,背光,PCB板;而背光和PCB板部分其实是可有可无的,视具体的LCD模块而定,点阵的LCD模块按照驱动控制器的集成方式,大可分为两种:COB和COG其实就是驱动控制IC集成到了玻璃里面,这样的而后面的PCB板上其实只是一些驱动装置IC无法集成的电容电阻而已,COB也就是把驱动控制IC焊接在LCD板后面的PCB板上。

12864为一块128×64点阵的LCD显示模块,模块上的LCM采用COG技术将控制,驱动器集成在玻璃上,接口简单,操作方便,为了方便用户的使用,在LCM基础上设计了12864模块,将模块所必须的外围电容电阻集成到模块上,并引出多种形式的引线接口方便用户使用。

LCD的接口

一般来说,LCD模块的接口为总线的接口,不是6800就是8080,或者是串行SPI,除了这些总线的端口外,有的LCD模块还引出了一些功能性的端口,如偏压调节输入,负压输出等。

模块接口定义表

五.硬件图

显示RAM区映射情况

对于LCD模块,了解清楚驱动装置IC当中的显存与LCD玻璃上的点的对应关系是非常重要的,这是编写LCD的驱动程序的基础,12864液晶显示模块的显示器上的点与驱动控制芯片中的显示缓存RAM是一一对应的,驱动控制芯片当中共有65*132个位显示RAM区,而显示器的显示点阵大小为64*128个位,所以实际在液晶显示模块中有用的显示RAM区为64*128各位,按byte为单位划分,共分为8个Page,每个Page为8行,而每一行为128个位。

驱动控制芯片的显示RAM区每个byte的数据对应屏上的点的排列方式为:纵向排列,低位在上,高位在下,如图所示:

12864液晶显示模块的显示屏上的每一个点对应有控制器片内的显示缓存RAM中的一个位,显示屏上64*128个点分别对应着显示RAM的8个Page,每一个Page有128个byte的空间对应,因此可知显示RAM区中的一个Page空间对应8行的点,而该Page中的一个byte数据则对应一列,图为显示RAM区与显示屏的点映射图:

矩阵键盘

要测试记忆的单词,就要有字幕的输入接口,本接口设计为5*6矩阵键盘输入,接入单片机的P1口和P3口进行键盘扫描,最大程度提高了单片机IO口的利用率,设计共30个按键,包括了26个英文字母以及四个功能键:“确定”,“不认识”,“上一个”,“下一个”。

矩阵键盘如图所示,由30个轻触按键按照6行5列排列,连接到P1,P3端口,其扫描的原理是:先将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入,这样,当按键没有接下时,所有的输出端都是高电平,代表无键按下,行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了,然后再将行线所接的单片机的I/O口作为输入端,而列线所接的I/O口则作为输出,以相同的方法读一次端口,程序中就可识别是哪个坐标的按键按下了。

硬件原理图为

六.程序框图

七.程序

Code Segment

Aume CS:Code,DS:Code

Str_Addr

Output MACRO Str_Addr

push ax

lea

dx,Str_Addr

mov

ah,9

int

21h

pop

ax

ENDM

Output_Chr proc Near

push ax

mov ah,02h

int

21h

pop

ax

ret

Output_Chr endp

Output_CTLF endp

push

ax

push

dx

mov

ah,02h

mov

dl,0dh

int

21h

pop

dx

pop

ax

ret

Output_CTLF endp

Dec_ASCII Proc Near

push

dx

push

bx

push

di

mov

bx,10

lea

di,@@Temp_Save[6]

mov

BYTE ptr [di],’$’

dec

di

@@Divide: xor dx,dx

div

bx

or

dl,30h

mov

[di],dl

dec

di

test

ax,0ffffh

jnz

@@Divide

inc

di

push

di

pop

dx

mov

ah,9

int

21h

pop

di

pop

bx

pop

dx

ret

@@Temp_Save

db 7dup(?)

Dec_ASCII Endp

Yes_or_No proc Near

push dx

push ax

@@Input_Chr:mov

int

21h

mov dl,al

and

al,0dfh

cmp

al,’Y’

jnz

$+5

stc

jmp

$+7

cmp

al,’N’

jnz

@@Input_Chr

clc

mov

ah,2

int

21h

pop

ax

pop

dx

ret

Yes_or_No Endp

Input_Words Proc Near

xor cl,cl

lea bx,Buffer

mov di,bx

Output Prompt_Str1

@@Input_Words:cmp cl,255

jz

@@Termanate

mov

[bx,Recognise],No

mov

[bx,previous],di

mov

[bx,Next],Chrs+1

mov

di,bx

lea

dx,[bx,Next]

mov

ah,0ah

int

21h

mov

si,dx

inc

si

lodsb

test

al,al

jz

@@Termanate

inc

cl

xor

ah,ah

add si,ax

mov

[si],’$’

inc

si

mov

[bx.Next],si

mov

bx,si

call

Output_CTLF

jmp

@@Input_Words

@@Termanate:xmp

cl,10

Jb

@@Input_Words

mov

Words,cl

lea

si,Buffer

mov

bx,[bx,previous]

mov

[si.previous],bx

mov

[bx.Next],si

call

Output_CTLF

ret

Input_Words Endp

Test_Words Proc Near

call

Output_CTLF

call

Output_CTLF

lea

dx,[si.Next][2]

int

21h

call Output_CTLF

Output Prompt_Str2

@@Recognise:or [si.Recognise],Yes

call Yes_or_No

jc

@@Up_Down

and [si.Recognise],No

@@Up_Down:xor

ah,ah

Int 16h

cmp

ah,KBEsc

jnz

$+3

ret

cmp

ah,KBUp

jnz

@@Next_KBDown

mov

si,[si.previous]

jmp

Test_Words

@@Next_KBDown:cmp

ah,KBDown

jnz

@@Up_Down

mov

si,[si.Next]

jmp

Test_Words

Text_Words Endp

Statics_Words Proc Near

Mov

cl,Words

xor

ch,ch

lea

si,Buffer

mov

bx,[si.Next]

xor

ax,ax

@@L0: add

al,[si.Recognise]

mov

si,[si.Next]

loop

@@L0

mov

bl,100

mul

bl

exit...$’

div

Words Output Prompt_Str3 call

Dec_ASCII mov

dl,% call

Output_Chr ret Statics_Words Endp Chrs

equ 20 Yes equ 1 No equ

0 KBEsc

equKBUp

equ

48H KBDown equ

50H Words_Table Struc Recognise db ? Previous dw ? Next

dw ? Words_Table Ends Prompt_Str1

db ‘Please input words:’ Prompt_Str2

db ‘do you know it ?(y/n):$’

Prompt_Str3

db 7,13,10,13,10,’your answer rate is :$’

Prompt_Str4

db 7,13,10,13,10,’do you want to test again(y/n?$)’ Words

db 0 Pre_key

db 7,13,10,13,10,’The complated.Pre any key to Start

push

cs Pop

ds Push

cs Pop

es @@inputword:call

input_words Call

text_words Call

statics_words Output

prompt_str4 Call

yes_or_no Call

output_CTLF

Call

output_CTLF

Jc

@@inputword

Exit_proc: output pre_key

Mov

ah,1

Int

21h

Moc

ah,4ch

Int

21h

BUFFER

Code ENDS

END START

八.调试运行 九.仿真截图

十.设计心得体会

短短一周的单片机课设就这样结束了,在课设的这段时间里,对于我们组所做的课设题目有了新的体会,这不仅使我学习到了很多的知识,同时也加深了我对以前学过的知识有了新的理解与认识,我们的课设题目是单词记忆测试器程序设计,刚开始得到题目时感觉很茫然,不知道该从何处下手,最后在老师的帮助与指导下,一点点的有了头绪,从陌生到理解,再到熟悉,最后掌握。当然在此过程中,我们的组员也付出了很大的努力,每天在不断的查资料,找资料。

通过单片机的课程设计,不仅加深了我对以前所学单片机知识的理解,将理论能更好的应用到时间中去,而且也学会了如何去培养我们的创新精神,从而不 断的战胜自己,超越自己,创新,是要我们学会将理论很好的联系实际,从而不断的去开动自己的大脑,做自己力所能及的,做别人没想到的事,从而不断的战胜自己,战胜别人。

在设计过程中,我们遇到过许多失败的烤鸭不,但是我们都没有选择放弃,我们通过问老师,问同学,最终解决了一个一个看似难懂的问题,最终,做出了我们的课设,完成了老师交给的任务。

单词记忆

单词记忆方法讲解 1.引入,并介绍这种方法。以下是26个字母的编码,作为记单词中所使用的一种工具。 a 苹果 b 笔 c 月牙 d 笛子 e 鹅 f 斧g 鸽子 h椅子 i 蜡烛 j 挂勾 k唱歌l......

七下单词测试

Uint11.guitar 2.sing 3.swim 4.dance 5.draw 6.che 7.play che 8.speak9.speak English 10.join 11.club12.be good at 13.tell 14.story 15.write 16.show 17.or 18.talk......

记忆单词顺口溜

英语单词这样背一个driver(司机), 掉进river(小河), 生命over(结束)。 我家dad(爸爸),脾气bad(坏),让我sad(伤心难过)。 有只cat(猫咪),非常fat(肥胖),专吃rat(鼠)。 放下plate(......

单词记忆方法

我们洛基英语老师共总结18种单词记忆方法,每种方法后至少配有200个高频率、常见单词。希望能用我们的方法,来提高您的英语学习。下面简单介绍几种,供大家了解。1:加减法:利用已经......

单词谐音记忆

abdicate"我不dicate" -> v.让位,辞职,放弃 (dicatate:命令) abjure"我不做" -> v.发誓戒绝acolyte魔兽Undead农民 -> n.侍僧aroma"啊,肉麻" -> n.芳香,香气 (想想自己女......

《单片机单词记忆测试.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
单片机单词记忆测试
点击下载文档
相关专题 单片机单词记忆器 单片机 单词 记忆 单片机单词记忆器 单片机 单词 记忆
[其他范文]相关推荐
[其他范文]热门文章
下载全文