单片机课程设计说明书4x4键盘设计_第1页
单片机课程设计说明书4x4键盘设计_第2页
单片机课程设计说明书4x4键盘设计_第3页
单片机课程设计说明书4x4键盘设计_第4页
单片机课程设计说明书4x4键盘设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计 说 明 书课程名称:单片机应用基础 设计题目:模拟键盘输入及显示系统设计专 业 :机械设计制造及其自动化指导教师 : 设 计 者 : 学 号 : 目 录第一章 课程设计的目的和要求 11.1课程设计的目的和要求 11.2课程设计预备知识 11.3课题设计的任务 3第二章 总体设计 42.1明确任务 42.2硬件和软件功能的划分 4第三章 硬件设计3.1系统扩展 43.2功能接口 53.3系统的组成及统一编址 53.4 80C51单片机引脚图及引脚功能介绍 53.5键盘设计 63.6 4位7段码数码管的连接 73.7、最后设计的系统工作原理图如下 7第四章 软件设计 84.1系统

2、定义 84.2软件结构设计 94.3绘制程序流程框图 94.4、编写程序 12第五章 系统调试和仿真 12第六章 结束语 12参考文献 13第一章、课程设计目的和要求1.1 课程设计目的和要求单片机应用基础课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。1.2课程设计预备知识总的来说,设计者要具备MCS-51单片机的有关硬件及软

3、件知识,汇编语言编程或者C语言编程的有关知识,IO接口的有关知识,WAVE6000集成调试软件的应用,能利用PROTEUS软件绘制系统工作原理,一定的设计经验等等。本次设计所要掌握的一些基本知识如下:(1)键盘工作原理键盘是由若干按键组成的开关矩阵,是嵌入式控制系统的一种输入部件。键盘分两种:一种是独立式按键,另一种是矩阵式按键。如图所示。独立式按键用的比较少,可以直接与单片机的P1口某一位进行连接,通过判断这一位的状态知道是否有键输入。在应用中通常需要数量较多的按键,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个

4、按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 独立式键盘和4*4矩阵式键盘矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,行线通过电阻接正电源,并将列线所接的单片机的I/O口作为输出端,而行线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状

5、态就可得知是否有键按下了。(2)LED显示接口及原理LED是发光二极管的英文缩写,LED显示器是由发光二极管构成的,它在单片机中的应用非常普遍。通常所说的LED显示器由7个发光二极管组成,其排列形状如图所示。此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED显示中的发光二极管共有两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地

6、。这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。控制数码管驱动级的控制电路有静态式和动态式两类:静态驱动:它是指每个数码管都要用一个译码器译码驱动。动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,就是所谓的分时显示,显示所需要的硬件电路可分时复用。 共阴极 共阳极 符号与引脚 如表1为共阳极与共阴极的代码表表1 十六进制数字形代码表字型共阳极代码共阴极代码字型共阳极代码共阴极代码0C0H3FH990H6FH1F

7、9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH(3) 键盘输入与LED显示设计中通过键盘输入到单片机中,由程序控制找到输入点,计算键码,调用显示模块,把输入的数值通过LED显示器显示出来。(1) 判断键盘中有无键按下: 将全部行线P1.0到P1.3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 (2) 判断闭合键

8、所在的位置: 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:将行线置为低电平,即在置行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。检测的方法是P1.4-P1.7输出全“1”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“0”,则无键闭合,否则有键闭合。 (3) 去除键抖动:当检测到有键按下后,延时一段时间再做下一步的检测判断。 (4) 识别:当确定键按下时,通过软件计算键码找到相对位置的数据调用显示模块把数字或字母显示出来或者实现其他功能。1.3、课题设计的任务根

9、据给定的任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。有关参数选择要求符合国家标准。具体设计内容如下:1. 模拟键盘输入及显示模块。2. 设计系统工作原理图,利用PROTEUS软件绘制系统工作原理图;3. 系统控制程序设计、调试及实现:(1)根据要求,写出完整的程序流程图;(2)将设计程序输入、汇编,排除语法错误,生成*.OBJ文件;(3)按所设计的原理图,在实验平台上连线,检查无误;(4)将目标文件传送到实验系统,执行并运行调试该程序,最终实现控制要求4. 写出设计说明书,3000字左右第二章、模拟键盘输入及显示模块

10、的总体设计2.1、明确任务根据课题的要求确定所要设计的任务,分析后确定设计一个4x4矩阵键盘的识别和7段数码管动态显示综合的系统,控制4个7段数码管动态扫描显示4x4矩阵键盘上按下的按键所对应的值,第一次按下后,每按下一次键数码管上的数字左移一位;另外设一个功能键,当按下此功能键后数码管上将显示设计者的学号,先显示2009一段时间,然后显示6230一段时间,之后将显示屏清零,等待下一次的输入。2.2、硬件和软件功能的划分系统的硬件配置和软件设计是紧密地联系在一起的,且硬件和软件具有一定的互换性,硬件完成一些功能,可以提高工作速度,但降低了系统的柔性。若用软件替代某些硬件功能,可增加系统的柔性,

11、但降低系统的工作速度。因此,总体设计时,应综合考虑,合理划分硬件和软件的功能。经过分析后,确定4x4矩阵键盘用于单片机系统的输入,4个数码管用于显示按键所对应的值及显示设计者的学号,而单片机则用于逻辑控制和程序的执行,程序则是为实现所设计的功能而编写。经过论证,该方案能够实现课程设计所要求的任务及预期的目标。第三章、模拟键盘输入及显示模块的硬件设计3.1、系统扩展实验仿真系统的CPU是8031,因此,必须首先组成最小系统,即由8031、地址锁存器和程序存储器组成。3.2、功能接口所谓接口是CPU与外界的连接部件,以实现CPU与外部设备的最佳耦合和匹配。包括键盘、显示、A/D转换、D/A转换和打

12、印机等。根据课题要求选用外设,并选用合适的外围接口芯片。3.3、系统的组成及统一编址I/O端口是CPU与I/O设备直接通信的地址。单片机系统对I/O端口是采用端口地址与存储器地址统一编址的方式,即存储器映射方式。而编址技术又分线选法和译码法。设计者在设计硬件时,应自行编址。3.4、 80C51单片机引脚图及引脚功能介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。80C51单片机引脚图如下:3.4. 电源: VCC - 芯片电源,接+5V; VSS - 接地端;3.4. 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。3.4. 控制线:控制线共有4根, AL

13、E/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。3.4. I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。另外,

14、P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。3.5、键盘设计如下:80C51单片机的并行口P2接4×4矩阵键盘,以P1.0P1.3接键盘列线,以P1.4P1.7作行线;实际电路图连接如下图所示。3.6 、4位7段码数码管的连接P0口输出按键信息,即段码,与数码管的a、b、c、d、e、f、g、dp相连,并接上+5v电源和上拉电阻;P1口低四位作为位控,与数码管的1、2、3、4口相连,在数码管上显示每个按键的“0E”键值。3.7、最后设计的系统工作原理图如下:第四章、软件设计一个优秀的的系统的软件应具有下列特点:软件结构清晰、简捷、流程合理。各功能程序实现模块化、

15、子程序化。这样,既便于调试、链接,又方便移植、修改。程序存储区、数据存储区分配合理。运行状态实现标志化管理。各个功能程序运行状态、运行结果以及运行要求都设置状态标志(一般用位寻址区的位)以便查询,程序的转移、运行、控制都可以通过状态标志条件来控制。实现全面软件抗干扰设计。(由于条件有限,课程设计中不考虑。)软件设计一般步骤如下:4.1系统定义系统定义是在软件设计前,把软件承担的任务明确出来。合理定义和分配存储空间、定义标志位。资源分配的主要工作是RAM资源的分配。片外RAM的容量要比片内RAM大,通常用来存放批量大的数据,如采样数据系列。主要考虑片内RAM的分配。系统上电复位时,自动定义0区为

16、工作寄存器,1区为堆栈,并向2区、3区延伸。如果系统前台程序要用1区、2区作为工作寄存器,就应将堆栈空间重新规划,常将堆栈安放在片内RAM的高端,如60H7FH。在工作寄存器的8个单元中,R0和R1具有指针功能,是编程的重要角色,应充分发挥其作用,尽量避免用来做其他事情。20H2FH这16个字节具有位寻址功能,用来存放各种软件标志、逻辑变量、位输入信息、位输出信息副本、状态变量、逻辑运算的中间结果等。当这些项目全部安排好后,保留一两个字节备用,剩下的单元才可改作其他用途。30H7FH为一般通用寄存器,只能存入整字节信息。通常用来存放各种参数、指针、中间结果,或用作数据缓冲区。RAM资源规划好后

17、,应列出一张RAM资源的详细分配清单,作为编程依据。为了增加可读性,便于修改,一般对分配的存储单元取名。4.2、 软件结构设计软件设计有两种方法:一种是自上而下,逐步细化;另一种是自下而上,先设计出每一个具体的模块(子程序),然后再慢慢扩大,最后组成一个系统。本次软件设计采用两种方法结合的方法,主程序采用自上而下的方法,将它分成若干个功能相对独立的较小的程序模块。然后再采用自下而上的方法,设计一个模块,调试一个模块,加入主程序调试;再进行下一个模块设计和调试。设计思路如下:先运行主程序,首先是一些变量的定义及初始化,然后定义四字节的显示存储区并将其初始化,接着执行键盘子程序,键盘子程序的第一步

18、是执行键盘查询程序,此程序为系统的待机状态,即为系统不断循环执行键盘检查程序,来检查是否有键按下,在每一次的键盘检查时,都要执行一次显示子程序,以保证数码管处于亮的状态,如果有键按下,则计算键码并将键码存到显示存储区中,之后返回到键盘子程序。4.3、 绘制程序流程框图4.3.1主程序的流程框图如下开 始各变量及显示缓冲区初始化数码管显示键盘检查,是否有键按下?NO执行显示学号子程序读入键值YES是否等于15?YESNO缓存单元依次右移一位,最后一位存入此次键值4.3.2键盘检查子程序流程框图开 始初始化地址参数载入行扫描指针列扫描信号移位读入行信号计算键值查得键码表该列有值输入?等待按键释放4

19、列扫描完了?返 回4.4、编写程序在确保程序框图的正确性的前提下,才能编写程序。在编程时必须注意以下几点:一定要严格根据框图编程。一定要写注释。通过编译后,只表明语法没错,并不表明逻辑正确,一定要用不同的数据对模块进行测试。完全符合预定结果,方可确认通过。将该模块加到主控模块进行测试,如果与预定结果不符,必须查找原因,进行修改、调试。必须注意随时保存调试通过的副本。以便当新程序出现故障时,随时可返回前面的正确点重新开始。第五章、系统调试和仿真 编写程序后,将程序载入WAVE6000集成调试软件进行调试,结果正常;利用PROTEUS软件绘制系统工作原理后,将程序载入,然后进行模拟仿真,系统一起运行正常:按下键后系统能够正常显示,输入多位数值检测能够实现移位;而且当按下16号键时,系统显示学号正常,这证明此次设计结果达到了预期结果。第六章、结束语课程设计是培养学生运用综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实际能力的重要环节,是对我们实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中无处在。作为机电专业的学生来说,单片机的开发技术十分重要。我做的题目是基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论