微机原理与接口技术_第6章输入输出接口8255_第1页
微机原理与接口技术_第6章输入输出接口8255_第2页
微机原理与接口技术_第6章输入输出接口8255_第3页
微机原理与接口技术_第6章输入输出接口8255_第4页
微机原理与接口技术_第6章输入输出接口8255_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章第六章 可编程接口芯片可编程接口芯片 输入接口输出接口寄存器FF多路转换开关I/O线数据总线88886.1 6.1 可编程并行输入输出接口芯片可编程并行输入输出接口芯片8255A8255A二、二、 82558255引脚及内部结构引脚及内部结构二、二、 8255A的内部结构的内部结构 数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESETPA0PA7PB0PB7

2、PC0PC7n端口端口A:PA0PA7n常作数据端口,功能最强大常作数据端口,功能最强大n端口端口B:PB0PB7n常作数据端口常作数据端口n端口端口C:PC0PC7n可作数据、状态和控制端口可作数据、状态和控制端口n分两个分两个4位,每位可独立操作位,每位可独立操作n控制最灵活,最难掌握控制最灵活,最难掌握8255A8255A端口选择及操作功能表端口选择及操作功能表D0D7A0A1/CS/WR/RDRESET三、三、8255A8255A的控制字的控制字8255A8255A可以通过指令在控制端口中设置控制可以通过指令在控制端口中设置控制字来决定它的工作。字来决定它的工作。 8255A8255A

3、的控制字有两的控制字有两个,共用一个地址,根据个,共用一个地址,根据D7D7位的值来区分。位的值来区分。控制字分为两类:控制字分为两类:1.1.方式选择控制字方式选择控制字2.C2.C口置位口置位/ /复位控制字复位控制字 1D6D5D4D3D2D1D0方式选择控方式选择控制字标识位制字标识位A组方式选择组方式选择00 方式方式001 方式方式11x 方式方式2端口端口A1 输入输入0 输出输出 PC3PC0: 1 输入输入 (方式(方式0时)时) 0 输出输出端口端口B: 1 输入输入 0 输出输出B组方式选择:组方式选择: 0 方式方式0 1 方式方式1 PC7PC4: 1 输入输入(方式

4、(方式0时)时) 0 输出输出 8255A 8255A的工作方式可由的工作方式可由CPUCPU写一个工作方式写一个工作方式选择控制字到选择控制字到8255A8255A的控制寄存器来选择。的控制寄存器来选择。 其格式如上图所示,可以分别选择端口其格式如上图所示,可以分别选择端口A A、端口端口B B和端口和端口C C上下两部分的工作方式。端口上下两部分的工作方式。端口A A有有方式方式0 0、方式、方式1 1和方式和方式2 2三种工作方式,端口三种工作方式,端口B B只只能工作于方式能工作于方式0 0和方式和方式1 1,而端口,而端口C C仅工作于方式仅工作于方式0 0。注意。注意8255A82

5、55A工作方式选择控制字的工作方式选择控制字的最高位最高位D D7 7( (特征位特征位) )应为应为1 1。0D6D5D4D3D2D1D0 xxx无关无关 1: 置置1 0: 置置000001111端口端口C按位置按位置1/置置0控制字标识位控制字标识位位选择位选择PC0PC1PC2PC3PC4PC5PC6PC700110011010101018255A8255A的的C C口按位置位口按位置位/ /复位控制字复位控制字8255A8255A的的C C口具有位控功能,即端口口具有位控功能,即端口C C的的8 8位中的任位中的任一位都可通过一位都可通过CPUCPU向向8255A8255A的控制寄存

6、器写入一个的控制寄存器写入一个按位置位按位置位/ /复位控制字来置复位控制字来置1 1或清或清0 0,而,而C C口中其他口中其他位的状态不变。位的状态不变。其格式如上图所示,注意其格式如上图所示,注意8255A8255A的的C C口按位置位口按位置位/ /复位控制字的复位控制字的最高位最高位D D7 7( (特征位特征位) )应为应为0 0。四、四、 8255A8255A的工作方式及编程的工作方式及编程8255A8255A端口功能表端口功能表工作方式方式0A口B口C口方式1方式2基本输入输出端口输入不锁存,输出锁存同A口同A口应答式输入输出端口输入输出均可锁存双向应答式输入输出,输入输出均可

7、锁存同A口不用上C口作为应答式A口的应答线;下C口作为应答式B口的应答线用作A口的双向应答控制线 三种可编程的工作方式:三种可编程的工作方式: 方式方式 0 基本基本的字节的字节输入输入/输出方式输出方式 方式方式 1 选通选通的字节的字节输入输入/输出方式输出方式 方式方式 2 带选通的带选通的双向双向字节字节输入输入/输出方式输出方式需要说明的是,这里所说的输入或输出是相对于需要说明的是,这里所说的输入或输出是相对于8255A8255A芯片而言的。当数据从外设送往芯片而言的。当数据从外设送往8255A8255A时为输入,反之,时为输入,反之,数据从数据从8255A8255A送往外设则为输出

8、。送往外设则为输出。方式方式0 0也可以用于查询方式的输入或输出接口电路,此也可以用于查询方式的输入或输出接口电路,此时端口时端口A A和和B B分别作为一个数据端口,而用端口分别作为一个数据端口,而用端口C C的某些的某些位作为这两个数据端口的控制和状态信息。下图是一位作为这两个数据端口的控制和状态信息。下图是一个个A A口和口和B B口工作在方式口工作在方式0 0时利用时利用C C口某些位作为联络信口某些位作为联络信号的接口电路。号的接口电路。在此例中将在此例中将8255A8255A设置为:设置为:A A口输出,口输出,B B口输入,口输入,C C口高口高4 4位输入位输入( (现仅用现仅

9、用PC7PC7、PC6PC6两位输入外设的状态两位输入外设的状态) ),C C口低口低4 4位输出位输出( (现仅用现仅用PC1PC1、PC0PC0两位输出选通及清除信号两位输出选通及清除信号) )。此时此时8255A8255A的工作方式控制字为的工作方式控制字为10001010B(8AH)10001010B(8AH)。选通8255AA口PC1输出设备准备好准备好清除PC7PC6PC0B口输入设备方式方式0查询方式的接口电路查询方式的接口电路其工作原理如下:其工作原理如下: 在向输出设备送数据前,先通过在向输出设备送数据前,先通过PC7PC7查询设查询设备状态,若设备准备好则从备状态,若设备准

10、备好则从A A口送出数据,然后口送出数据,然后通过通过PC1PC1发选通信号使输出设备接收数据。发选通信号使输出设备接收数据。 从输入设备取数据前,先通过从输入设备取数据前,先通过PC6PC6查询设备查询设备状态,设备准备好后,再从状态,设备准备好后,再从B B口读入数据,然后口读入数据,然后通过通过PC0PC0发清除信号,以便输入后续字节。发清除信号,以便输入后续字节。2.2.方式方式1 1选通的输入输出方式选通的输入输出方式 特点特点: :(1 1)两组端口)两组端口A A和和B B都可以工作在方式都可以工作在方式1 1,每一组,每一组包含一个包含一个8 8位的数据端口和一个位的数据端口和

11、一个3 3位的控制端口。位的控制端口。(2 2)8 8位数据端口可以是输入或者输出,输入位数据端口可以是输入或者输出,输入/ /出出均带锁存。均带锁存。(3 3) C C口有口有6 6位固定作为位固定作为A A口、口、 B B口的状态和控制口的状态和控制信号,剩下信号,剩下2 2位可由程序指定为输入和输出。位可由程序指定为输入和输出。在在方式方式1输入输入情况下,情况下,C口被定义的状态和控制信号有口被定义的状态和控制信号有 、 IBF和和INTR, 其含义如下:其含义如下: : 选通信号,选通信号, 低电平有效,低电平有效, 由外设提供。由外设提供。 有效时,外设把数据送入有效时,外设把数据

12、送入8255A的的A口或口或B口。口。 IBF:输入缓冲器满,高电平有效,由:输入缓冲器满,高电平有效,由8255A输出给输出给外设。当该信号有效时表明外设。当该信号有效时表明STBSTBSTB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器外设已将数据送到外设已将数据送到A口或口或B口的输入缓冲器。口的输入缓冲器。IBF由由 置位,置位, 的上升沿使它复位。的上升沿使它复位。IBF可作为可作为8255A与外设的联络信号。当与外设的联络信号。当IBF=0时,时,允

13、许外设向允许外设向8255A传送一个数据;传送一个数据; 当当IBF=1时,时,表示外设送来的数据还未被表示外设送来的数据还未被CPU取走,这时禁止取走,这时禁止外设向外设向8255A传送数据。传送数据。IBF也可作为也可作为CPU的查询的查询信号,当信号,当IBF=1时,告诉时,告诉CPU应该从应该从8255A的端口的端口读取数据。读取数据。STBRDINTR:中断请求信号,高电平有效,由:中断请求信号,高电平有效,由8255A发出。发出。 在程序设置的中断允许信号在程序设置的中断允许信号INTE=1的条件下,当的条件下,当 =1和和IBF=1时,时,INTR被置为被置为1, 的上升沿使它的

14、上升沿使它复位。复位。 INTE是端口内部的中断允许信号,是内部中断允是端口内部的中断允许信号,是内部中断允许触发器的状态,由许触发器的状态,由C口的位控字来设置。若位控口的位控字来设置。若位控字使字使PC4=1,则,则A口的中断允许信号口的中断允许信号INTEA=1;若;若位控字位控字PC2=1,则,则B口的中断允许信号口的中断允许信号INTB=1。这。这一点对于一点对于PC4和和PC2两引的两引的 、 功能并无功能并无影响。影响。STBRDSTBASTBB方式方式1 1输入引脚:输入引脚:B B端口端口PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号数据选通信

15、号表示外设已经准备好数表示外设已经准备好数据据输入缓冲器满信号输入缓冲器满信号表示表示A口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据中断允许触发器中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能方式方式1 1输入联络信号输入联络信号从外设来的数据INTRSTBRD3421IBF方式方式1 1输入的时序输入的时序方式方式1 1输出时,各个控制信号的意义输出时,各个控制信号的意义OBF(Output Buffer Full)OBF(Output Buffer Full):输出

16、缓冲器满信号,:输出缓冲器满信号,输出,低电平有效。当输出,低电平有效。当CPUCPU把数据写入端口把数据写入端口A A或或B B的输出缓冲器时,写信号的输出缓冲器时,写信号WRWR的上升沿把的上升沿把OBFOBF置成置成低电平,通知外设到端口低电平,通知外设到端口A A或或B B来取走数据,当外来取走数据,当外设取走数据时向设取走数据时向8255A8255A发应答信号发应答信号ACKACK,ACKACK的下的下降沿使降沿使OBFOBF恢复为高电平。恢复为高电平。ACK(Acknowledge)ACK(Acknowledge):外设应答信号,输入,低:外设应答信号,输入,低电平有效。当电平有效

17、。当ACKACK有效时,表示有效时,表示CPUCPU输出到输出到8255A8255A的数据已被外设取走。的数据已被外设取走。 INTR(Interrupt Request)INTR(Interrupt Request):中断请求信号,输:中断请求信号,输出,高电平有效。该信号由出,高电平有效。该信号由ACKACK的后沿的后沿( (上升沿上升沿) )在在INTE=1INTE=1且且OBF=1OBF=1的条件下产生,该信号使的条件下产生,该信号使8255A8255A向向CPUCPU发出中断请求。若发出中断请求。若CPUCPU响应此中断请响应此中断请求,则向数据口写入一求,则向数据口写入一方式方式1

18、 1输出时,各个控制信号的意义输出时,各个控制信号的意义新的数据,写信号新的数据,写信号WRWR上升沿上升沿( (后沿后沿) )使使INTRINTR复位,复位,变为低电平。变为低电平。INTE(Interrupt Enable)INTE(Interrupt Enable):中断允许信号,与:中断允许信号,与方式方式1 1输入类似,端口输入类似,端口A A的输出中断请求的输出中断请求INTRINTRA A可可以通过对以通过对PCPC6 6的置位或复位来加以允许或禁止。的置位或复位来加以允许或禁止。端口端口B B的输出中断请求信号的输出中断请求信号INTRINTRB B可以通过对可以通过对PCPC

19、2 2的置位或复位来加以允许或禁止。的置位或复位来加以允许或禁止。 方式方式1 1输出时,各个控制信号的意义输出时,各个控制信号的意义方式方式1 1输出引脚:输出引脚:A A端口端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式方式1 1输出引脚:输出引脚:B B端

20、口端口INTR送外设的数据数据有效WROBFACK1234 3 3方式方式2 2双向传输方式双向传输方式此方式只适用于端口此方式只适用于端口A A。这时,在。这时,在PAPA0 0PAPA7 7的的8 8位数位数据线上,外设既可以从据线上,外设既可以从8255A8255A获取数据;也可以获取数据;也可以向向8255A8255A发送数据。传输过程既可以工作于查询发送数据。传输过程既可以工作于查询方式,也可以工作于中断方式。方式,也可以工作于中断方式。方式方式2 2的主要特点的主要特点(1 1)仅限于端口)仅限于端口A A。(2 2)一个双向)一个双向8 8位数据总线端口位数据总线端口A A和一个

21、和一个5 5位的控位的控制制/ /状态端口状态端口C C。(3 3) 输入输入/ /输出均锁存。输出均锁存。D711/01/01/01工作方式控制字D6D5D4D3D2D1D0PA0 PA7PC7IBFAOBFAPC31INTE1STBAACKA8INTRA数据INTE2&PC6PC4PC5PC0 PC23I/OWRRD8DBD7D6D5D4D3D2D1D0A组状态方式 0输入/输出B 组状态OBFAIBFA INTE2INTRAINTE1C 口OBFBINTEBINTRBI/OI/OI/OIBFBINTEBINTRB 方式 1输入方式 1输出 8255A工作于方式工作于方式2的状态字

22、的状态字当当A A口工作于方式口工作于方式2 2时,允许中断,此时若时,允许中断,此时若B B口工口工作于方式作于方式1 1,则也允许中断。,则也允许中断。 这时就有三个中断这时就有三个中断源(源(A A口的输入和输出、口的输入和输出、B B口)、两个中断请求信口)、两个中断请求信号(号(INTRAINTRA、INTRBINTRB)。)。 CPUCPU在响应在响应8255A8255A的中断的中断请求时,先要查询请求时,先要查询PCPC3 3(INTRAINTRA)和)和PCPC0 0(INTRBINTRB),),以判断中断源是以判断中断源是A A口还是口还是B B口。如果中断源是口。如果中断源

23、是A A口,口, 还要进一步查询还要进一步查询PCPC5 5(IBFAIBFA)和)和PCPC7 7( ),), 以确定是输入中断还是输出以确定是输入中断还是输出中断。中断。 8255A8255A的工作方式的工作方式2 2是是A A口方式口方式1 1输出和方输出和方式式1 1输入两种操作的组合,所以方式输入两种操作的组合,所以方式2 2的工作过程的工作过程也同上述工作方式也同上述工作方式1 1的输出和输入过程。的输出和输入过程。 OBFAINTRWROBFAACKA送外设的数据数据有效1234STBA97IBFARD8255A8255A的编程的编程1. 1. 写入方式控制字:控制字格式写入方式

24、控制字:控制字格式1. 1. 写入方式控制字:示例写入方式控制字:示例2. 2. 读写数据端口读写数据端口2. 2. 读写数据端口:示例读写数据端口:示例3. 3. 读写端口读写端口C C:归纳:归纳1 1n在控制上,在控制上,C C端口上半部和端口上半部和A A端口编为端口编为A A组,组,C C端口下半部和端口下半部和B B端口编为端口编为B B组组3. 3. 读写端口读写端口C C:归纳:归纳2 2n其余引脚仍可设定工作在方式其余引脚仍可设定工作在方式0 03. 3. 读写端口读写端口C C:归纳:归纳3 3端口C的位控制字3. 3. 读写端口读写端口C C:归纳:归纳4 4端口C的状态

25、字A组B组七、七、82558255应用举例应用举例作为通用的并行接口电路芯片,作为通用的并行接口电路芯片,825A具有广具有广泛的应用泛的应用应用在应用在IBM PC/XT微机上微机上应用于打印机接口电路应用于打印机接口电路连接简易键盘连接简易键盘驱动驱动LED数码管数码管1 1、LEDLED显示器接口显示器接口2 2、并行打印机接口电路、并行打印机接口电路3 3、键盘接口、键盘接口1 1、LEDLED显示器接口显示器接口例例: :8255A8255A作为开关作为开关K0K3K0K3及七段及七段LEDLED显示器接口。要求显示器接口。要求开关设置的二进制信息,由开关设置的二进制信息,由PC0P

26、C3PC0PC3输入,经程序转换为输入,经程序转换为对应的七段对应的七段LEDLED显示器的字形代码后,由显示器的字形代码后,由PAPA口输出显示。口输出显示。8255APA7PA0驱动器+5V5VK0K1K2K3PC3PC2PC1PC0D7D0RD WR A1 A2 A B C G2A G2B G1 Y0 Y1 Y2 O O OD7D0 RD WR A0 A1 CSA0 A3A4A78086系统总线系统总线LS138接口电路接口电路M/IO&A5A6各端口地址为:各端口地址为:E8HEEH8255A8255A各端口地址确定各端口地址确定: :由图可知:由图可知: A7 A6 A5 A

27、4 A3 A2 A1 A01 1 1 0 1 08255A8255A方式选择控制字方式选择控制字: :CSA B C G2A G2B G1 Y0 Y1 Y2 A0 A3A4A7LS138M/IO&A5A6按题意设置端口按题意设置端口A A方式方式0 0输出输出, ,下下C C口输入口输入. .10000181HLED显示器的结构abdcefgdpLED显示器的外形abcdefgep共阳极LED显示器的结构abcdefgep共阴极LED显示器的结构LED显示器的结构可分为共阳极和共阴极两种 若要显示某个字符首先需要将它转换成对应的字形码若要显示某个字符首先需要将它转换成对应的字形码( (

28、也也称为段码称为段码) ),然后送到,然后送到LEDLED显示。这一转换过程称为译码。译显示。这一转换过程称为译码。译码方法分为软件译码法和硬件译码法两种码方法分为软件译码法和硬件译码法两种PA0PA0PA1PA1PA2PA2PA3PA3PA4PA4PA5PA5PA6PA6PA7PA78 82 25 55 5DB7-DB7-DB0DB0a ab bc cd de ef fg ge ep p方案方案1 1 共阳极共阳极LEDLED显示器与同相驱动器接显示器与同相驱动器接口口LEDLED显示器的工作原理显示器的工作原理软件译码:软件译码:abdcefgdpabdcefgdpD7 D6 D5 D4

29、D3 D2 D1 D0 dp g f e d c b a 0(C0H) 1 1 0 0 0 0 0 0abdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdp9(90H) 1 0 0 1 0 0 0 01(F9H) 1 1 1 1 1 0 0 12(A4H) 1 0 1 0 0 1 0 03(B0H) 1 0 1 1 0 0 0 04(99H) 1 0 0 1 1 0 0 15(92H) 1 0 0 1 0 0 1 06(82H) 1 0 0 0 0 0 1 07(F8H) 1 1 1 1 1 0 0 08

30、(80H) 1 0 0 0 0 0 0 0LEDLED显示器的工作原理显示器的工作原理PA0PA1PA2PA3PA4PA5PA6PA78255DB7-DB0abcdefgep方案2 共阳极LED显示器与反相驱动器接口abdcefgdpabdcefgdpD7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a 0(3FH) 0 0 1 1 1 1 1 1abdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdp9(6FH) 0 1 1 0 1 1 1 11(05H) 0 0 0 0 0

31、1 1 02(5BH) 0 1 0 1 1 0 1 13(4FH) 0 1 0 0 1 1 1 14(66H) 0 1 1 0 0 1 1 05(6DH) 0 1 1 0 1 1 0 16(7DH) 0 1 1 1 1 1 0 17(07H) 0 0 0 0 0 1 1 18(7FH) 0 1 1 1 1 1 1 1LEDLED显示器的字形代码表存放在显示器的字形代码表存放在TABLETABLE单元开始的内存中单元开始的内存中. .TABLE DBTABLE DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H 0C0H, 0F9H, 0A4H, 0B0

32、H, 99H, 92H, 82H, 0F8H DB 80H, 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EHDB 80H, 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EH编程:编程:实现操作的具体程序如下实现操作的具体程序如下: :MOVMOV DX, 0E8H DX, 0E8H;指向端口指向端口A A OUTOUT DX, AL DX, AL;输出字形码显示输出字形码显示 HLTHLTMOVMOV DX DX,0EEH 0EEH ;设置设置82558255A A工作方式工作方式 MOVMOV AL AL,81H81H OUTOUT DX DX,

33、ALALMOVMOV DX DX,0ECH 0ECH ;指向端口指向端口C C,读开关状态读开关状态 ININ AL AL,DXDX ANDAND AL AL,0FH0FHLEALEA BX BX,TABLE TABLE ;显示代码表首地址送显示代码表首地址送BXBXXLATXLAT ;查表,取出相应的字形码送查表,取出相应的字形码送ALAL硬件译码:硬件译码:利用专用接口芯片利用专用接口芯片74477447驱动驱动LEDLED显示器显示器74477447为为BCDBCD七段译码器七段译码器与单个与单个LEDLED的连接的连接74477447a b c d a b c d e f ge f g

34、13 12 11 10 13 12 11 10 9 15 149 15 14VccVccGNDGNDRBIRBIRBORBOLTLTA B C DA B C D3 34 45 5+5V+5V7 1 2 7 1 2 6 6+5V+5V16168 85V5VR=R=(5 51.5 1.5 0.2 0.2)V/ V/ 20mA=16820mA=168 取取R=150 R=150 5V5V1. 1. 5V5V0. 2V0. 2VI=20mAI=20mAR R LED LED显示器的电路设计分为两种,静态显示器的电路设计分为两种,静态显示和动态显示,两种电路各有长处和缺显示和动态显示,两种电路各有长处和

35、缺点,在不同情况下可采用不同的连接方式。点,在不同情况下可采用不同的连接方式。 下面是两种连接方式:下面是两种连接方式:PA0PA1PA2PA3 PA4 PA5PA6 PA77447a b c d e f gA B C D7447a b c d e f gA B C D7447a b c d e f gA B C D7447a b c d e f gA B C DPB0PB1PB2PB3 PB4 PB5PB6 PB7DB0DB7DB0DB77447BCD七段译码器与多个LED的连接5V静态显示器的设计静态显示器的设计器件多,输出显示后若不改器件多,输出显示后若不改变显示内容变显示内容CPU不用

36、干预不用干预 7447abcdefgABCDPB0PB1PB2PB3PA0PA1PA2PA3PA4PA5PA68255动态显示动态显示器的设计器的设计动态显示器控制程序的设计动态显示器控制程序的设计LEA SI,BUFFMOV CX,07HMOV DL,01H初始化结束取显示数据送段通道口延时位码送位通道口是否最后一位修改指针,位码NYMOV AL,SIOUT POTB,ALMOV AL,DLOUT POTA,ALINC SIROL DL PB0PA0PA1PA2PA3PA4PA5PA68255agPB774LS07初始化结束取显示数据查表得段码送段通道延时位码送位通道是否最后一位修改指针,位

37、码NYLEA SI,BUFFMOV CL,40HMOV BX,LED-ADDDISI:MOV AL,SI XLATMOV DX, POTBOUT DX,ALMOV AL,CLMOV DX, POTAOUT DX,ALINC SISHR CLJNZ DISI二、键盘接口二、键盘接口键盘是微型计算机系统中最常用的一种输入设备。键盘是微型计算机系统中最常用的一种输入设备。键盘有两种类型:键盘有两种类型:编码键盘和非编码键盘编码键盘和非编码键盘。 编码键盘能自动提供对应于被按键的编码,如编码键盘能自动提供对应于被按键的编码,如ASCIIASCII码,并能同时产生一个脉冲通知码,并能同时产生一个脉冲通知

38、CPUCPU。编码键盘。编码键盘还具有处理抖动和多键串键的保护电路。这种键盘的还具有处理抖动和多键串键的保护电路。这种键盘的优点是使用方便,但需要较多的硬件,价格昂贵。优点是使用方便,但需要较多的硬件,价格昂贵。 非编码键盘有一组开关组成,提供行和列的键非编码键盘有一组开关组成,提供行和列的键盘矩阵,其工作过程:按键的识别;按键代码的产盘矩阵,其工作过程:按键的识别;按键代码的产生;防止串键和消除抖动等均由程序来实现。故这生;防止串键和消除抖动等均由程序来实现。故这种键盘的优点是所需要的硬件较少,价格便宜,宜种键盘的优点是所需要的硬件较少,价格便宜,宜用微机化仪表的面板的键盘。用微机化仪表的面

39、板的键盘。 这里只介绍非编码键盘这里只介绍非编码键盘PB7PB6PB5PB4PB3PB2PB1PB0C98DE40F615B273APA0PA1PA2PA38255A8255A+5V4 4行行4 4列列1616个按键的键盘个按键的键盘工作原理键盘扫描过程:键盘扫描过程:(1 1)检测键盘上所有的键是否都松开,反复检测直至全松开。)检测键盘上所有的键是否都松开,反复检测直至全松开。(2 2)检测键盘上是否有键按下,反复检测直至有键按下。)检测键盘上是否有键按下,反复检测直至有键按下。(3 3)若有键按下,则消除键抖动后(硬件消抖动电路,软)若有键按下,则消除键抖动后(硬件消抖动电路,软件延时消抖

40、动下),再确认该键是否按下。件延时消抖动下),再确认该键是否按下。(4 4)对按下的键进行编码,即将该键所在的行号和列号转)对按下的键进行编码,即将该键所在的行号和列号转换成换成1616进制代码。进制代码。(6 6)根据代码转相应功能子程序。)根据代码转相应功能子程序。注:若在按键时,多个键盘同时按下,可取最后松开的按键注:若在按键时,多个键盘同时按下,可取最后松开的按键作为本次按下的键。作为本次按下的键。(5 5)检测该键是否松开,反复检测直至松开。)检测该键是否松开,反复检测直至松开。初始化:初始化:PORT-A EQU 0FF9H ;8255A口地址PORT-B EQU 0FFBH ;8

41、255B口地址PORT-CTL EQU 0FF9H ;8255控制口地址TABLE DB 77H, 7BH, 7DH,7EH DB 0B7H, 0BBH, 0BDH,0BEH DB 0D7H, 0DBH, 0DDH,0DEH DB 0E7H, 0EBH, 0EDH,0EEH8255初始化:方式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, ALWO: 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,OFH ;是否有键按下 JE WR ;否,等待 MOV CX, 16EAHDELAY: LOOP DELAY

温馨提示

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

评论

0/150

提交评论