收藏 分享(赏)

输入输出接口8255.ppt

上传人:无敌 文档编号:1359338 上传时间:2018-07-03 格式:PPT 页数:95 大小:1.44MB
下载 相关 举报
输入输出接口8255.ppt_第1页
第1页 / 共95页
输入输出接口8255.ppt_第2页
第2页 / 共95页
输入输出接口8255.ppt_第3页
第3页 / 共95页
输入输出接口8255.ppt_第4页
第4页 / 共95页
输入输出接口8255.ppt_第5页
第5页 / 共95页
点击查看更多>>
资源描述

1、第七章 可编程接口芯片,可编程接口概术可编程并行输入输出接口芯片8255A,可编程接口概术 一个简单的具有输入功能和输出功能的可编程接口电路如下图,它包括一个输入接口,其组成主要是八位的三态门;一个输出接口,其组成主要是八位的锁存器;另外还有八位的多路转换开关及控制这个开关的寄存器FF。,用户对寄存器FF写入的内容称为命令字或方式控制字,而寄存器FF称为命令寄存器,相应的端口称为命令端口或控制端口,对可编程芯片初始化过程实际上就是对芯片的控制端口写入各种命令字的操作过程。,并行接口电路:微处理器与I/O设备进行数据传输时均需经过接口电路实现系统与设备互连的匹配。并行接口电路中每个信息位有自己的

2、传输线,一个数据字节各位可并行传送,速度快,控制简单。由于电气特性的限制,传输距离不能太长。8255A是通用的可编程并行接口芯片,功能强,使用灵活。适合一些并行输入/输出设备的使用。,7.1 可编程并行输入输出接口芯片8255A,一、功能 8255A(8155A)是一种通用的可编程并行IO接口芯片,广泛用于几乎所有系列的微型机系统中,如8086、MCS51、Z80CPU系统等。8255A具有3个带锁存或缓冲的数据端口,可与外设并行进行数据交换。用户可用程序来选择多种操作方式,通用性强。使用灵活,可为CPU与外设之间提供并行输入输出通道。,二、 8255引脚及内部结构,1、8255A的引脚 82

3、55有40个引脚,采用双列直插式封装形式。其引脚如图所示。,二、 8255A的内部结构,1、与外设连接的管脚 我们已经知道8255A有三个数据端口,每个端口是8位的,由此可推算与外设相连接的管脚共有24位。其中A口有PA7PA0八个I/O引脚,B口有PB7PB0八个I/O引脚,C口有PC7PC0八个I/O引脚。特别地对于PC7PC0,其中可有若干根复用线可用于“联络”信号或状态信号,其具体定义与端口的工作方式有关。,PA0PA7PB0PB7PC0PC7,端口A:PA0PA7A组,支持工作方式0、1、2端口B:PB0PB7B组,支持工作方式0、1端口C:PC0PC7仅支持工作方式0A组控制高4位

4、PC4PC7B组控制低4位PC0PC3,端口A:PA0PA7常作数据端口,功能最强大端口B:PB0PB7常作数据端口端口C:PC0PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握,2、与CPU连接的管脚 包括数据线D7D0,读写控制线和,复位线RESET,以及和CPU地址线相连接的片选信号、端口地址控制线A0和A1。,D0 D7数据线A0 A1地址线RD*读信号WR*写信号CS*片选信号RESET复位信号,8255A端口选择及操作功能表,D0D7A0A1/CS/WR/RDRESET,三、8255A的控制字,8255A可以通过指令在控制端口中设置控制字来决定它的工作。

5、 8255A的控制字有两个,共用一个地址,根据D7位的值来区分。控制字分为两类:1.方式选择控制字2.C口置位/复位控制字,8255A的工作方式可由CPU写一个工作方式选择控制字到8255A的控制寄存器来选择。 其格式如上图所示,可以分别选择端口A、端口B和端口C上下两部分的工作方式。端口A有方式0、方式1和方式2三种工作方式,端口B只能工作于方式0和方式1,而端口C仅工作于方式0。注意8255A工作方式选择控制字的最高位D7(特征位)应为1。,8255A的C口按位置位/复位控制字,8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复

6、位控制字来置1或清0,而C口中其他位的状态不变。其格式如上图所示,注意8255A的C口按位置位/复位控制字的最高位D7(特征位)应为0。,例如:设有一片8255A的口地址为60H-63H,PC5平时为低电平,要求从PC5的引脚输出一个正脉冲。可使用程序先将PC5置1,输出一个高电平,再把PC5清零,输出一个低电平,结果PC5引脚输出一个正脉冲。程序如下:MOV AL,00001011BOUT 63H, ALMOV AL,000001010BOUT 63H,AL,四、 8255A的工作方式及编程,8255A端口功能表,工作方式,方式0,A口,B口,C口,方式1,方式2,基本输入输出端口输入不锁存

7、,输出锁存,同A口,同A口,应答式输入输出端口输入输出均可锁存,双向应答式输入输出,输入输出均可锁存,同A口,不用,上C口作为应答式A口的应答线;下C口作为应答式B口的应答线,用作A口的双向应答控制线, 三种可编程的工作方式: 方式 0 基本的字节输入/输出方式 方式 1 选通的字节输入/输出方式 方式 2 带选通的双向字节输入/输出方式,8255A有三种工作方式:方式0 基本输入/输出方式方式1 选通输入/输出方式方式2 双向传输方式 可以通过往控制寄存器中写入控制字来选择其工作方式。,方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的

8、接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路,1、8255A工作在方式0方式0也叫基本输入输出方式。在这种方式下,端口A和端口B可以通过方式选择控制字规定为输入口或者输出口;端口C分为高4位(PC7PC4) 和低4位(PC3PC0) 两个4位端口,这两个4位端口也可由方式选择控制字分别规定为输入口或输出口。这四个并行口共可构成16种不同的使用组态。利用8255A的方式0进行数据传输时,由于没有规定专门的应答信号,所以这种方式常用于与简单外设之间的数据传送,如向LED显示器的输出,从二进制开关装置的输入等。,需要说明的是,这里所说的输入或输出是相对于8

9、255A芯片而言的。当数据从外设送往8255A时为输入,反之,数据从8255A送往外设则为输出。方式0也可以用于查询方式的输入或输出接口电路,此时端口A和B分别作为一个数据端口,而用端口C的某些位作为这两个数据端口的控制和状态信息。下图是一个A口和B口工作在方式0时利用C口某些位作为联络信号的接口电路。在此例中将8255A设置为:A口输出,B口输入,C口高4位输入(现仅用PC7、PC6两位输入外设的状态),C口低4位输出(现仅用PC1、PC0两位输出选通及清除信号)。此时8255A的工作方式控制字为10001010B(8AH)。,方式0查询方式的接口电路,其工作原理如下: 在向输出设备送数据前

10、,先通过PC7查询设备状态,若设备准备好则从A口送出数据,然后通过PC1发选通信号使输出设备接收数据。 从输入设备取数据前,先通过PC6查询设备状态,设备准备好后,再从B口读入数据,然后通过PC0发清除信号,以便输入后续字节。,2.方式1选通的输入输出方式,特点:(1)两组端口A和B都可以工作在方式1,每一组包含一个8位的数据端口和一个3位的控制端口。(2)8位数据端口可以是输入或者输出,输入/出均带锁存。(3) C口有6位固定作为A口、 B口的状态和控制信号,剩下2位可由程序指定为输入和输出。,在方式1输入情况下,C口被定义的状态和控制信号有 、 IBF和INTR, 其含义如下: : 选通信

11、号, 低电平有效, 由外设提供。 有效时,外设把数据送入8255A的A口或B口。 IBF:输入缓冲器满,高电平有效,由8255A输出给外设。当该信号有效时表明,外设已将数据送到A口或B口的输入缓冲器。IBF由 置位, 的上升沿使它复位。IBF可作为8255A与外设的联络信号。当IBF=0时,允许外设向8255A传送一个数据; 当IBF=1时,表示外设送来的数据还未被CPU取走,这时禁止外设向8255A传送数据。IBF也可作为CPU的查询信号,当IBF=1时,告诉CPU应该从8255A的端口读取数据。,INTR:中断请求信号,高电平有效,由8255A发出。 在程序设置的中断允许信号INTE=1的

12、条件下,当 =1和IBF=1时,INTR被置为1, 的上升沿使它复位。 INTE是端口内部的中断允许信号,是内部中断允许触发器的状态,由C口的位控字来设置。若位控字使PC4=1,则A口的中断允许信号INTEA=1;若位控字PC2=1,则B口的中断允许信号INTB=1。这一点对于PC4和PC2两引的 、 功能并无影响。,方式1输入引脚:B端口,方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能,方式1输入联络信号,STB*选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有

13、效时,表示数据已锁存在输入锁存器INTR中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据,方式1输入的时序,方式1输出时,各个控制信号的意义,OBF(Output Buffer Full):输出缓冲器满信号,输出,低电平有效。当CPU把数据写入端口A或B的输出缓冲器时,写信号WR的上升沿把OBF置成低电平,通知外设到端口A或B来取走数据,当外设取走数据时向8255A发应答信号ACK,ACK的下降沿使OBF恢复为高电平。,ACK(Acknowledge):外设应答信号,输入,低电平有效。当ACK有效时,表示CPU输出到8255A的数据已被外设取走。

14、 INTR(Interrupt Request):中断请求信号,输出,高电平有效。该信号由ACK的后沿(上升沿)在INTE=1且OBF=1的条件下产生,该信号使8255A向CPU发出中断请求。若CPU响应此中断请求,则向数据口写入一,方式1输出时,各个控制信号的意义,新的数据,写信号WR上升沿(后沿)使INTR复位,变为低电平。INTE(Interrupt Enable):中断允许信号,与方式1输入类似,端口A的输出中断请求INTRA可以通过对PC6的置位或复位来加以允许或禁止。端口B的输出中断请求信号INTRB可以通过对PC2的置位或复位来加以允许或禁止。,方式1输出时,各个控制信号的意义,

15、方式1输出引脚:A端口,方式1输出引脚:B端口,方式1输出的时序,3方式2双向传输方式此方式只适用于端口A。这时,在PA0PA7的8位数据线上,外设既可以从8255A获取数据;也可以向8255A发送数据。传输过程既可以工作于查询方式,也可以工作于中断方式。方式2的主要特点(1)仅限于端口A。(2)一个双向8位数据总线端口A和一个5位的控制/状态端口C。(3) 输入/输出均锁存。,方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方

16、式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据,方式2的控制和状态信息,方式2的控制和状态信息,8255A工作于方式2的状态字,当A口工作于方式2时,允许中断,此时若B口工作于方式1,则也允许中断。 这时就有三个中断源(A口的输入和输出、B口)、两个中断请求信号(INTRA、INTRB)。 CPU在响应8255A的中断请求时,先要查询PC3(INTRA)和PC0(INTRB),以判断中断源是A口还是B口。如果中断源是A口, 还要进一步查询PC5(IBFA)和PC7( ), 以确定是输入中断还是输出中断。 8255A的

17、工作方式2是A口方式1输出和方式1输入两种操作的组合,所以方式2的工作过程也同上述工作方式1的输出和输入过程。,INTR,1,2,3,4,9,7,IBFA,方式2的时序,8255A的编程,初始化编程:一个方式控制字采用控制I/O地址:A1A011工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H,1. 写入方式控制字:控制字格式,1. 写入方式控制字:示例,要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控

18、制字:10110001B或B1H初始化的程序段:mov dx,0fffeh;假设控制端口为FFFEHmov al,0b1h;方式控制字out dx,al;送到控制端口,2. 读写数据端口,初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备8255A具有锁存输出数据的能力对输出方式的端口同样可以输入不是读取外设数据读取的是上次CPU给外设的数据,2. 读写数据端口:示例,利用8255A的输出锁存能力,可实现按位输出控制 对输出端口B的PB7位置位的程序段:mov dx,0fffah;B端口假设为

19、FFFAHin al,dx;读出B端口原输出内容or al,80h;使PB71out dx,al;输出新的内容,3. 读写端口C:归纳1,C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出,在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组,3. 读写端口C:归纳2,当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用,其余引脚仍可设定工作在方式0,3. 读写端口C:归纳3,对端口C的数据输出有两种办法通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效通过控制端口:

20、向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器,端口C的位控制字,位控制字写入控制端口特别便于置位复位内部中断允许触发器INTE,3. 读写端口C:归纳4,读取的C端口数据有两种情况未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字,端口C的状态字,七、8255应用举例,作为通用的并行接口电路芯片,825A具有广泛的应用应用在IBM PC/XT微机上应用于打印机接口电路连接简易键盘驱动LED数码管1、LED显示器接口2、并行打印机接口电路3

21、、键盘接口,1、LED显示器接口,例:8255A作为开关K0K3及七段LED显示器接口。要求开关设置的二进制信息,由PC0PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由PA口输出显示。,各端口地址为:E8HEEH,8255A各端口地址确定:,8255A方式选择控制字:,81H,LED显示器的结构,LED显示器的结构可分为共阳极和共阴极两种,若要显示某个字符首先需要将它转换成对应的字形码(也称为段码),然后送到LED显示。这一转换过程称为译码。译码方法分为软件译码法和硬件译码法两种,方案1 共阳极LED显示器与同相驱动器接口,LED显示器的工作原理,软件译码:,D7 D6 D5

22、D4 D3 D2 D1 D0 dp g f e d c b a,0(C0H) 1 1 0 0 0 0 0 0,9(90H) 1 0 0 1 0 0 0 0,1(F9H) 1 1 1 1 1 0 0 1,2(A4H) 1 0 1 0 0 1 0 0,3(B0H) 1 0 1 1 0 0 0 0,4(99H) 1 0 0 1 1 0 0 1,5(92H) 1 0 0 1 0 0 1 0,6(82H) 1 0 0 0 0 0 1 0,7(F8H) 1 1 1 1 1 0 0 0,8(80H) 1 0 0 0 0 0 0 0,LED显示器的工作原理,方案2 共阳极LED显示器与反相驱动器接口,D7 D

23、6 D5 D4 D3 D2 D1 D0 dp g f e d c b a,0(3FH) 0 0 1 1 1 1 1 1,9(6FH) 0 1 1 0 1 1 1 1,1(05H) 0 0 0 0 0 1 1 0,2(5BH) 0 1 0 1 1 0 1 1,3(4FH) 0 1 0 0 1 1 1 1,4(66H) 0 1 1 0 0 1 1 0,5(6DH) 0 1 1 0 1 1 0 1,6(7DH) 0 1 1 1 1 1 0 1,7(07H) 0 0 0 0 0 1 1 1,8(7FH) 0 1 1 1 1 1 1 1,编程:,实现操作的具体程序如下:,MOV DX, 0E8H;指向端

24、口A OUT DX, AL;输出字形码显示 HLT,MOV DX,0EEH ;设置8255A工作方式 MOV AL,81H OUT DX,AL,MOV DX,0ECH ;指向端口C,读开关状态 IN AL,DX AND AL,0FH,LEA BX,TABLE ;显示代码表首地址送BXXLAT ;查表,取出相应的字形码送AL,硬件译码:,利用专用接口芯片7447驱动LED显示器,7447为BCD七段译码器与单个LED的连接,R=(51.5 0.2)V/ 20mA=168取R=150 ,LED显示器的电路设计分为两种,静态显示和动态显示,两种电路各有长处和缺点,在不同情况下可采用不同的连接方式。

25、下面是两种连接方式:,静态显示器的设计,器件多,输出显示后若不改变显示内容CPU不用干预,动态显示器控制程序的设计,LEA SI,BUFFMOV CX,07HMOV DL,01H,MOV AL,SI,OUT POTB,ALMOV AL,DLOUT POTA,AL,INC SIROL DL,LEA SI,BUFFMOV CL,40HMOV BX,LED-ADD,DISI:MOV AL,SI XLAT,MOV DX, POTBOUT DX,ALMOV AL,CLMOV DX, POTAOUT DX,AL,INC SISHR CL,JNZ DISI,二、键盘接口,键盘是微型计算机系统中最常用的一种输

26、入设备。键盘有两种类型:编码键盘和非编码键盘。,编码键盘能自动提供对应于被按键的编码,如ASCII码,并能同时产生一个脉冲通知CPU。编码键盘还具有处理抖动和多键串键的保护电路。这种键盘的优点是使用方便,但需要较多的硬件,价格昂贵。,非编码键盘有一组开关组成,提供行和列的键盘矩阵,其工作过程:按键的识别;按键代码的产生;防止串键和消除抖动等均由程序来实现。故这种键盘的优点是所需要的硬件较少,价格便宜,宜用微机化仪表的面板的键盘。 这里只介绍非编码键盘,工作原理,键盘扫描过程:,(1)检测键盘上所有的键是否都松开,反复检测直至全松开。,(2)检测键盘上是否有键按下,反复检测直至有键按下。,(3)

27、若有键按下,则消除键抖动后(硬件消抖动电路,软件延时消抖动下),再确认该键是否按下。,(4)对按下的键进行编码,即将该键所在的行号和列号转换成16进制代码。,(6)根据代码转相应功能子程序。,注:若在按键时,多个键盘同时按下,可取最后松开的按键作为本次按下的键。,(5)检测该键是否松开,反复检测直至松开。,初始化:PORT-A EQU 0FF9H ;8255A口地址PORT-B EQU 0FFBH ;8255B口地址PORT-CTL EQU 0FF9H ;8255控制口地址TABLE DB 77H, 7BH, 7DH,7EH DB 0B7H, 0BBH, 0BDH,0BEH DB 0D7H,

28、0DBH, 0DDH,0DEH DB 0E7H, 0EBH, 0EDH,0EEH,8255初始化:方式0,A口输出,B口、C口输入MOV DX, PORT-CTL ;DX指向控制口 MOV AL, 10001011B ;控制字OUT DX, AL ;写入控制字,MOV DX, PORT-A ;DX指向A口 MOV AL, 00HOUT DX, AL,WO: MOV DX, PORT-B ;DX指向B口 IN AL, DX ;输入B口 AND AL,OFH COM AL,OFH ;各键均未按下 JNE WO ;否,继续等,WR: IN AL, DX ;输入B口 AND AL,OFH COM AL

29、,OFH ;是否有键按下 JE WR ;否,等待,MOV CX, 16EAHDELAY: LOOP DELAY,WR: IN AL, DX ;输入B口 AND AL,OFH COM AL,OFH ;是否有键按下 JE WR ;否,等待,MOV AL,0FEH ;置行扫描初值 MOV CL,AL ;暂存于CN-R: MOV DX,PORT-A OUT DX, AL ;输出行扫描值 MOV DX, PORT-B ;DX指向B口 IN AL, DX ;输入B口 AND AL, OFH COM AL, OFH ;有键按下 JNE ENCODE ;是,转编码 ROL CL, 01 ;否,修改扫描初值 M

30、OV CL, AL JMP N-R ;扫描下一行,ENCODE: MOV BX,000FH ;置键代码初值 IN AL,DX ;读入行列号NEXT-T: COM AL, TABLEBX ;与表中行列号相等吗 JE DONE ;相等转DONE DEC BX ;不相等,修改位置 JNS NEXT-T ;未查完,继续 MOV AH, 01 ;查完,未查到,置出错标志 JMP EXIT ;退出DONE: MOV AL, BL ;键代码送AL MOV AH, 00 ; 键有效标志00ALEXIT: RET,8行8列 键盘,CPU向端口A送全“0”到行线,再从B口读入列状态。若读入的状态为全“1”,表示无

31、键按下。,CPU向端口A的PA0送“0” ,其余行线送“1”,再从B口读入列状态。若读入的状态为全“1”,表示第0行无键按下;否则闭合键在第0行上。,在第0行无键按下的情况下,依此对行1,行2,行7进行上述操作,找出按键所在的行和列的编号。,三、与打印机接口 例:在某一8086系统中接有一个打印机,8255A作为输出接口。工作在方式0,试编一程序将缓冲区BUFF内的400H个字节的ASCII码送打印机打印。 总线式接口的缺点8255接口的优点,打印机具体工作过程如下:1、数据线D7D0出现有效数据;2、STB有效,通知打印机,接口给打印机一个数据,数据从数据线进入打印机;3、BUSY有效,告诉

32、接口,打印机正在打印数据。打印完毕,BUSY变为无效,表示打印结束。,1,2,3,print_data proc ;打印子程序,入口在dl中print1: in al,c_port;无条件读C口数据test al, 00010000b;测试busy线jnz print1 ;busy有效,循环测试mov al,dl out a_port,al;打印数据进入A口 mov al,00000000b;发选通信号 out ctrl_port,almov al,00000001b out ctrl_port,alret;返回主程序print_datA endp,2、人机交互接口动态显示 例:常用的显示称为

33、动态显示,它采用扫描显示技术,可以使硬件开销降低很多。对于一个8位数据显示,它就需要两个输出端口就可以了。其电路如图所示。在两个输出端口中,一个称为段信号通道,它用来输出要显示数据的段码;另一个称为位信号通道,用来决定当前要显示数据的位置。,动态显示电路图,显示系统的具体工作步骤如下:a、 设要显示的初始位码i0;b、 送第i位的段信号;c、 送第i位的位信号;d、 延时;e、 i1if、 如果i小于8,转bg、 8位数据显示结束。,程序如下:a_port equ 80h;定义8255A的四个端口b_port equ 82hc_port equ 84hctrl_port equ 86hdata

34、segment;定义数据段tab1db 3FH,06H,5BH,4FH,;定义段码表dispbuffdb 2,0,0,6,1,2,0,9 ;定义显示缓冲区dataends,;显示子程序,数据在dispbuff中displayproc .;保护现场mov bx,offset tab1mov si,offset dispbuff;步骤amov cx,8mov ah,01disp1:mov al,si;步骤bxlatout a_port,almov al,ah;步骤cout b_port,alcall delay5ms;步骤d,延时5msshl ah,1;步骤einc siloop disp1;恢复

35、现场retdisplayendp,3、人机交互接口键盘扫描 例:方案一。矩阵式键盘电路,其特点是由按键组成一个矩阵,矩阵的行线和列线分别作为两个传输方向相反的I/O接口信号线,比如行线作为输入接口信号线,列线作为输出接口信号线。,程序流程如下:a、 设定行为输出,列为输入;b、 行输出为0,输入列信号;c、 检查列信号是否全为1,若是,无键按下,转b;如果不全为1,表明有键按下,执行下步;d、 延时10ms,消除抖动。e、 取i0(用寄存器dh)f、 置i行为0,其他行为1(用寄存器ah);g、 输入列信号;h、 逐列检测,找出为0的列信号(用寄存器dl); 未找到:ii1;转f;若找到:执行

36、下步; i、 计算键号key_num,例:方案二。图所示为矩阵式键盘电路,其特点是由按键组成一个矩阵,矩阵的行线和列线在不同时刻分别作为两个传输方向相反的I/O接口信号线,比如行线作为输入接口信号线,列线作为输出接口信号线,或反之。,键盘扫描电路图,在翻转法中,行列线交换输入、输出,两步就可获取键位置信息。可见这种方法要比扫描法效率高。,翻转法程序流程如下:a、 设定行为输出,列为输入;b、 行输出为0,输入列信号;c、 检查列信号是否全为1,若是,无键按下,转b;如果不全为1,表明有键按下,执行下步;d、 延时10ms,消除抖动。e、 逐列检测,找出为0的列信号j;f、 设定列为输出,行为输入;g、 列输出为0,输入行信号;h、 逐行检测,找出为0的行信号i;i、 计算键号key_num,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经济财会 > 贸易

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报