单片机课程设计说明书4x4键盘设计
- 格式:doc
- 大小:233.50 KB
- 文档页数:15
1
课 程 设 计 说 明 书
课程名称:单片机应用基础
设计题目:模拟键盘输入及显示系统设计
专 业 :机械设计制造及其自动化
指导教师 :
设 计 者 :
学 号 :
2
目 录
第一章 课程设计的目的和要求 …………………………………………………………………1
1.1课程设计的目的和要求 ………………………………………………………………1
1.2课程设计预备知识 …………………………………………………………………1
1.3课题设计的任务 ……………………………………………………………………3
第二章 总体设计 ……………………………………………………………………………… 4
2.1明确任务………………………………………………………………………………… 4
2.2硬件和软件功能的划分………………………………………………………………… 4
第三章 硬件设计
3.1系统扩展……………………………………………………………………………… …4
3.2功能接口…………………………………………………………………………… … 5
3.3系统的组成及统一编址……………………………………………………………… …5
3.4 80C51单片机引脚图及引脚功能介绍…………………………………………… … 5
3.5键盘设计…………………………………………………………………………… … 6
3.6 4位7段码数码管的连接………………………………………………………… …7
3.7、最后设计的系统工作原理图如下…………………………………………… …7
第四章 软件设计……………………………………………………… ………………………8
4.1系统定义…………………………………………………………………………… … 8
4.2软件结构设计……………………………………………………… ………………… 9
4.3绘制程序流程框图………………………………………………………………… … 9
4.4、编写程序……………………………………………………… …………………… 12
第五章 系统调试和仿真……………………………………………………… …………… 12
第六章 结束语……………………………………………………… ……………………… 12
参考文献 ……………………………………………………… ……………………………… 13
3 第一章、课程设计目的和要求
1.1 课程设计目的和要求
《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。
1.2课程设计预备知识
总的来说,设计者要具备MCS-51单片机的有关硬件及软件知识,汇编语言编程或者C语言编程的有关知识,I\O接口的有关知识,WAVE6000集成调试软件的应用,能利用PROTEUS软件绘制系统工作原理,一定的设计经验等等。本次设计所要掌握的一些基本知识如下:
(1)键盘工作原理
键盘是由若干按键组成的开关矩阵,是嵌入式控制系统的一种输入部件。键盘分两种:一种是独立式按键,另一种是矩阵式按键。如图所示。独立式按键用的比较少,可以直接与单片机的P1口某一位进行连接,通过判断这一位的状态知道是否有键输入。在应用中通常需要数量较多的按键,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
4 独立式键盘和4*4矩阵式键盘
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,行线通过电阻接正电源,并将列线所接的单片机的I/O口作为输出端,而行线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下
了。
(2)LED显示接口及原理
LED是发光二极管的英文缩写,LED显示器是由发光二极管构成的,它在单片机中的应用非常普遍。通常所说的LED显示器由7个发光二极管组成,其排列形状如图所示。此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED显示中的发光二极管共有两种连接方法:
共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。
共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地。这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。
控制数码管驱动级的控制电路有静态式和动态式两类:
静态驱动:它是指每个数码管都要用一个译码器译码驱动。
动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。
采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,就是所谓的分时显示,显示所需要的硬件电路可分时复用。
共阴极 共阳极 符号与引脚
5
如表1为共阳极与共阴极的代码表
表1 十六进制数字形代码表
(3) 键盘输入与LED显示
设计中通过键盘输入到单片机中,由程序控制找到输入点,计算键码,调用显示模块,把输入的数值通过LED显示器显示出来。
(1) 判断键盘中有无键按下: 将全部行线P1.0到P1.3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。
(2) 判断闭合键所在的位置: 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:将行线置为低电平,即在置行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。检测的方法是P1.4-P1.7输出全“1”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“0”,则无键闭合,否则有键闭合。
(3) 去除键抖动:当检测到有键按下后,延时一段时间再做下一步的检测判断。
(4) 识别:当确定键按下时,通过软件计算键码找到相对位置的数据调用显示模块把数字或字母显示出来或者实现其他功能。
1.3、课题设计的任务 字型 共阳极代码 共阴极代码 字型 共阳极代码 共阴极代码
0 C0H 3FH 9 90H 6FH
1 F9H 06H A 88H 77H
2 A4H 5BH B 83H 7CH
3 B0H 4FH C C6H 39H
4 99H 66H D A1H 5EH
5 92H 6DH E 86H 79H
6 82H 7DH F 8EH 71H
7 F8H 07H 灭 FFH 00H
8 80H 7FH
6
根据给定的任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。有关参数选择要求符合国家标准。具体设计内容如下:
1. 模拟键盘输入及显示模块。
2. 设计系统工作原理图,利用PROTEUS软件绘制系统工作原理图;
3. 系统控制程序设计、调试及实现:
(1)根据要求,写出完整的程序流程图;
(2)将设计程序输入、汇编,排除语法错误,生成*.OBJ文件;
(3)按所设计的原理图,在实验平台上连线,检查无误;
(4)将目标文件传送到实验系统,执行并运行调试该程序,最终实现控制要求
4. 写出设计说明书,3000字左右
第二章、模拟键盘输入及显示模块的总体设计
2.1、明确任务
根据课题的要求确定所要设计的任务,分析后确定设计一个4x4矩阵键盘的识别和7段数码管动态显示综合的系统,控制4个7段数码管动态扫描显示4x4矩阵键盘上按下的按键所对应的值,第一次按下后,每按下一次键数码管上的数字左移一位;另外设一个功能键,当按下此功能键后数码管上将显示设计者的学号,先显示2009一段时间,然后显示6230一段时间,之后将显示屏清零,等待下一次的输入。
2.2、硬件和软件功能的划分
系统的硬件配置和软件设计是紧密地联系在一起的,且硬件和软件具有一定的互换性,硬件完成一些功能,可以提高工作速度,但降低了系统的柔性。若用软件替代某些硬件功能,可增加系统的柔性,但降低系统的工作速度。因此,总体设计时,应综合考虑,合理划分硬件和软件的功能。经过分析后,确定4x4矩阵键盘用于单片机系统的输入,4个数码管用于显示按键所对应的值及显示设计者的学号,而单片机则用于逻辑控制和程序的执行,程序则是为实现所设计的功能而编写。经过论证,该方案能够实现课程设计所要求的任务及预期的目标。
第三章、模拟键盘输入及显示模块的硬件设计
3.1、系统扩展
实验仿真系统的CPU是8031,因此,必须首先组成最小系统,即由8031、地址锁存器