单词记忆测试器
- 设计要求
- 仿真图
- 程序
- 小论文(包括软件,硬件,系统流程图和程序流程图)
1、设计要求
以单片机为核心,设计一个单词记忆测试器,实现单词的录入 (为使程序具有可演示性,单词不少于10个),单词用按键控制依次在屏幕上显示,按键选择认识与否,也可以直接进入下一个或者上一个,单词背完后给出正确率。
2、仿真图
3、功能介绍
Y,N按键分别代表当前单词会和不会,通过判断该按键来算出最后的正确率,UP和DOWN按键则代表切换单词,下一个和上一个,如果在不按Y,N按键而直接按下下一个按键则默认代表不会,且每当Y,N按键按下时,LED将会闪烁来代表按键确认按下。此次设计总共测试了10个单词 当LCD显示最后一个单词时,此时再按下下一个按键则单词将从第一个开始显示。
4、代码程序
#include <REG52.H>
#include <INTRINS.H>
#include "lcd.h"
#include "public.h"
sbit LED = P2^3 ; //LEDÒý½Å
sbit k3=P3^0; //ÉÏÒ»¸ö
sbit k4=P3^1; //ÏÂÒ»¸ö
unsigned char word_buf [][10] ={"plastic","steal","phase","year","trim","daily","render","typist","dump","ripe","accuracy:"};
unsigned char YES = 0;
unsigned char NO = 0;
unsigned char word_num=0; //µ¥´ÊÁбíÐòÁÐ
unsigned char acc[1];
/*************************************************************************************************/
void delayms(unsigned int xms);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void count_detection();
/*************************************************************************************************/
void EX0Init(void) //ÍⲿÖжÏ0³õʼ»¯ »á
{
IT0 = 1; //ÉèÖÃÍⲿÖжÏ0´¥·¢·½Ê½ÎªÌø±äÑØ´¥·¢
EX0 = 1; //¿ªÆôÍⲿÖжÏ0
}
void EX1Init(void)//ÍⲿÖжÏ1³õʼ»¯ ²»»á
{
IT1 = 1; //ÉèÖÃÍⲿÖжÏ1´¥·¢·½Ê½ÎªÌø±äÑØ´¥·¢
EX1 = 1; //¿ªÆôÍⲿÖжÏ1
}
void int0() interrupt 0 //ÍⲿÖжϺ¯Êý0
{
LED=0;
YES++;
if(YES>10)
YES=10;
delayms(400);
}
void int1() interrupt 2 //ÍⲿÖжϺ¯Êý1
{
LED=0;
YES--;
if(YES<=0)
YES=0;
delayms(400);
}
void origin_show()
{
LCD_Dispstring(2,0,"H.I.T. CHINA");
show_word_buf(3,word_num);
}
void count_detection()
{
if(word_num==10)
{
DisplayOneChar(12, 1, acc[0]);
LCD_Dispstring(13,1,"0%");
YES=0;
}
else
{
LCD_Dispstring(13,1," ");
}
}
void main()
{
EA=1; //¿ªÆô×ÜÖжÏ
EX0Init(); //ÍⲿÖжÏ0³õʼ»¯
EX1Init(); //ÍⲿÖжÏ1³õʼ»¯
LCD_Init();
while(1)
{
LED=1;
origin_show();
key_scan();
count_detection();
}
}
5、仿真效果演示
按键按下UP后,LCD1602显示屏切换上一个单词,按键按下down后,LCD1602显示屏切换下一个单词。
当LCD1602显示屏显示当前单词时,可以按下Y或者N按键来选择是否认识该单词,且每当Y或N按键按下时,LED会闪烁提示代表按键确定按下。 根据Y和N按键的次数来判断正确率,如果不按下Y,N按键而直接按下DOWN按键切换下一个单词时,则单片机默认该单词不认识。
该单词记忆检测系统一共录入了10个单词,当10个单词全部演示结束后,屏幕上将会统计正确率,正确率的统计和Y,N按键有关。
6、文档介绍
该文档包括了程序流程图,系统总体框图,模块AD图和设计思路等