《课程设计-制作单片机的4X4矩阵键盘(共22页)》由会员分享,可在线阅读,更多相关《课程设计-制作单片机的4X4矩阵键盘(共22页)(22页珍藏版)》请在金锄头文库上搜索。
1、精选优质文档-倾情为你奉上目录摘要电子信息行业将是人类社会的高科技行业之一,是设施现代化的基础,也是人类通往科技巅峰的直通车。电子行业的发展很重要,而计算机技术是现代科技发展的重要组成部分。矩阵式键盘控制系统可以提高效率,是进行按键操作管理的有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身的要求。并能正确、实时、高效地显示按键信息,以提高工作效率和资源利用率。矩阵式键盘是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,并通过单片机,显示在LED数码管上。单片机控制键盘显示系统,可以对不同的按键进行实时显示,其核心是单片机、键盘矩阵电路和数码管显示电路。4*4
2、矩阵式键盘以AT89C51单片机为核心,主要由矩阵式键盘电路、显示电路等组成,软件选用C语言编程。单片机将检测到的按键信号转换成数字量,显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,广泛应用于各种场合。第一章 硬件部分第一节 AT89C51AT89C51是一种带4KFLASH(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位,俗称。AT89C51为很多提供了一种灵活性高且价廉的方案。引脚如图所示 AT89C51图1 AT89C51管脚图AT89C51其具有以下特性:与MCS-51 兼容 4K
3、字节可编程FLASH 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级锁定 1288位内部RAM 32可编程I/O线 两个16位/计数器 5个 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 特性概述:AT89C51 提供以下标准功能:4k Flash ,128字节内部RAM,32 个I/O 接口,两个16位定时/计数器,一个5向量两级中断结构,一个全双工口,片内振荡器及。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,口及继续工作。掉电方式保存RAM中的内容,
4、但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 管脚说明: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后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在
5、FLASH编程和校验时,P1口作为低八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部或16位地址存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据进行读写时,P2口输出其的内容。P2口在FLASH编程和校验时接收高八位地址信号和。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”
6、后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,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口同时为闪烁编程和编程校验接收一些。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个的高电平时间。 ALE/PROG:当访问外部时,允许的用于
7、锁存地址的低位字节。在FLASH期间,此用于输入脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该被略微拉高。如果在外部执行状态ALE禁止,置位无效。 /PSEN:外部的选通信号。在由外部程序取指期间,每个两次/PSEN有效。但在访问存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序(000
8、0H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。振荡和陶瓷振荡均可采用。如采用外部驱动器件,XTAL2应不接。有余输入至内部要通过一个二分频,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 第二节4*4矩阵式键盘1.2.1
9、矩阵式键盘介绍矩阵式键盘(或者叫行列式键盘)常应用在按键数量比较多的系统之中。这种键盘由行线和列线组成,按键设置在行、列结构的交叉点上,行、列线分别接在按键开关的两端。行列式键盘可分为非编码键盘和编码键盘两大类。编码键盘内部设有键盘编码器,被按下键的键号由键盘编码器直接给出,同时具有防抖和解决重键的功能。非编码键盘通常采用软件的方法,逐行逐列检查键盘状态,当有键按下时,通过计算或查表的方法获取该键的键值,通常,计算机通过程序控制对键盘扫描,从而获取键值,根据计算机扫描的方法可以分为定时扫描法和中断扫描法两种。本系统中的4*4矩阵式键盘结构简单,按键数较少,采用非编码式键盘,当有键按下时,由单片
10、机通过程序扫描确定键值,并将获得的键值通过LED数码管显示出来,4*4矩阵式键盘结构及键值分布如下图:图2 4*4矩阵键盘原理结构图1234567890ABCDEF图3 键盘键值分布1.2.2 键盘扫描原理为了更加贴近实际应用,本系统采用中断式扫描法,这样可以节约单片机开销,提高单片机工作效率,使得单片机在没有键盘输入时可以处理其他工作,其具体工作过程为:在没有键按下时矩阵键盘行线接高电平,列线接低电平,当某个键被按下时,该按键所在行线电位被拉低,触发单片机的外部中断INT0,进入中断子程序,在中断程序中,单片机对矩阵键盘进行扫描以确定按下的键值,扫描过程如下:1、 检测行线电平,确定是否有按
11、键被按下;2、 延时去抖动;3、 重新确认是否有按键被按下,若有,扫描键值,若没有,返回主程序;4、 扫描键值,首先行线接高电平,列线接低电平,对行线电平进行检测,以确定按下的键所在的行;5、 行线接低电平,列线接高点平,对列线电平进行检测,确定按下的键所在的列;6、 将扫描所得的按键值送入LED数码管显示。第三节 LED数码管LED(发光二级管)显示器件是计算机控制控制系统中的廉价输出设备,它由多个发光二极管组成,能显示许多种字符。由于制作材料不同,LED可以发出红、黄、篮、紫等各种单色光,一个发光二级管正常发光时的电流大约为10mA,本系统中使用的是七段共阴极LED数码管。图4、5所示为七
12、段共阴极LED显示器件的结构及外形图。七段LED显示器件就是将7个发光二极管按一定的方式组合在一起,如图4所示。abcdefgCOMagdfebc图4 7段LED显示器件外形图aaaaaaaCOM 图5 7段LED显示器件结构图下表给出了共阴极7段LED显示器件所能显示的部分字符与7段控制显示代码的对应关系表1 . 共阴极7段LED显示器件所能显示的部分字符与7段控制显示代码的对应关系显示字符控制显示代码(十六进制)显示字符控制显示代码(十六进制)106A7725BB7C34FC39466D5E56DE7967DF71707H7687FP7396F-4003F不显示00在本系统中,4*4键盘共
13、有16个键,对其编号09,AF,所以用一个7段数码管静态显示即可满足即时显示按键信息的要求。所谓静态显示,就是当显示器件显示某个字符时,相应的显示段(发光二级管)恒定地导通或截止,直到显示另一个字符为止。这种显示方式显示一个字符时,只需要微处理器送一次代码,因此占用机时少,而且显示稳定可靠,其缺点是,使用元器件相对较多,且线路比较复杂,相对而言成本较高,比较适合显示位数较少的情况。第四节 硬件电路连接1.4.1 单片机始终电路时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XT
14、AL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图6所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。图6中外接晶体以及电容C1和C2构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值为30pF左右,晶振频率选11.0592MHz 。1.4.2单片机复位电路为了初始化单片机内部的某些特殊功能寄存器,必须利用复位电路,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图6中R2、