好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机课程设计单词记忆测试器设计报告.doc

31页
  • 卖家[上传人]:壹****1
  • 文档编号:550249983
  • 上传时间:2023-05-12
  • 文档格式:DOC
  • 文档大小:1.81MB
  • / 31 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单片机原理与接口技术课程设计题目:单词记忆测试器程序设计__________ 院 系:工学院电气与电子工程系 专 业:自动化________________ 班 级:自动化1501___________姓 名:王黎庆________________ 学 号:201502021031__________ 指导教师:董云云________________ 烟台南山学院教务处二〇一七年九月 烟台南山学院单片机原理与接口技术课程设计 第Ⅰ页单词记忆测试器程序设计摘 要研究对象是基于单片机的单词记忆测试器的设计,此单词记忆测试器可以实现单词的输入并判断输入的单词是否正确,单词背完后给出正确率该单片机单词记忆测试器为在现实生活中有着广泛的应用,特别是对学习英语方面有很大的作用 本设计以STC89C52单片机为处理器,以12854点阵液晶屏为显示器件,并使用5×6矩阵键盘为输入设备,实现了功能全面的人机界面和高速的数据处理功能,利用单片机片上FLASH ROM,可储存10-20个英文单词和汉字,作为记忆测试用。

      关键词 单片机 单词记忆测试器 STC12C5A60S2 12864液晶屏 烟台南山学院单片机原理与接口技术课程设计 目录第1章 绪论 11.1 课题名称 11.2 课程设计目的 11.3 课程设计内容 11.4 课程设计要求 2第2章 单词记忆测试器方案设计 3第3章 硬件电路设计 43.1 硬件模块设计 43.1.1 中央处理模块 43.1.2 显示模块的硬件部分介绍 63.1.3 矩阵键盘 103.2 电路原理图设计 10第4 章 软件设计 134.1 程序设计思路 134.2 矩阵键盘的程序设计 144.3 LCD12864显示模块的驱动程序 154.4 显示字模码的提取 17第5章 系统软件主程序结构及其函数 19结论 20致谢 21参考文献 22烟台南山学院单片机原理与接口技术课程设计 第28页第1章 绪论1.1 课题名称单词记忆测试器程序设计1.2 课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

      《单片机原理及应用》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位单片机原理及应用课程设计的目的是让学生在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法1.3 课程设计内容设计以89C51单片机和外围元器件构成的单片机应用系统,并完成相应的软硬件调试1. 系统方案设计:综合运用单片机课程中所学到的理论知识,学生根据所选课题的任务、要求和条件进行总体方案的设计2. 硬件电路设计:对方案中以单片机为核心的电路进行设计计算,包括元器件的选择和电路参数的计算,并画出总体电路图3. 软件设计:根据已设计出的软件系统框图,用汇编语言或C51编制出各功能模块的子程序和整机软件系统的主程序。

      4. 调试:在单片机EDA仿真软件环境Proteus下进行仿真设计并调试;或在单片机周立功实验箱上进行相关设计并调试1.4 课程设计要求设计一个以单片机为核心的单词记忆测试器:1、实现单词的录入(为使程序具有可演示性,单词不少于10个)2、单词用按键控制依次在屏幕上显示,按键选择认识还是不认识,也可以直接进入下一个或者上一个3、单词背完后给出正确率第2章 单词记忆测试器方案设计2.1 设计思路本题目实质上是一个具有一定复杂程度键盘扫描程序,可将单词存储在一个二维数组中,按“确定”键开始程序后,次显示0行的数组,即第一个单词之后按下“向上”按键,显示上一行数组,即上一个单词; 按下“向下”按键,显示下一行数组,即下一个单词当显示的行数超过9时,程序结束,并通过按“确认”的次数,计算出正确率根据课题要求,使用C51进行编程,建立字符型数组存放单词,通过LCD1602显示所存放的单词通过对简易键盘的扫描确定按下了那个按键,对单词做以下四种处理:(1)确认:表示对当前单词认识,使显示下一个单词,并置计数数组的对应位为1;(2)不认识:表示对当前单词不认识,使显示下一个单词,并置计数数组的对应位为0;(3)上一个:不对当前单词做任何处理,使显示上一个单词,计数数组对应位不变;(4)下一个:不对当前单词做任何处理,使显示下一个单词,计数数组对应位不变;没显示一个单词,在LCD显示已经显示单词的认识个数,如“1/10”,当10个单词显示完毕,最后给出单词认识率,如“70%”。

      此时,按下任何按键,系统自动回到初始状态 程序流程图是程序分析中最基本、最重要的分析技术,它是进行流程程序分析过程中最基本的工具程序流程图是人们对解决问题的方法、思路或算法的一种描述流程图的优点:(a)采用简单规范的符号,画法简单;(b)结构清晰,逻辑性强;(c)便于描述,容易理解第3章 硬件电路设计3.1 硬件模块设计 本单词记忆测试器系统硬件部分分为三个模块:中央处理模块、显示模块、键盘输入模块系统模型如图3.1所示:单片机中央处理模块5×6矩阵键盘模块LCD12864液晶显示模块图3.1 系统硬件模块图3.1.1中央处理模块中央处理模块选用STC12C5A60S2单片机系统组成,电路包括:STC12C5A60S2单片机、复位电路、时钟振荡电路STC12C5A60S2单片机需在复位电路和时钟振荡电路组成的最小系统下工作,单片机引脚图如图3.2所示,外围电路如图3.3所示,时钟电路采用频率采用为12MHZ的晶振,C1、C2与晶振构成了外部振荡电路复位电路采用电解电容与电阻串联,当系统上电时,由于电容充电,在RST端会产生一个高电平,高电平持续的时间由电容和电阻的值决定,当RESET信号为低电平时,系统为工作状态。

      STC12C5A60S2具有ISP的功能,可以通过串行口直接将程序下载到单片机内在下载程序状态下,RESET信号被拉高,系统进行程序下载,待程序下载完毕后,RESET重新拉低用户可以通过切断电源进行手动复位,或者通下载新的程序进行复位图3.2 STC12C5A60S2的引脚排列图图3.3复位电路图3.1.2 显示模块的硬件部分介绍显示模块采用单色点阵液晶屏12864模块,该模块在点阵液晶屏基础上集成了控制器ST7920,用户只需设计好接口程序,就可让模块显示出各种字符和图像通常我们所见到的 LCD 模块,分为几部分:LCM(玻璃)、背光、PCB 板;而背光和PCB板部分其实是可有可无的,视具体的LCD 模块而定点阵的LCD 模块按照驱动控制器的集成方式,大可分为两种:COB 和COG;COG 其实就是将驱动控制IC 集成到了玻璃里面,这样的而后面的PCB 板上其实只是一些驱动控制IC 无法集成的电容电阻而已;COB 也就是把驱动控制IC 焊接在LCD 模块后面的PCB 板上12864 为一块128*64 点阵的LCD 显示模块,模块上的 LCM 采用COG 技术将控制(包括显存)、驱动器集成在LCM 的玻璃上,接口简单、操作方便;为方便用户的使用,在LCM 的基础上设计了12864 模块,将模块所必需的外围电容电阻集成到模块上,并引出多种形式的引线接口方便用户使用。

      12864 模块与各种MCU 均可进行方便简单的接口操作LCD 的接口:一般来说,LCD 模块(带有驱动控制器)的接口多为总线的接口,不是6800 就是8080,或者是串行SPI(及类SPI 时序);除了这些总线的端口外,有的LCD 模块还引出了一些功能性的端口,如偏压调节输入、负压输出等表3.1 12864 模块接口定义表显示 RAM 区映射情况:对于 LCD 模块,了解清楚驱动控制IC 当中的显存与LCD 玻璃上的点的对应关系是非常重要的,这是编写LCD 的驱动程序的基础12864 液晶显示模块的显示器(玻璃)上的显示点与驱动控制芯片中的显示缓存RAM是一一对应的;驱动控制芯片当中共有65(8 Page x 8 bit+1)X 132 个位的显示RAM 区而显示器的显示点阵大小为64*128 点,所以实际上在液晶显示模块中有用的显示RAM 区为64 X 128 个位;按byte 为单位划分,共分为8 个Page,每个Page 为8 行,而每一行为128 个位(即128 列)驱动控制芯片的显示RAM区每个byte的数据对应屏上的点的排列方式为:纵向排列,低位在上高位在下;如图3.4所示图3.4驱动控制芯片的显示RAM区12864 液晶显示模块的显示屏上的每一个点都对应有控制器片内的显示缓RAM中的一个位,显示屏上64*128 个点分别对应着显示RAM的8 个Page,每一Page有128 个byte的空间对应。

      因此可知显示RAM区中的一个Page空间对应8 行的点,而该Page中的一个byte数据则对应一列(8 个点)图3.6为显示RAM区与显示屏的点映射图:表3.6 显示RAM区与显示屏的点映射图行、列地址:用户如要点亮 LCD 屏上的某一个点时,实际上就是对该点所对应的显示RAM 区中的某一个位进行置1 操作;所以就要确定该点所处的行地址、列地址从上图中可以看出,MzL02-12864 液晶显示模组的行地址实际上就是Page 的信息,每一个Page 应有8 行;而列地址则表示该点的横坐标,在屏上为从左到右排列,Page 中的一个Byte 对应的是一列(8行,即8 个点),达128 列可以根据这样的关系在程序中控制 LCD 显示屏的显示注意:MzL02-12864 的显示缓存RAM 区实际上比模块上的显示器所对应的RAM 区要大;而LCD 模块具体设置Page(有时也称页)时,屏上的位置与驱动控制IC 当中的哪里的RAM区对应,还与驱动控制IC 与屏的连接有关;所以,实际在使用时,请参考所提供的范例设置(主要是设置COM 反向扫描、SEG 设置为正向扫描,以此设置方法,则每个Page 中的前三列以及最后一列是不对应在LCD 屏幕上的)。

      3.1.3 矩阵键盘 要测试记忆的单词,就要有字母的输入接口,本接口设计为5×6矩阵键盘输入,接入单片机的。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.