基于单片机的单词记忆测试器毕业设计

合集下载

基于单片机的计算器设计毕业设计+外文文献翻译

基于单片机的计算器设计毕业设计+外文文献翻译

摘要计算器一般是指“电子计算器”,能进行数学运算的手持机器,拥有集成电路芯片,结构简单,功能较弱,但由于它使用方便、操作简单、价格低廉,因而广泛运用于商业交易中,也是必备的办公用品。

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。

因此,单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。

计算器在人们的日常中是比较的常见的电子产品之一。

可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的计算器。

该设计系统是以AT89S52 为单片机,P1 口作为输入端,外接4X4 的键盘。

通过键盘扫描来对输入数的控制,在P0 口、P2 口接了驱动电路,用来保证LCD 的工作正常。

计算器将完成的功能有加,减,乘,除等功能。

关键词:计算器;单片机;LCD;矩阵键盘ABSTRACTCalculator generally refers to the electronic calculator, and the term is introduced to China by the Japanese. The calculator with the IC chip, simple structure, and weak function is able to perform mathematical operations on handheld machine. But it is easy using, simple operation and low price. So it is widely used in commercial transactions, and is also an essential office supplies.With the rapid development of science and technology in recent years, the application of SCM is the deepening and promote the traditional controlling detection technologies that are increasingly updated. In real-time detection and automatic control of microcomputer application system, the microcontroller is often used as a core component to use, but only the knowledge of the microcontroller is not enough, and should be based on the specific hardware architecture, hardware and software combination to make it perfect. So the application of SCM is more and more close to life, so using of single chip to achieve some electronic designs also become easy. In the people daily life the calculator is one of the common electronic products. But it is still in development, it will become more powerful calculator in the future. According to such idea, the design is that SCM design calculator. The design system is based on AT89S52 microcontroller, P0 port as input, external 4X4 keyboard. In P1, P2mouth is connected with the drive circuit to ensure the normal work of LED. The calculator will complete add, subtract, multiply, divide and other function.Keywords: calculator, MCU, LCD, Matrix keyboard前言计算器(calculator;counter)一般是指“电子计算器”,能进行数学运算的手持机器,拥有集成电路芯片,结构简单,功能较弱,但由于它使用方便、操作简单、价格低廉,因而广泛运用于商业交易中,也是必备的办公用品之一。

基于单片机的单词记忆器设计

基于单片机的单词记忆器设计

基于单片机的单词记忆器设计单片机单词记忆器设计可以通过以下步骤实现:1. 硬件设计:选择适合的单片机开发板或芯片,例如Arduino、Raspberry Pi等。

根据需求,设计并连接合适的输入和输出设备,如按钮、显示屏和喇叭等。

2. 单词库准备:将需要记忆的单词以文本文件的形式存储在单片机的存储器中,可以使用SD卡、SPI Flash或EEPROM等。

3.用户界面设计:使用按钮和显示屏实现用户与记忆器的交互界面。

例如,通过按下按钮来选择单词,并在显示屏上显示相应的单词和释义等信息。

4.单词显示和播放:根据用户选择的单词,在显示屏上显示该单词的释义,并通过喇叭或耳机输出单词的发音。

可以使用相应的语音合成库或芯片实现发音功能。

5.记忆训练模式:设计相应的记忆训练模式,例如根据顺序或随机选择单词进行测试和复习。

可以通过按下不同的按钮或在界面上选择相应的模式。

6.学习记录和进度统计:设计记忆器可以记录用户的学习历史和进度,例如已经学习的单词数量、学习时间等信息。

可以通过单片机的存储器或在外部存储设备中保存这些信息。

7.能源管理:考虑使用低功耗设计,例如增加电源管理模块,以延长记忆器的电池寿命。

添加睡眠模式,当记忆器长时间不使用时,自动进入低功耗状态。

8.软件运行控制:根据硬件设计、用户界面和功能要求,编写相应的单片机代码。

包括读取单词库文件、界面交互、单词显示和发音等功能的实现。

9.调试和测试:将代码烧录到单片机上,并通过调试和测试验证各个功能的正确性和稳定性。

根据测试结果进行适当的优化和改进。

最后,对于特定需求和设计约束,可能需要根据实际情况进行适当的调整和修改。

单词记忆测试器

单词记忆测试器

单词记忆测试器Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】摘要随着现代社会的发展,电子技术的进步我们有目共睹,计算机是现代电子技术的成果。

在现实生活中、科学研究中计算机起着越来越重要的作用。

微型计算机原理这门课程是对计算机进一步的了解与接触,微型计算机原理是一门培养计算机应用能力的技术基础课程。

本课程主要介绍了有关微型计算机的硬件基础知识、基本原理,掌握汇编语言的指令以及编程应用。

本课程设计是基于微机原理与接口技术的简单应用。

本设计以8086cpu为处理器,利用8255处理芯片的复位功能来实现对于单词的录入,读取。

以12854点阵液晶屏为显示器件,并使用5×6距阵键盘为输入设备,实现了功能全面的人机界面和高速的数据处理功能,,可储存10-20个英文单词,作为记忆测试用。

关键词:8086cpu;8255处理芯片;12854点阵液晶屏 5*6矩阵键盘目录1绪论 (1)基本内容 (1)用途及特点 (1)2方案选择及论证 (2)设计方案 (2) (2) (2)方案论证 (2)3硬件系统说明 (4)硬件设计思路 (4)中央处理模块 (4)显示模块的硬件部分介绍 (4)矩阵键盘 (7)系统构成框图 (8)芯片选择 (9)8086CPU内部结构及其各引脚 (9)8255A处理芯片 (10)电路原理图设计 (13)存储空间与I/O地址分配 (14)4 软件系统说明 (15)软件设计思路 (15) (15) (16) (18)矩阵键盘输入模块 (19)LCD12864显示模块 (19)显示字模码的提取模块 (20)源程序清单 (20)5所选芯片清单 (28)总结 (29)致谢 (30)参考文献 (31)1绪论随着现代社会的发展,电子技术的进步我们有目共睹,计算机是现代电子技术的成果。

在现实生活中、科学研究中计算机起着越来越重要的作用。

多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。

单片机数码管记忆系统实验报告

单片机数码管记忆系统实验报告

单⽚机数码管记忆系统实验报告电⼦信息⼯程专业单⽚机原理及应⽤课程设计班级电⼦信息⼯程学号0000000000姓名xxxxx指导教师xxxxxxxx⽇期00000000⼀、题⽬基于AT24C02的数码管显⽰记忆系统⼆、设计内容1、内容设计⼀个基于A T24C02芯⽚的单⽚机数码管显⽰记忆系统。

数码管和两个74HC573芯⽚进⾏连接,P2.6和P2.7管脚分别控制这两个573芯⽚;P2.0和P2.1管脚连接AT24C02芯⽚的SCL和SDA管脚,使⽤C51语⾔设计程序,当系统上电后,数码管从000~255每隔1s⼀次显⽰计数,当计数到255后,则从000重新显⽰计数,并且在系统断电后再次上电时,数码管依旧按断电前的数字继续进⾏计数,不会丢失数据,数字显⽰在X6~X8数码管上。

2、元件清单列表序号标号器件名称型号数量1 R1 电阻10K 112 C1.C2. 电容1nf 23 C3 电解电容1nf 14 XTAL 晶振12MHz 15 Switch 开关 26 U4 单⽚机89c52 17 U8、U12 芯⽚74HC573 28 U7 芯⽚A T24C02 19 LED 数码管4393H 2三、软件设计1、流程图否是是是否开始系统初始化按键是否按下按下按键计数器依次加⼀是否关闭电源记忆当前的数据值计数器继续依次加⼀判断计数器的值是否达到255计数器清零2、代码#include //包含头⽂件#define unint unsigned int //定义数据类型#define uchar unsigned charsbit SDA=P2^0; //定义SDAsbit SCL=P2^1; //定义SCLsbit WEI=P2^7; // 定义数码管的位选端sbit DUAN=P2^6; //定义数码管的段选端unint dat2; //定义全局变量,显⽰记录信息uchar Temp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极字段显⽰码void delay(){;;} //短延时声明void init() //初始化24C02{SDA=1;SCL=1;delay();}void start() //开始信号{SDA=1;delay();SCL=1;delay();SDA=0;delay();}void stop() //停⽌信号{SDA=0;delay();SCL=1;delay();SDA=1;delay();}void ack() //应答信号{uchar i;SCL=1;delay();while((SDA==1)&&(i<255))i++;SCL=0;delay();}void write_byte(uchar dat) //写⼀个字节{uchar i,temp;temp=dat;for(i=0;i<8;i++){SCL=0;delay();temp<<=1;SDA=CY;delay();SCL=1;delay();}SCL=0;delay();SDA=1;delay();}uchar read_byte() //读⼀个字节{unint i,j;SCL=0;delay();SDA=1;delay();for(i=0;i<8;i++) //循环8次读出⼀个字节数据{SCL=1;delay();j=(j<<1)|SDA;SCL=0;delay();}return j;}void write_addr(uchar address,uchar dat1){ //往指定地址写数据start(); //初始信号write_byte(0xa0); //写⼊芯⽚地址0XA0ack(); //应答信号write_byte(address); //写⼊芯⽚内部寄存器地址ADDRESS ack(); //应答信号write_byte(dat1); //写⼊数据ack(); //应答信号stop(); //停⽌信号}uchar read_addr(uchar address){ //从指定地址读数据uchar dat3;start(); //初始信号write_byte(0xa0); //写⼊芯⽚地址0XA0ack(); //应答信号write_byte(address); //写⼊芯⽚内部寄存器地址ack(); //应答信号start(); //初始信号write_byte(0xa1); //写⼊芯⽚地址0XA1ack(); //初始信号dat3=read_byte(); //读出数据stop(); //停⽌信号return dat3; //返回读出值}void init_T0() //初始设置定时器T0{TMOD=0x01; //定时器T0⼯作在⽅式1TCON=0x10; //启动T0TH0=(65536-461)/256; //FEH,11.059 2MHz,0.5ms TL0=(65536-461)%256; //33H,IE=0x82; //T0的中断允许}void wei_lock(uchar wei) //数码管位控制{WEI=1;P0=wei;WEI=0;}void duan_lock(uchar duan) //数码管段控制{DUAN=1;P0=Temp[duan];DUAN=0;}void display(uchar date) //数码管显⽰{unint i;uchar ge,shi,bai;ge=date%100%10;shi=date%100/10;bai=date/100;duan_lock(ge);wei_lock(0x7f);for(i=0;i<300;i++);duan_lock(shi);wei_lock(0xbf);for(i=0;i<300;i++);duan_lock(bai);wei_lock(0xdf);for(i=0;i<300;i++);wei_lock(0xff);}void timer0() interrupt 1 //T0的中断服务函数{unint i;if(i++>=2000) //1s时间到{i=0;if(dat2++>=255)dat2=0; //调整显⽰数字}TH0=(65536-461)/256; //重新给T0赋初值TL0=(65536-461)%256; }void main(){init_T0(); //T0初始化dat2=read_addr(0); //读24C02存储器数据while(1){init(); //存储器初始化write_addr(0,dat2); //指定地址写数据display(dat2); //读出数据并显⽰}}四、仿真分析1、原理图2、仿真结果图3、结果分析通过控制AT24C02芯⽚向指定的地址进⾏数据的读写操作,利⽤其记忆功能达到实验⽬的。

51单片机课程设计——单词记忆器的设计实现

51单片机课程设计——单词记忆器的设计实现
通过对4*7键盘的扫描,输出到P3口(每次只有一个低电平),读取P1口高四位的数据。通过switch case语句来判断键值,来查取字母表,送往显示。显示模块是通过re,rw,的置位来选择数据和指令的 输入,配合使能位E。8位数据数据控制引脚分时复用,从而实现显示。
字符的显示:用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示 屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1” 的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符 就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
三、系统程序流程图
CHAPTER
02
硬件电路设计
一、总电路系统
二、时钟脉冲和单片机复位模块
晶振是晶体振荡器的简称 在电气上它可以等效成一 个电容和一个电阻并联再串联一个电容的二端网络 电工学上这个网络有两个谐振点 以频率的高低分其 中较低的频率是串联谐振 较高的频率是并联谐振 由 于晶体自身的特性致使这两个频率的距离相当的接近 在这个极窄的频率范围内 晶振等效为一个电感 所以 只要晶振的两端并联上合适的电容它就会组成并联谐 振电路 这个并联谐振电路加到一个负反馈电路中就 可以构成正弦波振荡电路 由于晶振等效为电感的频 率范围很窄 所以即使其他元件的参数变化很大 这个 振荡器的频率也不会有很大的变化。
g
k
o
s
w
0111 d
h
l
p
t
x
CHAPTER
04
课设实现
模拟仿真软件测试

基于艾宾浩斯记忆曲线的单词记忆系统的设计与实现毕业论文

基于艾宾浩斯记忆曲线的单词记忆系统的设计与实现毕业论文

毕业设计中文题目基于艾宾浩斯记忆曲线的单词记忆系统的设计与实现英文题目Design and Implementation ofthe Word-Memory System Based onEbbinghaus Curve摘要摘要当前英语地位日趋重要,词汇量成为制约大部分人英语能力的障碍。

为帮助人们更加轻松、高效的完成单词记忆过程,本次项目将结合心理学原理设计开发一个基于B/S架构的单词记忆系统。

系统主要实现记忆单词的基本功能,如:基于艾宾浩斯记忆曲线的任务进程初始化、进程参数动态更新、记忆曲线每日修正、任务列表动态初始化、动态调整任务推送次序等核心功能。

与其他同类系统不同的是,该系统采用了心理学的研究成果,更符合人类的记忆活动,并能够根据用户的操作不断地更新用户的记忆曲线使之更符合用户个性化的记忆能力。

系统采用java编程,核心技术涉及:数据库编程、Strut2框架、轻量级数据交换格式JSON、ExtJS的Ajax数据代理模式及界面显示技术。

关键词:艾宾浩斯;单词记忆系统;记忆曲线更新ABSTRACTABSTRACTEnglish has being become more and more important, Limited vocabulary is a barrier to so many people. To help people remember words comfortable and more efficient. This project applied the psychological principles, design and implementation of system base-on B/S architecture. The system achieve basic function of remember words.The core business includes the following functions. Initialize a user forgetting curve base-on Ebbinghaus Curve.C urve’s parameters update dynamically by user operation. Refresh user curve. Generate a review plan by user forgetting curve.Unlike other wordmemory system, This system is base-on Ebbinghaus Curve so it can update C urve’s parameters dynamically.It means that it becomes more in accordance with human’s memory level. This system code in Java and it applied technique like: SQL programming, Struts2, JSON, Ajax, ExtJS.Key Words: Ebbinghaus Forgetting Curve;WordMemory system; Refresh user curve目录第1章开发背景 (1)1.1 目的和意义 (1)1.2 设计思想 (1)1.3 开发目标 (2)第2章使用技术说明 (3)2.1 Struts2 (3)2.2 SQL编程 (3)2.3 AJAX与ExtJS (3)2.4 JSON轻量级数据格式简介 (4)第3章系统需求分析 (5)3.1 引言 (5)3.1.1 项目背景 (5)3.1.2 假定和约束 (5)3.2 系统总体结构图 (5)3.3 系统功能模块分解 (6)3.3.1 用户模块 (6)3.3.2 词库模块 (6)3.3.3 记忆曲线模块 (7)3.3.4 复习计划模块 (7)3.3.5 复习模块及浏览模块 (8)第4章系统概要设计 (9)4.1 系统设计思想 (9)4.2 系统总体设计 (9)4.3 系统工程分离 (9)4.4 系统类结构设计 (10)4.4.1 数据模型 (10)4.4.2 DAO层 (10)4.4.3 业务逻辑层 (11)4.4.4 控制层 (11)4.5 数据库设计 (12)4.5.1 E-R模型 (12)4.5.2 物理模型 (14)第5章核心业务逻辑介绍 (17)5.1 核心业务逻辑层简述 (17)5.2 记忆曲线的相关业务逻辑详解 (20)5.2.1 记忆曲线初始化 (20)5.2.2 记忆曲线参数更新 (20)5.2.3 记忆曲线更新 (21)5.3单词复习的业务逻辑详解 (23)5.3.1 任务列表初始化 (23)5.3.2 复习单词的过程 (24)5.4 单词卡片式浏览时的业务逻辑详解 (26)5.4.1 文字说明 (26)5.4.2 选择这种方式的原因 (27)5.4.3方法的优点 (27)第6章系统实现 (28)6.1 核心模块实现效果及说明 (28)6.1.1 首页 (28)6.1.2 复习模块页面 (28)6.1.3 单词浏览页面 (29)6.1.4 数据分析 (30)6.2 新技术应用 (31)6.2.1 Extjs、Ajax、JSON (31)第7章系统测试 (34)7.1 测试对象和要点 (34)7.2 测试环境 (34)7.3 测试用例 (34)第8章结论与展望 (37)8.1 结论 (37)8.2 展望 (38)结束语 (39)致谢 (40)参考文献 (1)第1章开发背景1.1 目的和意义目前英语地位日趋重要,单词的词汇量是一个人英语能力及水平极大的重要体现, 而背单词依旧是困扰许多人的地方,原因如下:英语单词多而繁杂,面对整整一本的单词词典人们总是望而却步,不从何入手。

基于S3C44BOX的电子词典软件设计与实现DOC

基于S3C44BOX的电子词典软件设计与实现DOC

基于S3C44BOX的电子词典软件设计与实现(DOC)基于S3C44BOX的电子词典软件设计与实现1 概述此次基于ARM7的电子词典系统开发作业,由我们小组4人合作完成,其中我主要负责软件方面的开发,所做的方面有英译汉软件功能的实现,输入值软件识别功能的实现以及看门狗定时器的实现。

由于不怎么熟悉arm的开发,基本是看着书做,设计思路和方法、功能实现也都是书上怎么来,自己就怎么实现,希望傅老师谅解,这块的基础确实薄弱。

2 S3C44BOX处理器介绍2.1 S3C44BOX简介S3C44BOX微处理器片类集成ARM7TDMI核,采用0.25μm CMOS工艺制造,并在ARM7TDMI核的基础上集成了丰富的外围功能模块,便于低成本设计嵌入式系统应用系统。

片上集成的主要功能如下:➢在ARM7TDMI基础上增加至8KB的Cache。

➢外部扩充存储器控制器(FP/EDO/SDRAM控制,片选逻辑)。

➢LCD控制器(最大支持256色的DSTN),并带有一个LCD专用DMA通道。

➢2个通用DMA通道2个带外部请求引脚的DMA通道。

➢2个带有握手协议的UART,1个SIO。

➢1个多主的I2C总线控制器。

➢1个I2S总线控制器。

➢5个PWM定时器及1个内部定时器。

➢看门狗定时器。

➢71个通用可编程I/O口,8个外部中断源。

➢功耗控制模式:正常,低速,休眠和停止。

➢8路10位ADC。

➢具有日历功能的RTC(实时时钟)。

➢PLL时钟发生器。

2.2 S3C44BOX特点2.2.1 S3C44BOX体系结构➢S3C44BOX是基ARM7TDMI体系结构的SOC。

➢集成了手持设备和通用嵌入式系统应用的解决方案;➢16/32位RISC体系结构和ARM7TDMI处理器内核强大的指令体系;➢Thumb代码压缩机,最大化代码密度同时保持了32位指令的性能;➢基于JTAG的片上集成ICE调试支持解决方案;➢32×8位硬件乘法器;➢实现低功耗SAMBA II(三星ARM处理器嵌入式微控制器总线体系结构)的新型总线结构。

基于某单片机地单词记忆器设计

基于某单片机地单词记忆器设计

大学能源与动力工程学院课程设计报告题目:单词记忆测试器程序设计课程:单片机原理与应用课程设计专业:电气工程与其自动化班级:电气1102姓名:学号:第一部分任务书《单片机原理与应用》课程设计任务书一、课题名称单词记忆测试器程序设计二、课程设计目的课程设计是课程教学中的一项重要容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面结实地掌握课堂教学容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

《单片机原理与应用》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。

单片机原理与应用课程设计的目的是让学生在理论学习的根底上,通过完成一个涉与MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高。

为今后能够独立进展某些单片机应用系统的开发设计工作打下一定的根底。

通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的根本技能,逐步熟悉开展科学实践的程序和方法。

三、课程设计容设计以89C51单片机和外围元器件构成的单片机应用系统,并完成相应的软硬件调试。

1. 系统方案设计:综合运用单片机课程中所学到的理论知识,学生根据所选课题的任务、要求和条件进展总体方案的设计。

2. 硬件电路设计:对方案中以单片机为核心的电路进展设计计算,包括元器件的选择和电路参数的计算,并画出总体电路图。

3. 软件设计:根据已设计出的软件系统框图,用汇编语言或C51编制出各功能模块的子程序和整机软件系统的主程序。

4. 调试:在单片机EDA仿真软件环境Proteus下进展仿真设计并调试;或在单片机周立功实验箱上进展相关设计并调试。

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

基于单片机的单词记忆测试器毕业设计基于单片机的单词记忆测试器毕业设计基于单片机的单词记忆测试器基于单片机的单词记忆测试器毕业设计目录第一章单词记忆测试器的设计............................................................... .................... 2 硬件模块设计............................................................... ................................. 2 中央处理模块............................................................... ......................... 2 显示模块的硬件部分介绍............................................................... ....... 3 矩阵键盘............................................................... ............................... 7 电路原理图设计............................................................... ............................... 7 软件程序设计............................................................... .................................. 9 程序设计思路............................................................... ......................... 9 矩阵键盘的程序设计............................................................... ............... 9 LCD12864显示模块的驱动程序...........................................................10 显示字模码的提取............................................................... ............... 12 系统软件主程序结构及其函数............................................................... ........ 14 软件的仿真............................................................... .................................. 21 第二章结语............................................................... .............................................. 23 附录单片机单词记忆测试器C程序源代码基于单片机的单词记忆测试器摘要本论文的研究对象是基于单片机的单词记忆测试器的设计,此单词记忆测试器可以实现单词的输入并判断输入的单词是否正确,单词背完后给出正确率。

该单片机单词记忆测试器为在现实生活中有着广泛的应用,特别是对学习英语方面有很大的作用。

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

关键词:单片机单词记忆测试器AT89C5212864液晶屏第一章单词记忆测试器的设计硬件模块设计本单词记忆测试器系统硬件部分分为三个模块:中央处理模块、显示模块、键盘输入模块。

系统模型图如下:5×6矩阵键盘模块单片机中央处理模块LCD12864液晶显示模块图4 系统硬件模块图中央处理模块中央处理模块选用STC89C52单片机系统组成,电路包括:STC89C52单片机、复位电路、时钟振荡电路。

STC89C52单片机需在复位电路和时钟振荡电路组成的最小系统下工作,单片机引脚图如图5,外围电路如图6和图7所示,时钟电路采用频率采用为12MHZ 的晶振,C1、C2与晶振构成了外部振荡电路。

复位电路采用电解电容与电阻串联,当系统上电时,于电容充电,在RST 端会产生一个高电平,高电平持续的时间电容和电阻的值决定,当RESET信号为低电平时,系统为工作状态。

STC89C52具有ISP的功能,可以通过串行口直接将程序下载到单片机内。

在下载程序状态下,RESET信号被拉高,系统进行程序下载,待程序下载完毕后,RESET重新拉低。

用户可以通过切断电源进行手动复位,或者通过重新下载新的程序进行复位。

图 5 STC89C52的引脚排列图图6 时钟电路图图7复位电路图显示模块的硬件部分介绍显示模块采用单色点阵液晶屏12864模块,该模块在点阵液晶屏基础上集成了控制器kS0108,用户只需设计好接口程序,就可让模块显示出各种字符和图像。

通常我们所见到的LCD 模块,分为几部分:LCM、背光、PCB 板;而背光和PCB板部分其实是可有可无的,视具体的LCD 模块而定。

点阵的LCD 模块按照驱动控制器的集成方式,大可分为两种:COB 和COG;COG 其实就是将驱动控制IC 集成到了玻璃里面,这样的而后面的PCB 板上其实只是一些驱动控制IC 无法集成的电容电阻而已;COB 也就是把驱动控制IC 焊接在LCD 模块后面的PCB 板上。

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

12864 模块与各种MCU 均可进行方便简单的接口操作。

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

图8 12864 模块接口定义表显示RAM 区映射情况:对于LCD 模块,了解清楚驱动控制IC 当中的显存与LCD 玻璃上的点的对应关系是非常重要的,这是编写LCD 的驱动程序的基础。

12864 液晶显示模块的显示器上的显示点与驱动控制芯片中的显示缓存RAM是一一对应的;驱动控制芯片当中共有65X 132 个位的显示RAM 区。

而显示器的显示点阵大小为64X128 点,所以实际上在液晶显示模块中有用的显示RAM 区为64 X 128 个位;按byte 为单位划分,共分为8 个Page,每个Page 为8 行,而每一行为128 个位。

驱动控制芯片的显示RAM区每个byte的数据对应屏上的点的排列方式为:纵向排列,低位在上高位在下;如图8所示图8 驱动控制芯片的显示RAM区12864 液晶显示模块的显示屏上的每一个点都对应有控制器片内的显示缓存RAM中的一个位,显示屏上64X128 个点分别对应着显示RAM的8 个Page,每一个Page有128 个byte的空间对应。

因此可知显示RAM区中的一个Page空间对应8 行的点,而该Page 中的一个byte数据则对应一列。

图9 为显示RAM区与显示屏的点映射图:图9 显示RAM区与显示屏的点映射图行、列地址:用户如要点亮LCD 屏上的某一个点时,实际上就是对该点所对应的显示RAM 区中的某一个位进行置1 操作;所以就要确定该点所处的行地址、列地址。

从上图中可以看出,MzL02-12864 液晶显示模组的行地址实际上就是Page 的信息,每一个Page 应有8 行;而列地址则表示该点的横坐标,在屏上为从左到右排列,Page 中的一个Byte 对应的是一列,达128 列。

可以根据这样的关系在程序中控制LCD 显示屏的显示。

注意:MzL02-12864 的显示缓存RAM 区实际上比模块上的显示器所对应的RAM 区要大;而LCD 模块具体设置Page时,屏上的位置与驱动控制IC 当中的哪里的RAM区对应,还与驱动控制IC 与屏的连接有关;所以,实际在使用时,请参考所提供的范例设置。

矩阵键盘要测试记忆的单词,就要有字母的输入接口,本接口设计为5×6矩阵键盘输入,接入单片机的P1口和P3口进行键盘扫描。

最大程度地提高了单片机IO口的利用率,设计共30个接键,包括了26个英文字母以及四个功能键:“确定”、“不认识”、“上一个”、“下一个”。

矩阵键盘如图10,30个轻触按键按照6行5列排列,连接到P1、P3端口。

其扫描的原理是:先将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

然后再将行线所接的单片机的I/O口作为输入端,而列线所接的I/O口则作为输出,以相同的方法读一次端口,程序中就可识别是啊个坐标的按键按下了。

图10 5×6矩阵键盘电路原理图设计电路原理图设计使用集原理图设计、PCB设计、电路仿真功能为一体的PROTUES软件。

以该软件设计的电路原理图图11。

图11 单片机单词记忆测试器电路原理图电路设计参数:C1 C2 为20-30PF 瓷片电容,与12M晶振组成时钟振荡电路;复位电路使用R1为10K电阻、C3为10uF电解电容;12864液晶模块与单片机P0口连接,因P0口为真正的三态门结构,因些作数据总线使用时要外接上拉电阻,可使用10K的排阻;按键如图的行相连,列相连的矩阵接法连入单片机IO口;电路的供电为5V直流电源;D1为输入错误的状态指示灯,加220欧限流电阻连到VCC,因为STC89C51单片机IO的电流灌入能力要强于电流输出能力,因此一般使IO为低电平时点亮LED灯。

软件程序设计程序设计思路因本系统为模块化设计,为方便软件编写和移植,程序设计采用C 语言,程序流程图如下:矩阵键盘的程序设计单片机初始化矩阵键盘采用5×6 列与行扫描法,P1口依次接键盘的每一行,而P3口依次接键盘的每一列,程序开始先令P1全为高电平,P3口全为低电平,这样一LCD12864初始化旦矩阵键盘中有一个键按下时,就会在某一行中出现低电平,而某一列中出现高电平,程序先读P1口,以检测到有低电平来确定行。

相关文档
最新文档