单片机 第2章 (2)课件_第1页
单片机 第2章 (2)课件_第2页
单片机 第2章 (2)课件_第3页
单片机 第2章 (2)课件_第4页
单片机 第2章 (2)课件_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

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

文档简介

第2章单片机键盘接口技术2.1键盘概述2.2非编码式键盘2.3编码式键盘2.1键盘概述

2.1.1按键的分类

组成键盘的按键开关按照结构原理可分为两类:一类是触点式按键开关,如机械触点式按键、导电橡胶式按键、柔性按键等;另一类是无触点按键开关,如电气式按键、磁感应按键等。前者造价低,后者寿命长。目前,单片机系统中最常见的是触点式按键开关。

(1)机械触点式按键利用弹性使键复位,手感明显,连线清晰,工艺简单,适合单件制造,但是触点处易侵入灰尘而导致接触不良,体积相对较大。

(2)导电橡胶式按键利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块,体积小,装配方便,适合批量生产,但是时间长了,橡胶老化会使弹力下降,同时易侵入灰尘。2.1.2按键的输入

单片机系统中通常使用机械触点式按键开关,其主要功能是把机械上的通、断转换成为电气上的逻辑关系。

如图2-1(a)所示,机械触点式按键一端接地,另一端提供逻辑电平,为确保按键可靠输入,通过上拉电阻接 +5V电源。按键在闭合或断开的瞬间,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。如图2-1(b)所示,按键输入波形不可避免地出现抖动,这样就会造成输入电压不稳定。图2-1按键闭合及断开时的电压抖动波形通常按键抖动时间的长短与开关的机械特性有关,一般为5~10ms。这是一个很重要的时间参数,在很多场合都要用到。其中,t1期间为前沿抖动,t2期间为稳定期,t3期间为后沿抖动,t1、t2在一起组成按键闭合阶段。按键的闭合稳定时间t2由操作人员的按键动作来决定,一般在十分之几秒至几秒之间。1.硬件方法

硬件消抖的典型做法是:采用R-S触发器或RC积分电路。

1)双稳态消抖

双稳态消抖即在按键输出端加R-S触发器或单稳态触发器构成消抖电路,如图2-2所示,触发器一旦翻转,触点抖动对其不会产生任何影响。

电路的工作过程如下:

(1)当按键未按下时,a=0,b=1,输出A=1,B=0。(2)当按键按下时,按键的机械弹性作用使按键产生前沿抖动。

①当开关没有稳定到达b端时,B输出为0,反馈到上面的与非门的输入端,封锁了与非门,双稳态电路的状态不会改变,输出A保持为1,这样就消除了前沿的抖动波形。

②当开关稳定到达b端时,因a=1,b=0,使A=0,双稳态电路状态发生翻转。(3)当释放按键时,按键的机械弹性作用使按键产生后沿抖动。

①当开关未稳定到达a端时,A=0,封锁了下面的与非门,双稳态电路的状态保持不变,输出A保持不变,这样就消除了后沿的抖动波形。

②当开关稳定到达a端时,因a=0,b=1,使A=1,双稳态电路状态发生翻转,输出A重新返回原来的状态。2)滤波消抖

如图2-3所示,利用RC积分电路可以吸收振荡脉冲的特点,正确选取适当的时间常数,便可消除按键抖动的影响。图2-3用RC积分电路构成的消抖电路电路的工作过程如下:

(1)当按键未按下时,电容C两端的电压为Vcc,非门输出为1。

(2)当按键按下时,由于电容C两端的电压不能突变,因此即使在接触过程中出现抖动,只要C两端的充电电压波动不超过非门的开启电压(TTL为0.8V左右),非门的输出就不会改变(可通过选取合适的R1、R2和C的值来实现)。2.软件方法

当按键较多时,硬件方法将导致系统硬件电路设计复杂化,硬件消抖将无法胜任,这时常采用软件方法进行消抖。

软件消抖的基本原理是:在检测到有按键按下时,不是立即认定此键已被按下,而是执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍然保持闭合状态电平,若仍然保持,则确认该键真正被按下。这实际上是避开了按键按下时的抖动时间,从而消除了前沿抖动的影响。同理,在检测到按键释放后,再延时5~10ms,消除后沿抖动,然后再对键值进行处理。不过一般情况下,我们通常不对按键释放的后沿进行处理,实践证明,这样也能满足一定的要求。

总之,硬件方法一般用在对按键操作过程比较严格,且按键数量较少的场合,而按键数量较多时,通常采用软件消抖。更好的做法是利用定时中断服务程序或利用标志位的方法来实现软件消抖。2.1.4按键的其他问题

前面对按键的分类、输入及消抖进行了说明,在实际中还应该考虑按键的串键、连击、多功能键、复合键等其他问题。

1.串键

串键是指同时有一个以上的键被按下。串键会引起CPU错误响应。通常采取的策略是:单键按下有效,多键同时按下无效。3.多功能键

在单片机应用系统中,为简化硬件线路,缩小整个系统的规模,总希望设置最少的按键,获得最多的控制功能。可以通过软件的方法实现一键多功能。

通常采用的策略是:选择一个RAM工作单元,对某一个按键进行按键计数,根据不同的计数值,转到子程序。这种计数多功能键最好与显示器结合使用,以便知道当前的计数值,同时配合一个启动键。

4.复合键

复合键就是两个或两个以上的键的联合,当这些键同时被按下时,才能执行相应的功能程序。实际情况做不到“同时按下”,它们的时间差别可以长到50ms。

通常采用的策略是:定义一个或两个引导键,这些引导键被按下时没什么意义,执行空操作。微机键盘上的CTRL、SHIFT、ALT等均为引导键,其缺点是操作复杂,且操作时间较长。2.1.5键盘的编码方式

键盘是由一组规则排列的按键组成的,每一个按键所在的物理位置不同,对应的功能也不同。按键所在的物理位置的编码称为键码,而按键所对应的功能或数值称为键名或键值,如数字键0~9、字符键0AH~0FH、功能键10H等。键码是人为规定的,由相应的键值处理程序来实现。2.2非编码式键盘

2.2.1键盘的工作方式

键盘的工作方式有程序扫描方式、定时扫描方式和中断方式。

1.程序扫描方式

程序扫描方式就是在主程序循环扫描各任务的中间,加入键盘扫描的任务。当主程序扫描的任务太多或任务耗时较长时,单片机的反应会有些慢。2.定时扫描方式

定时扫描方式是指采用定时中断方式对键盘进行扫描,以响应键盘输入的请求。这种方式避免了程序扫描方式的缺点,能及时读取键盘的输入,但不管键盘上有无键闭合,CPU总是定时扫描键盘,降低了CPU的效率。

程序扫描方式和定时扫描方式相似,都属于查询方式,后者较前者的实时性强,但需占用一个定时器。3.中断方式

中断方式是指各个按键都接到一个与门上,当任何一个按键被按下时,都会使与门输出为低电平,从而引起单片机的中断,这样就克服了定时扫描方式的不足,但需要额外的硬件电路,并占用一个外部中断源。中断方式的好处是不用在主程序中不断地循环查询,如果有键被按下,则单片机再去做相应的处理。图2-4键盘的组成形式1.独立式键盘

独立式键盘是指各个按键相互独立,每个按键的一端接地,另一端占用一个I/O口线。按键被按下时输出低电平有效,为了保证按键断开时输出高电平,在每个按键的输出端接入10kΩ左右的上拉电阻。2.矩阵式键盘

矩阵式键盘也称为行列式键盘,由行线和列线组成,按键一端接行线,另一端接列线,行、列线不相交,按键数等于矩阵行数和列数的乘积。同样,为了保证按键断开时,输出高电平,列线或行线通过上拉电阻接到 +5V上,每一根行线、列线占用一个I/O口线。

例如,一个键盘有20个按键,如果采用独立式,则需要20个I/O口线;如果采用矩阵式(如4根行线、5根列线),则只需要占用9个I/O口线。2.2.3独立式键盘

1.接口电路

独立式键盘单片机接口电路的设计一般采用低电平输入有效方式,按键直接与单片机的I/O口线相接。为了保证按键断开时,I/O口线有确定的高电平,在每个按键的输入端接有上拉电阻。图2-5(a)、(b)分别为采用查询方式和中断方式的接口电路。当使用80C51单片机的I/O口作为按键的输入端口时,如果使用P1、P2、P3端口,则因端口内部已有上拉电阻,故外部的上拉电阻可省略。当采用P0端口时,应外接10kΩ左右的上拉电阻。

1)查询方式

如图2-5(a)所示,平时无键被按下时,各I/O口均为高电平;当某键被按下时,相应的输入线为低电平。CPU查询此输入口的状态就可很容易地判断哪个键被按下。2)中断方式

如图2-5(b)所示,按键S0~S2的数据输出线相与后与单片机的外部中断相连。平时无键被按下时,各I/O口均为高电平,也为高电平;当某键被按下时,相应的输入线为低电平,则为低电平,申请中断,CPU响应中断后查询此输入口的状态就可知道哪个键闭合。图2-5独立式键盘接口电路2.程序设计

独立式键盘接口电路简单,软件程序也简单易写,有查询方式和中断方式两种结构。由于按键的数目较少,且相互独立,按键识别容易,因此CPU可以根据按键被按下时所对应的I/O输入口的状态直接进行编码识别。对键值的处理一般采取直接处理的方式,即用跳转指令AJMP或采用散转指令JMP@A+DPTR。1)查询方式

如图2-5(a)所示,I/O口采用P1口,先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已被按下,然后,再转向该键的键值处理程序。

当某一按键Sn(n=0~2)闭合时,P1.n输入为低电平;释放时,P1.n输入为高电平。程序中,F0~F2为每个按键的功能程序的入口地址标号,PROM0~PROM2分别为每个按键的功能程序。

START:MOVA,#0FFH

MOVP1,A ;置输入方式

MOVA,P1

JNB ACC.0,XD ;查询P1.0是否为低电平

JNB ACC.1,XD ;查询P1.1是否为低电平

JNB ACC.2,XD ;查询P1.2是否为低电平

SJMPSTART

XD: LCALL Delay10ms ;延时10ms,消除抖动

MOV A,#0FFH

MOV P1,A ;置输入方式

MOV A,P1

JNB ACC.0,F0 ;查询P1.0是否为低电平

JNB ACC.1,F1 ;查询P1.1是否为低电平

JNB ACC.2,F2 ;查询P1.2是否为低电平

SJMP START ;无键按下,返回

F0: AJMP PROM0 ;转0号键功能程序

F1: AJMP PROM1

F2: AJMP PROM2PROM0: … ;0号键功能程序

LJMP START

PROM1: … ;1号键功能程序

LJMP START

PROM2: … ;2号键功能程序

LJMP START

Delay10ms:… ;延时10ms子程序

RET2)中断方式

查询方式使CPU时刻处于键盘检测状态,不能干别的事情。为了提高CPU的效率,可采用中断方式。

如图2-5(b)所示,各个按键都接到一个“与门”上,当任何一个按键被按下时,都会使“与门”输出为低电平,从而引起单片机中断。它的好处在于:主程序不必不断地循环查询,只有中断请求(表示有键按下)时,单片机才去做相应的处理。总之,独立式键盘的特点是各个按键相互独立,单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线的工作状态,电路配置灵活,软件结构简单。按键比较少或口线比较富余时,可以采用这种类型的键盘,但当按键数量较多时,I/O口线浪费较大,而且查询按键的时间也较长,不宜采用。2.2.4矩阵式键盘

1.接口电路

图2-6所示的键盘为两种典型的键盘布局,一般由16个按键组成(即4×4矩阵式键盘结构),正好可以直接用单片机的一个并行口实现,这也是一般单片机系统中最常用的一种形式,其单片机接口电路如图2-7所示。图2-6两种典型的键盘布局图2-7P1口直接构成的4×4矩阵式键盘接口电路矩阵式键盘的工作原理是:按键设置在行列线交叉点上,行列线分别连接按键开关的两端,列线通过上拉电阻接到+5V上。无键按下时,所有列线都处于高电平状态;有键按下时,按键所在行列线将导通,此时按键所在列线电平状态将由与此列线相连的行线电平决定,行线电平为低,则列线电平为低;行线电平为高,则列线电平为高。这是识别矩阵键盘按键是否被按下的关键所在。需要说明的是:在单片机应用系统中,除了直接通过单片机I/O口连接键盘外,还可以通过三态缓冲器573、8155、8255等I/O口扩展芯片来外接键盘,或者利用单片机的串行接口通过串/并转换芯片74LS164来扩展键盘。

图2-8所示为通过并行接口芯片8255扩展I/O口构成的4×8矩阵式键盘接口电路。图2-88255扩展的4×8矩阵式键盘接口电路2.按键的识别方法

由于矩阵式键盘采用行列式结构,行列线和多个键相连,因此各按键的按下与否均影响该键所在行线和列线的电平,各键间相互影响。也就是说,一根I/O口线的状态已经不能确定哪一个键被按下,需要通过连接到按键两端的两根I/O口线的状态共同确定按键的状态,因此,必须将行线与列线信号状态分别处理并综合考虑才能确定按键的行列位置。1)扫描法

行扫描法就是使行线逐行步进输出“0”(相当于逐行动态接地),列线输入;相反,列扫描法就是使列线逐列步进输出“0”(相当于逐列动态接地),行线输入。

扫描法原理如图2-9所示。这里以行扫描法为例,即P1.0~P1.3为行输出线,分时逐行输出“0”,P1.4~P1.7为列输入线。注意:在读P1.4~P1.7引脚状态时,必须先向它们写“1”。图2-9扫描法原理图具体分析如下:

(1)将P1口置“1”,然后令P1.0输出“0”时,扫描第0行,读入P1的状态。具体描述如下:

①当0键被按下时,读入P1的状态为11101110,即0EEH。

②当1键被按下时,读入P1的状态为11011110,即0DEH。

③当2键被按下时,读入P1的状态为10111110,即0BEH。

④当3键被按下时,读入P1的状态为01111110,即7EH。(2)当P1.1输出“0”时,扫描第1行,读入P1的状态。

具体描述如下:

①当4键被按下时,读入P1的状态为11101101,即0EDH。

②当5键被按下时,读入P1的状态为11011101,即0DDH。

③当6键被按下时,读入P1的状态为10111101,即0BDH。

④当7键被按下时,读入P1的状态为01111101,即7DH。(3)当P1.2输出“0”时,扫描第2行,P1.2所在的第2行的0、1、2、3列的4个按键8、9、A、B分别被按下时,对应的P1状态分别为0EBH、0DBH、0BBH、7BH。

(4)当P1.3输出“0”时,扫描第3行,P1.3所在的第3行的0、1、2、3列的4个按键C、D、E、F分别被按下时,对应的P1状态分别为0E7H、0D7H、0B7H、77H。2)反转法

前面介绍的扫描法要逐行(列)扫描查询,当被按下的键在最后一行(列)时,要经过多次扫描才能最后获得键值;反转法则显得很简练,无论被按下的键是处于第一列或是最后一列,均只需两步即可获得此按键所在的行列值。

下面介绍反转法的两个步骤,其原理图如图2-10所示。图2-10反转法原理图(1)将P1.3~P1.0编程为行输入线,P1.7~P1.4编程为列输出线,并使P1口输出为0FH(保证列输出P1.7~P1.4为0000)。若有键被按下,则P1.3~P1.0肯定不全为1,其中为0的位对应的是按键的所在行位置。如图2-10(a)所示,若按下A键,则P1.3~P1.0输入肯定为1011,按键在第2行。将这个数据存放到存储器的某个单元(如N单元)中。(2)将第(1)步中的传送方向反转过来,即将P1.4~P1.7定义为输入,P1.0~P1.3定义为输出,并使I/O口输出的数据为N单元的数据(因为这时已经知道键所在的行位置),然后读入I/O口数据。该数据的P1.7~P1.4位中“0”电平对应的位就是按下键的列位置。如果按下的是图2-10(b)所示的键,则P1.7~P1.4输入肯定为1011,按下键在第2列。3)扫描程序下面编制基于扫描法识别按键的键盘扫描子程序(通常将查询键码的过程称之为“扫描”):当有键被按下时,将键值送回寄存器A;当无键被按下时,将“0”送回A。;*****************扫描0行**********************************

GET_KEY: MOV P1,#0FEH

;扫描第0行,即P1口输出11111110

MOV A,P1

;读入P1口,判断第0行是否有某一列的键被按下

CJNE A,#0FEH,K3

;若不相等,则按键在第0行,转去进行键值分析

;若相等,则无键被按下,扫描下一行;*********************扫描1行*************************

MOV P1,#0FDH

;扫描第1行,即P1口输出11111101

MOV A,P1

;判断第1行是否有某一列的键被按下

CJNE A,#0FDH,K3

;若不相等,则按键在第1行,转去进行键值分析

;若相等,则无键被按下,扫描下一行;*****************扫描2行************************

MOV P1,#0FBH ;扫描第2行

MOV A, P1

;判断第2行是否有某一列的键被按下

CJNE A,#0FBH,K3

;若不相等,则按键在第2行,转去进行键值分析

;若相等,则无键被按下,扫描下一行;***********************扫描3行*************************

MOV P1,#0F7H ;扫描第3行

MOV A,P1 ;判断第3行是否有某一列的键被按下

CJNE A,#0F7H,K3

;若不相等,则按键在第3行,转去进行键值分析

MOV A,#0

;若相等,则无键被按下,A中返回“0"

RET ;返回

K3:… ;键值分析

… 3.键值分析

键值分析是由键值处理程序来完成的。键值处理程序的关键是如何对按键进行编码,从而获取按键所对应的键号或键值。键号是键盘上各键的编号,如0、1、…、A、B、…、F。键值是指根据扫描原理,各键所对应的十六进制数码,如0EEH、0DEH、…、0BBH、7BH、…、77H。在键盘处理程序中,每个键都被赋予了一个键号。(1)对于独立式键盘,由于按键的数目较少,且键盘中各个按键互不干扰,因此可以根据实际需要对键盘中的按键进行灵活编码。

最简单的编码方式就是直接状态编码,即根据I/O输入口所直接反映的相应按键被按下的状态进行编码。假如图

2-5中的S0键被按下,则P1口的输入状态是11111110,S0键的直接状态编码就是FEH。CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,然后根据这个值直接进行键值分析处理。(2)对于矩阵式键盘,由于按键的数目较多,采用行列式结构,键盘中各个按键相互影响,因此,键盘中的按键编码较为复杂,需要综合考虑。

①键号编码:按键的键号由行号和列号唯一确定,所以分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。例如,34H表示第3行、第4列的按键,而C4H表示第12行、第4列的按键等。但这种编码方式对于不同行的键,其离散性较大。例如,对于一个4×4的键盘,14H键和21H键之间间隔13,实际上却是两个连续的键,因此不利于键值分析处理。所以,常常采用依次排列键号的方式对按键进行编码。对于一个4×4的键盘,可以键号编码为:01H、02H、03H、04H、…、0EH、0FH,共16个。②键值编码:每个按键都有自己的行值和列值,行值和列值的组合就是这个按键的键值编码。例如,“按键的识别方法”部分中所述,“E”号键对应行线P1.3 = 0,其他全为“1”,行值为0111B,列线中P1.6=0,其他的全为“1”,列值为1011B,故“E”号键对应键值编码为10110111B,高4位是列值,低4位是行值。以此类推,结合图2-9和图2-10,键号与键值的对应关系如表2-2所示。(3)求键号与键值。键号编码与键值编码之间有一定的对应关系,可以通过查表或计算的方法来获取。

①计算:键号 = 行首键号 + 列号。图2-10中,列号是0、1、2、3,行首键号是0、4、8、12。

例如,对于“A”号键,10=8(行首键号)+2(列号)。②参照表2-2,将键号“0”到“F”所对应的键值做成一个固定的表格,然后将识别按键的键值与表中的键值逐一进行比较,同时计数器从0开始计数,若不相等,则增1,若相等,则计数器的值即为键号。相关参考汇编程序如下: … ;求键值和键号

PRO_KEY: MOV R1, #16 ;16个按键

MOV R2, #0 ;计数器

MOV DPTR, #KeyTAB ;键值表首地址

COMP: MOV A, R2

MOVC A, @A+DPTR

CJNE A, B, KK

;识别按键的键值在单元B中进行比较,若不相等则继续

MOV A, R2 ;若相等,则取键号 RET

KK: INC R2

DJNZ R1, COMP

RET

KeyTABDB0EEH,0DEH,0BEH,07EH ;0123

DB0EDH,0DDH,0BDH,07DH ;4567

DB0EBH,0DBH,0BBH,07BH ;89AB

DB0E7H,0D7H,0B7H,077H ;CDEF4.程序设计

软件实现过程及其程序设计结构分为以下四个步骤(如图2-11所示):

(1)判断键盘上有无键被按下。其方法为:快速扫描,即P1.0~P1.3端口输出全为0,读P1.3~P1.7端口状态,当全为“1”时,说明键盘无键按下,当不全为“1”时,说明键盘有键被按下。图2-11键盘扫描程序流程图(2)消除按键抖动的影响。其方法为:在判断有键被按下后,调用软件延时程序消除键盘抖动,再判断键盘状态,若该键仍处于闭合状态,则确定该键被按下,否则作按键抖动处理。

(3)求键号和键值。根据前面介绍的按键识别方法,确定按键的行列位置,再利用计算或查表的方法求取按键的键号。根据按键位置进行键的重新编号,从而得到按键的键值。(4)等待释放并进行键值处理。为了保证按键每闭合一次,CPU仅作一次处理,等待按键释放后,再进行此次按键的键值分析处理。相关参考汇编程序如下:

SCAN_KEY:MOVP1,#0F0H

;P1口初始化,快速扫描,所有行线输出全为0

MOVA,P1

CJNEA,#0F0H,XD

;若有,则转去进行键消抖处理

SJMPNO_KEY;若无键被按下,则A中返回“0”XD: LCALL DELY10ms;延时10ms,消抖

MOV P1,#0F0H

MOV A,P1

;消抖时间过后,再判断是否有键被按下

CJNE A,#0F0H,GET_KEY

;若有键被按下,则开始按键扫描

NO_KEY:MOVA,#0;若无键被按下,则A中返回“0”

RET

GET_KEY: … ;按键扫描程序

… …

MOV P1, #0F0H;等待按键被释放

SF: MOV A,P1

CJNE A,#0F0H,SF

PRO_KEY: … ;键值分析

…2.3编 码 式 键 盘

非编码式键盘接口电路中,无论是直接通过单片机I/O口连接键盘,还是利用8155、8255等I/O口扩展芯片外接键盘,往往都会占用CPU有限的资源。因此,一些芯片公司推出了通用键盘显示接口芯片,比较典型的有美国Intel公司早期推出的8279、广州周立功单片机发展有限公司近期推出的ZLG7289和ZLG7290等。2.3.1ZLG7289概述

ZLG7289内部含有译码器,可直接接收BCD码或十六进制码,并同时具有2种译码方式。此外,ZLG7289还具有多种控制指令,如消隐﹑闪烁﹑左移﹑右移﹑段寻址等。ZLG7289具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。ZLG7289的技术特点如下:

(1)串行接口,无需外围元件即可直接驱动LED数码管。

(2)功能上完全替代8279、8155、8255、7279、7219系列器件。

(3)各位独立控制译码、不译码、消隐和闪烁属性。

(4)具有段寻址指令,可方便地控制独立LED数码管。

(5) 64键键盘控制器,内含去抖动电路。(6)标准DIP28/SOIC28封装。

(7)工作电压范围很宽,为 +2.7~6V。

(8)工作温度范围为 -40~ +85℃。

(9)段电流可达15mA以上,字电流可达100mA。

ZLG7289可广泛地应用于仪器仪表、工业控制器、条形显示器、控制面板等领域。2.3.2ZLG7289的引脚排列及功能说明

ZLG7289芯片具有标准的DIP28和SOIC28两种封装形式。其引脚排列如图2-12所示,各引脚的功能说明如表2-3所示。图2-12ZLG7289的引脚排列(SOIC28,DIP28)2.3.3ZLG7289键盘接口方法

ZLG7289的典型应用电路如图2-13所示。图2-13ZLG7289编码式键盘接口电路1. ZLG7289与单片机键盘接口

图2-13中,以80C51单片机为例,给出了ZLG7289与单片机的接口电路,采用SPI串行总线方式,ZLG7289的、CLK、DIO和分别与单片机的P1.0、P1.1、P1.2和连接,只需要占用单片机的4根I/O口线。2. ZLG7289与键盘和LED数码管的连接

在图2-13中,ZLG7289应连接共阴极数码管,应用中无需用到的数码管和键盘可以不连接,因而省去数码管和对数码管设置消隐属性均不会影响键盘的使用。

数码管电路中,由于ZLG7289采用循环扫描工作方式,如果采用普通的数码管,亮度可能不够,因此应采用高亮度或超高亮度的数码管,且尺寸也不宜选得过大(一般字符高度不超过1英寸(1英寸=2.54厘米),如果使用大型的数码管,则应选用适当的驱动电路)。按键电路中,必须有相应的下拉电阻(如R1~R8,阻值为100kΩ)和位选电阻(如R17~R24,阻值为10kΩ,

温馨提示

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

评论

0/150

提交评论