《基于单片机的单词记忆器设计》由会员分享,可在线阅读,更多相关《基于单片机的单词记忆器设计(32页珍藏版)》请在金锄头文库上搜索。
1、扬州大学能源与动力工程学院课程设计报告题 目: 单词记忆测试器程序设计 课 程: 单片机原理及应用课程设计 专 业: 电气工程及其自动化 班 级: 电气1102 姓 名: 学 号: 第 一 部 分任务书单片机原理及应用课程设计任务书一、课题名称单词记忆测试器程序设计二、课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。单片机原理及应用是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。单片机原理及应用课程设计的目的是
2、让学生在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高。为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。三、课程设计内容设计以89C51单片机和外围元器件构成的单片机应用系统,并完成相应的
3、软硬件调试。1. 系统方案设计:综合运用单片机课程中所学到的理论知识,学生根据所选课题的任务、要求和条件进行总体方案的设计。2. 硬件电路设计:对方案中以单片机为核心的电路进行设计计算,包括元器件的选择和电路参数的计算,并画出总体电路图。3. 软件设计:根据已设计出的软件系统框图,用汇编语言或C51编制出各功能模块的子程序和整机软件系统的主程序。4. 调试:在单片机EDA仿真软件环境Proteus下进行仿真设计并调试;或在单片机周立功实验箱上进行相关设计并调试。四、课程设计要求设计一个以单片机为核心的单词记忆测试器:1、实现单词的录入(为使程序具有可演示性,单词不少于10个)。2、单词用按键控
4、制依次在屏幕上显示,按键选择认识还是不认识,也可以直接进入下一个或者上一个。3、单词背完后给出正确率。五、进度安排序号内容天数1布置任务,熟悉课题要求0.52总体方案确定,硬件电路设计1.53软件编程1.54Proteus仿真,或在周立功实验箱上调试25总结,撰写课程设计报告1.5七、课程设计报告内容:总结设计过程,写出设计报告,设计报告具体内容要求如下:1课程设计的目和设计的内容。2课程设计的要求。3控制系统总框图及系统工作原理。4控制系统的硬件电路连接图,电路的原理。 5软件设计流程图及其说明。6电路设计,软件编程、调试中遇到的问题及分析解决方法。7实验结果及其分析。8体会。第 二 部 分
5、课程设计报告目 录 1 课题简介71.1 课题名称:71.2 课题目的72 单词记忆测试器方案设计72.1 设计思路72.2 系统流程图83 单词记忆测试器硬件电路设计93.1 系统整体框图93.2 AT89C51单片机引脚图103.3 单片机外围时钟电路图113.4 单片机外围复位电路图123.5 LCD显示器电路133.6 电路设计原理图164 单词记忆测试器软件编程设计164.1 程序设计思路164.2 键盘扫描164.2 检查状态是否忙174.3 写控制字184.4 LCD液晶初始化184.5 LCD显示函数195 实验与结果分析205.1 软件仿真调试205.2 实验用仿真软件205
6、.3 实验结果分析206 小结与体会22参 考 文 献23附 录241 课题简介 1.1 课题名称:单词记忆测试器程序设计1.2 课题目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。单片机原理及应用是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。单片机原理及应用课程设计的目的是让学生在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的
7、理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高。为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。本次课程设计,我的课题是单词记忆测试器程序设计,实用性强,针对性强。目的在于提高我本人以及团队的单片机应用能力和对单片机工作原理的理解分析能力。课题任务及要求设计一个以单片机为核心的单词记忆测试器:实现单词的录入(为使程序具有可
8、演示性,单词不少于10个)。单词用按键控制依次在屏幕上显示,按键选择认识还是不认识,也可以直接进入下一个或者上一个。单词背完后给出正确率。2 单词记忆测试器方案设计2.1 设计思路本题目实质上是一个具有一定复杂程度键盘扫描程序,可将单词存储在一个二维数组中,按“确定”键开始程序后,次显示0行的数组,即第一个单词。之后按下“向上”按键,显示上一行数组,即上一个单词; 按下“向下”按键,显示下一行数组,即下一个单词。当显示的行数超过9时,程序结束,并通过按“确认”的次数,计算出正确率。根据课题要求,使用C51进行编程,建立字符型数组存放单词,通过LCD1602显示所存放的单词。通过对简易键盘的扫描
9、确定按下了那个按键,对单词做以下四种处理:(1) 确认:表示对当前单词认识,使显示下一个单词,并置计数数组的对应位为1;(2) 不认识:表示对当前单词不认识,使显示下一个单词,并置计数数组的对应位为0;(3) 上一个:不对当前单词做任何处理,使显示上一个单词,计数数组对应位不变;(4) 下一个:不对当前单词做任何处理,使显示下一个单词,计数数组对应位不变;没显示一个单词,在LCD显示已经显示单词的认识个数,如“1/10”,当10个单词显示完毕,最后给出单词认识率,如“70%”。此时,按下任何按键,系统自动回到初始状态。 开始2.2 系统流程图单片机初始化单词指针指向下有一个任意按键按下LCD模
10、块初始化显示单词扫描按键有按键命令?NoYes执行按键命令下一个上一个不认识确认C不变C不变C置零C置一当前单词为第10个?NoYes显示正确率程序流程图说明:程序流程图是程序分析中最基本、最重要的分析技术,它是进行流程程序分析过程中最基本的工具。程序流程图是人们对解决问题的方法、思路或算法的一种描述。流程图的优点:(a)采用简单规范的符号,画法简单;(b)结构清晰,逻辑性强;(c)便于描述,容易理解。3 单词记忆测试器硬件电路设计3.1 系统整体框图中央处理模块选用AT89C51单片机系统组成,电路包括:AT89C51单片机、复位电路、时钟振荡电路。AT89C51单片机需在复位电路和时钟振荡
11、电路组成的最小系统下工作,单片机引脚图如图5,外围电路如图6和图7所示,时钟电路采用频率采用为12MHZ的晶振,C1、C2与晶振构成了外部振荡电路。复位电路采用电解电容与电阻串联,当系统上电时,由于电容充电,在RST端会产生一个高电平,高电平持续的时间由电容和电阻的值决定,当RESET信号为低电平时,系统为工作状态。 AT89C51具有ISP的功能,可以通过串行口直接将程序下载到单片机内。在下载程序状态下,RESET信号被拉高,系统进行程序下载,待程序下载完毕后,RESET重新拉低。用户可以通过切断电源进行手动复位,或者通过重新下载新的程序进行复位。单片机中央处理模块(晶振+复位电路模块)4个
12、键盘输入模块LCD1602液晶显示模块图4 系统硬件模块图3.2 AT89C51单片机引脚图 图5 AT89C51的引脚排列图VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,
13、P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和
14、控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信