当前位置:文档之家› 单片机课程设计 模拟键盘输入及显示系统设计..

单片机课程设计 模拟键盘输入及显示系统设计..

课程设计说明书课程名称:单片机应用基础设计题目:模拟键盘输入及显示系统设计专业:机械设计制造及其自动化指导教师:设计者:学号:目录第一章课程设计的目的和要求 (1)1.1课程设计的目的和要求 (1)1.2课程设计预备知识 (1)1.3课题设计的任务 (2)第二章总体设计介绍对系统设计的总体认识及解决方案,并对采取的方案进行论证第三章硬件设计介绍本系统所选用的各种芯片的功能、引脚、相应的命令控制字格式等,画出系统工作原理图及实现方法第四章软件设计介绍本系统的主要功能模块程序的框图,以及总体程序框图和设计思路第五章系统调试介绍系统调试过程以及出现的问题、解决方法第六章结束语简述课程设计的收获、体会以及对本教学环节的意见和建议参考文献第一章、课程设计目的和要求1.1 课程设计目的和要求《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。

1.2课程设计预备知识总的来说,设计者要具备Mcs-51单片机的有关硬件及软件知识,汇编语言编程或者C 语言编程的有关知识,I\O接口的有关知识,WAVE6000集成调试软件的应用,能利用PROTEUS 软件绘制系统工作原理,一定的设计经验等等。

本次设计所要掌握的一些基本知识如下:(1)键盘工作原理键盘是由若干按键组成的开关矩阵,是嵌入式控制系统的一种输入部件。

键盘分两种:一种是独立式按键,另一种是矩阵式按键。

如图所示。

独立式按键用的比较少,可以直接与单片机的P1口某一位进行连接,通过判断这一位的状态知道是否有键输入。

在应用中通常需要数量较多的按键,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图所示。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

独立式键盘和4*4矩阵式键盘矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,行线通过电阻接正电源,并将列线所接的单片机的I/O口作为输出端,而行线所接的I/O口则作为输入。

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

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

(2)LED显示接口及原理LED是发光二极管的英文缩写,LED显示器是由发光二极管构成的,它在单片机中的应用非常普遍。

通常所说的LED显示器由7个发光二极管组成,其排列形状如图所示。

此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。

通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。

LED显示中的发光二极管共有两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极。

使用时公共阳极接+5V。

这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。

共阴极接法:把发光二极管的阴极连在一起构成公共阴极。

使用时公共阴极接地。

这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。

控制数码管驱动级的控制电路有静态式和动态式两类:静态驱动:它是指每个数码管都要用一个译码器译码驱动。

动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。

采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,就是所谓的分时显示,显示所需要的硬件电路可分时复用。

共阴极共阳极符号与引脚如表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课题设计的任务根据给定的任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。

有关参数选择要求符合国家标准。

具体设计内容如下:1.模拟键盘输入及显示模块。

2. 设计系统工作原理图,利用PROTEUS软件绘制系统工作原理图;3. 系统控制程序设计、调试及实现:(1)根据要求,写出完整的程序流程图;(2)将设计程序输入、汇编,排除语法错误,生成*.OBJ文件;(3)按所设计的原理图,在实验平台上连线,检查无误;(4)将目标文件传送到实验系统,执行并运行调试该程序,最终实现控制要求4. 写出设计说明书,说明书格式见附录,3000字左右第二章、模拟键盘输入及显示模块的总体设计1、明确任务根据课题的要求确定所要设计的任务,分析后确定设计一个4x4矩阵键盘的识别和7段数码管动态显示综合的系统,控制4个7段数码管动态扫描显示4x4矩阵键盘上按下的按键所对应的值,第一次按下后,每按下一次键数码管上的数字左移一位;另外设一个功能键,当按下此功能键后数码管上将显示设计者的学号,先显示2009一段时间,然后显示6230一段时间,之后将显示屏清零,等待下一次的输入。

2、硬件和软件功能的划分系统的硬件配置和软件设计是紧密地联系在一起的,且硬件和软件具有一定的互换性,硬件完成一些功能,可以提高工作速度,但降低了系统的柔性。

若用软件替代某些硬件功能,可增加系统的柔性,但降低系统的工作速度。

因此,总体设计时,应综合考虑,合理划分硬件和软件的功能。

经过分析后,确定4x4矩阵键盘用于单片机系统的输入,4个数码管用于显示按键所对应的值及显示设计者的学号,而单片机则用于逻辑控制和程序的执行,程序则是为实现所设计的功能而编写。

经过论证,该方案能够实现课程设计所要求的任务及预期的目标。

第三章、模拟键盘输入及显示模块的硬件设计1、系统扩展实验仿真系统的CPU是8031,因此,必须首先组成最小系统,即由8031、地址锁存器和程序存储器组成。

2、功能接口所谓接口是CPU与外界的连接部件,以实现CPU与外部设备的最佳耦合和匹配。

包括键盘、显示、A/D转换、D/A转换和打印机等。

根据课题要求选用外设,并选用合适的外围接口芯片。

3、系统的组成及统一编址I/O端口是CPU与I/O设备直接通信的地址。

单片机系统对I/O端口是采用端口地址与存储器地址统一编址的方式,即存储器映射方式。

而编址技术又分线选法和译码法。

设计者在设计硬件时,应自行编址。

4、80C51单片机引脚图及引脚功能介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。

80C51单片机引脚图如下:4.⒈ 电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;4.⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

4.⒊ 控制线:控制线共有4根,⑴ ALE/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。

4.⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。

另外,P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

5、键盘设计如下:80C51单片机的并行口P2接4×4矩阵键盘,以P1.0-P1.3接键盘列线,以P1.4-P1.7作行线;实际电路图连接如下图所示。

6、4位7段码数码管的连接P0口输出按键信息,即段码,与数码管的 a、b、c、d、e、f、g、dp相连,并接上+5v电源和上拉电阻;P1口低四位作为位控,与数码管的1、2、3、4口相连,在数码管上显示每个按键的“0-E”键值。

7、最后设计的系统工作原理图如下:第四章、软件设计一个优秀的的系统的软件应具有下列特点:①软件结构清晰、简捷、流程合理。

②各功能程序实现模块化、子程序化。

这样,既便于调试、链接,又方便移植、修改。

③程序存储区、数据存储区分配合理。

④运行状态实现标志化管理。

各个功能程序运行状态、运行结果以及运行要求都设置状态标志(一般用位寻址区的位)以便查询,程序的转移、运行、控制都可以通过状态标志条件来控制。

⑤实现全面软件抗干扰设计。

(由于条件有限,课程设计中不考虑。

)软件设计一般步骤如下:1、系统定义系统定义是在软件设计前,把软件承担的任务明确出来。

合理定义和分配存储空间、定义标志位。

资源分配的主要工作是RAM资源的分配。

片外RAM的容量要比片内RAM大,通常用来存放批量大的数据,如采样数据系列。

主要考虑片内RAM的分配。

系统上电复位时,自动定义0区为工作寄存器,1区为堆栈,并向2区、3区延伸。

如果系统前台程序要用1区、2区作为工作寄存器,就应将堆栈空间重新规划,常将堆栈安放在片内RAM的高端,如60H~7FH。

在工作寄存器的8个单元中,R0和R1具有指针功能,是编程的重要角色,应充分发挥其作用,尽量避免用来做其他事情。

相关主题