基于C51单片机的单词记忆测试器

单词记忆测试器

  • 设计要求
  • 仿真图
  • 程序
  • 小论文(包括软件,硬件,系统流程图和程序流程图)

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图和设计思路等

7、下载地址

基于C51单片机的单词记忆测试器资源-CSDN文库

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫鸽咕咕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值