书签 分享 收藏 举报 版权申诉 / 113
上传文档赚钱

类型可编程并行接口8255A课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3595067
  • 上传时间:2022-09-22
  • 格式:PPT
  • 页数:113
  • 大小:1.66MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《可编程并行接口8255A课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    可编程 并行 接口 8255 课件
    资源描述:

    1、并行通信和串行通信概念并行通信和串行通信概念可编程并行接口可编程并行接口8255A8255A8255A8255A编程应用编程应用本章小结本章小结本章习题本章习题9.1 并行通信与串行通信并行通信与串行通信 目目的的D0源源D1D2D3D7D4D5D6D0D1D2D3D7D4D5D600101011数据的各位同时由源到达目的地数据的各位同时由源到达目的地 快快多根数据线多根数据线 距离短、远程费用高距离短、远程费用高并行通信并行通信适于适于短距离短距离、高速高速通信通信将数据的各位将数据的各位同时同时在在多根并行线多根并行线上进行传输。上进行传输。数据的各位依次由源到达目的地数据的各位依次由源到

    2、达目的地 慢慢数据线少数据线少 远程远程,费用低费用低将数据的各位将数据的各位按时间顺序按时间顺序依次依次在一根传输线在一根传输线上传输。上传输。0 RXD目目的的TXD源源串行通信串行通信适于适于长距离长距离、中低速中低速通信通信01010119.1 并行通信与串行通信并行通信与串行通信l 并行接口的典型硬件结构包括:并行接口的典型硬件结构包括:1、一个或一个以上具有锁存或缓冲的数据端口、一个或一个以上具有锁存或缓冲的数据端口2、与、与CPU进行数据交换所必须的控制和状态信号进行数据交换所必须的控制和状态信号3、与外设进行数据交换所必须的控制和状态信号、与外设进行数据交换所必须的控制和状态信

    3、号4、端口译码电路、端口译码电路5、控制电路、控制电路9.2 并行接口概述并行接口概述l 并行接口连接并行接口连接CPU与并行外设,实现与并行外设,实现 两者间的并行通信,两者间的并行通信,在信息传送过程中,起到输出锁存或输入缓冲的作用。在信息传送过程中,起到输出锁存或输入缓冲的作用。CPUCPU控制寄存器控制寄存器输入缓冲寄存器输入缓冲寄存器输出缓冲寄存器输出缓冲寄存器状态寄存器状态寄存器数据总线数据总线地址地址译码译码读出信号读出信号写入信号写入信号复位复位准备好准备好中断请求中断请求地址地址片选片选A A0 0A A1 1输输入入设设备备数据输入数据输入数据输入准备好数据输入准备好数据输

    4、入回答数据输入回答输输出出设设备备数据输出数据输出数据输出准备好数据输出准备好数据输出回答数据输出回答并行接口连接外设示意图并行接口连接外设示意图输入过输入过程程 外设将数据外设将数据=接口接口 状态线状态线“数据输入准备好数据输入准备好”=1;接口把接收到数据输入缓冲寄存器;接口把接收到数据输入缓冲寄存器;数据输入回答数据输入回答=1,作为对外设响应信号;,作为对外设响应信号;外设撤消外设撤消“数据数据”和和“数据输入准备好数据输入准备好”信号;信号;CPU从接口读取数据从接口读取数据接口收到数据,设置接口收到数据,设置“输入准备好输入准备好”状态位;状态位;供给供给CPU查询查询 或问或问

    5、CPU发中断请求;发中断请求;CPU从接口读取数据,从接口读取数据,接口自动清除状态寄存器输入准备好状态位(准备好);接口自动清除状态寄存器输入准备好状态位(准备好);数据总线处于高阻状态。开始下一个输入过程数据总线处于高阻状态。开始下一个输入过程输出过程输出过程输出输出:每当外设从接口取走一个数据以后,:每当外设从接口取走一个数据以后,CPU往接口中输出数据往接口中输出数据接口中状态寄存器发中断请求;接口中状态寄存器发中断请求;(“输出准备好输出准备好”=1,表示,表示CPU可以往接口中输出数据)可以往接口中输出数据)CPU向接口输出数据,数据到接口缓冲寄存器;向接口输出数据,数据到接口缓冲

    6、寄存器;接口自动清除接口自动清除“输出准备输出准备”好。好。将数据送往外设:将数据送往外设:接口向外设发送一个接口向外设发送一个“驱动信号驱动信号”,启动外设接收数据。,启动外设接收数据。外设收到数据向接口发一个外设收到数据向接口发一个“数据输出回答数据输出回答”信号;信号;接口收到的信号将状态寄存器中接口收到的信号将状态寄存器中“输出准好输出准好”=1;CPU输出下一个数据。输出下一个数据。不可编程并行接口和可编程并行接口不可编程并行接口和可编程并行接口 不可编程并行接口的工作方式和功能不可编程并行接口的工作方式和功能:是由硬件接线决定,不能用软件来控制。是由硬件接线决定,不能用软件来控制。

    7、可编程并行接口的工作方式和功能可编程并行接口的工作方式和功能:可用软件编程的方法改变,可用软件编程的方法改变,使接口具有更大使接口具有更大的灵活性和通用性。的灵活性和通用性。9.3 9.3 可编程并行接口可编程并行接口8255Al8255A的引脚、编程结构l8255A的控制字l8255A三种工作方式l8255A的应用举例9.3.1 8255A内部结构内部结构思考题1)当数据从)当数据从8255的端口的端口C往数据总线上读出时,往数据总线上读出时,8255的几个控制信号的几个控制信号/CS、A1、A0、/RD、/WR分别是分别是 、?2)一台微机化仪器采用)一台微机化仪器采用8255A芯片作为数

    8、据传送接芯片作为数据传送接口,并规定使用口,并规定使用I/O地址的最低两位作芯片内部寻地址的最低两位作芯片内部寻址,已知芯片址,已知芯片A口地址为口地址为0F4H,则当,则当CPU执行输出执行输出指令访问指令访问0F7H端口时,其操作为端口时,其操作为 。A.数据从端口数据从端口C送数据总线送数据总线 B.数据从数据总线送端口数据从数据总线送端口C C.控制字送控制寄存器控制字送控制寄存器 D.数据从数据总线送端口数据从数据总线送端口Bn方式方式0:基本输入输出方式基本输入输出方式n方式方式1:选通输入输出方式选通输入输出方式n方式方式2:双向选通传送方式双向选通传送方式三种工作方式均可由用户

    9、编程来选定,即由编程三种工作方式均可由用户编程来选定,即由编程送入控制口内的不同控制字来选择。送入控制口内的不同控制字来选择。9.3.2 8255A芯片的控制字芯片的控制字n控制命令字的形式控制命令字的形式 n 工作方式控制字工作方式控制字n C口置口置/复位控制字复位控制字 n 注注:怎样解决一址两字写入怎样解决一址两字写入n一址两字识别位一址两字识别位(在写入的控制字中在写入的控制字中)n 若若b7=1时时,写入工作方式控制字写入工作方式控制字n 若若b7=0时时,写入写入C口置口置/复位控制字复位控制字 9.3.2 8255A芯片的控制字芯片的控制字111.写入方式控制字:示例n要求:要

    10、求:nA端口:方式端口:方式1输入输入nC端口上半部:输出,端口上半部:输出,C口下半部:输入口下半部:输入nB端口:方式端口:方式0输出输出n方式控制字:方式控制字:10110001B或或B1Hn初始化的程序段:初始化的程序段:mov dx,0fffeh;假设控制端口为假设控制端口为FFFEHmov al,0b1h;方式控制字方式控制字out dx,al;送到控制端口送到控制端口2.读写数据端口n初始化编程后:初始化编程后:n当数据端口作为输入接口时,执行当数据端口作为输入接口时,执行 输入输入IN指令将从输入设备得到外设数据指令将从输入设备得到外设数据n当数据端口作为输出接口时,执行当数据

    11、端口作为输出接口时,执行 输出输出OUT指令将把指令将把CPU的数据送给输出设备的数据送给输出设备 例例1:如图所示,由如图所示,由8255A的的B口,以方式口,以方式0控制控制8个发光二个发光二极管,从极管,从LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7循环点亮,每个发光二极管亮循环点亮,每个发光二极管亮1S。试编制试编制8255A的初始化程序和控制程序。设的初始化程序和控制程序。设8255A的端口的端口地址:地址:A口、口、B口、口、C口和控制口分别为口和控制口分别为80H、82H、84H和和86H,1S延时可调用延时可调用D1S子程序实现。子程序实现。n

    12、 MOV AL,80H OUT 86H,AL ;设工作方式设工作方式 MOV AL,01HX1:OUT 82H,AL CALL D1S ;调调D1S延时子程序延时子程序 ROL AL,1 JMP X1 HLT返回1=置置10=置置00 D7 D6 D5 D4 D3 D2 D1 D0端口端口C置置1/0控制字控制字标志标志0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7:示例n要使端口要使端口C的的PC7=1,使使PC3=0,设控制口地,设控制口地址为址为283H,请编写初始化程序。,请编写初始化程序

    13、。nmov al,0fh ;置置PC7=1的控制字的控制字nmov dx,0283hnout dx,alnmov al,06h ;置置PC3=0的控制字的控制字nout dx,al提问2:n8255A的方式选择控制字和置的方式选择控制字和置1/置置0控制控制字都是写入控制端口的,那么,它们是字都是写入控制端口的,那么,它们是由什么来区分的?由什么来区分的?n利用利用8255的的PC5产生负脉冲,作打印机产生负脉冲,作打印机接口电路的数据选通信号。假设接口电路的数据选通信号。假设8255端端口地址为口地址为300H-303H。9.3.3 8255A的工作方式及应用举例n方式方式0:基本输入输出方

    14、式:基本输入输出方式n适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路n方式方式1:选通输入输出方式:选通输入输出方式n适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路n方式方式2:双向选通传送方式:双向选通传送方式n适用于与双向传送数据的外设适用于与双向传送数据的外设n适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路 任何一个端口可以作为输入口,也可以作为任何一个端口可以作为输入口,也可以作为输出口。输出口。各个端口输入或输出,可以有各个端口输入或输出,可以有1616种不同的组种不同的组合,所以可以适用于多种使用场合。合,所以可以适用于多种使用

    15、场合。方式0输入时序datadata输入端口输入端口D0D7RD CS,A1,A0请体会这里请体会这里8255A8255A的数据缓冲作用的数据缓冲作用方式0输出时序WRdatadata输出端口输出端口D0D7 CS,A1,A08255A8255A对对CPUCPU通过它输出给外设的数据进行锁存通过它输出给外设的数据进行锁存方式方式0应用举例:打印机接口的信号与时序应用举例:打印机接口的信号与时序BUSYDATA07ACKSTROBEn主机把数据送给引脚主机把数据送给引脚DATA0DATA7n同时送出数据选通信号同时送出数据选通信号STROBE*n打印机在打印机在BUSY信号线上发出忙信号信号线上

    16、发出忙信号n打印机处理好输入的数据时打印机处理好输入的数据时n撤消忙信号撤消忙信号n同时又送出一个响应信号同时又送出一个响应信号ACK*用8255A方式0与打印机接口BUSY DATA078255APC7PC2PA0PA7打印机打印机STROBE8255A的初始化mov dx,0fffeh;控制端口地址:控制端口地址:FFFEHmov al,10000001B;方式控制字:方式控制字:91Hout dx,al;A端口方式端口方式0输出,输出,C端口上输出、下输入端口上输出、下输入mov al,00001111B;端口端口C的复位置位控制字,使的复位置位控制字,使PC71out dx,al例11

    17、.1打印子程序:查询printcprocpush axpush dxprn:mov dx,0fffch;读取端口读取端口Cin al,dx;查询打印机状态查询打印机状态and al,04h;PC2BUSY0?jnz prn;PC21,打印机忙,则循环等待,打印机忙,则循环等待例11.1打印子程序:输出mov dx,0fff8h;PC20,打印机不忙,则输出数据,打印机不忙,则输出数据mov al,ahout dx,al;将打印数据从端口将打印数据从端口A输出输出例11.1打印子程序:打印mov dx,0fffeh;从从PC7送出控制低脉冲送出控制低脉冲mov al,00001110B;置置ST

    18、ROBE*0out dx,alnop;产生一定宽度的低电平产生一定宽度的低电平nopmov al,00001111B;置置=1out dx,al;最终,最终,STROBE*产生低脉冲信号产生低脉冲信号例11.1打印子程序:返回pop dxpop axretprintcendp例11.1数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器输入引脚:A端口方式1输入引脚:B端口PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好

    19、数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能方式1输入联络信号nSTB*选通信号,低电平有效选通信号,低电平有效n由外设提供的输入信号,当其有效时,将输入设备送由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至来的数据锁存至8255A的输入锁存器的输入锁存器nIBF输入缓冲器满信号,高电平有效输入缓冲器满信号,高电平有效n8255A输出的联络信号。当其有效时,表示数据已输出的联络信号。当其有效时,表示数据已锁存在输入锁存器锁存

    20、在输入锁存器nINTR中断请求信号,高电平有效中断请求信号,高电平有效n8255A输出的信号,可用于向输出的信号,可用于向CPU提出中断请求,提出中断请求,要求要求CPU读取外设数据读取外设数据方式1输入时序PA7PA7PA0PA0PB7PB7PB0PB0STBIBFINTRRD外设送来数据外设送来数据当当INTE=1时时 RDRDD7D7D0D0PB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEAINTEAPC2PC2与门与门IBFIBFSTBSTBINTRINTR方式1中断控制n8255A的中断由中断允许触发器的中断由中断允许触发器INTE控制控制n置位允许中断,复位禁止

    21、中断置位允许中断,复位禁止中断n对对INTE的操作通过写入端口的操作通过写入端口C的对应位实的对应位实现,现,INTE触发器对应端口触发器对应端口C的位是作应答的位是作应答联络信号的输入信号的哪一位,只要对那联络信号的输入信号的哪一位,只要对那一位置位一位置位/复位就可以控制复位就可以控制INTE触发器触发器n选通输入方式下选通输入方式下n端口端口A的的INTEA对应对应PC4n端口端口B的的INTEB对应对应PC2方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAI

    22、NTRAACKA中断允许触发器方式1输出引脚:B端口PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式1输出联络信号nOBF*输出缓冲器满信号,低有效输出缓冲器满信号,低有效n8255A输出给外设的一个控制信号,当其有效时,输出给外设的一个控制信号,当其有效时,表示表示CPU已把数据输出给指定的端口,外设可以取走已把数据输出给指定的端口,外设可以取走nACK*响应信号,低有效响应信号,低有效n外设的响应信号,指示外设的响应信号,指示8255A的端口数据已

    23、由外设的端口数据已由外设接受接受nINTR中断请求信号,高有效中断请求信号,高有效n当输出设备已接受数据后,当输出设备已接受数据后,8255A输出此信号向输出此信号向CPU提出中断请求,要求提出中断请求,要求CPU继续提供数据继续提供数据端口端口A A的的INTEAINTEA对应对应PCPC6 6端口端口B B的的INTEBINTEB对应对应PCPC2 2方式1输出时序WROBFACK当当INTE=1时时 送往外设数据送往外设数据数据写入端口数据写入端口PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6与门与门OBFAOBFAACKAACKAINTRA

    24、INTRAWRWRD7D7D0D0INTR2.查询方式的双机并行通信查询方式的双机并行通信甲乙两台微机之间并行传送1K字节数据。甲机发送,乙机接收。甲机一侧的8255A采用方式1工作,乙机一侧的8255A采用方式0工作。两机的CPU与接口之间都采用查询方式交换数据。(1)接口电路设计接口电路设计接口电路的连接如图916所示。甲机甲机8255A是是方式方式1发送,因此,把发送,因此,把PA口口指定为输出指定为输出,发送数据,而,发送数据,而PC7和和PC6引脚分引脚分别固定作联络线别固定作联络线 。乙机。乙机8255A是是方方式式0接收数据,故把接收数据,故把PA口定义为输入口定义为输入,另外,

    25、另外,选用引脚选用引脚PC7和和PC3作联络线。虽然,两侧的作联络线。虽然,两侧的8255A都设置了联络线,但有本质的差别:都设置了联络线,但有本质的差别:甲机甲机8255A是方式是方式1,其联络线是固定的,不,其联络线是固定的,不可替换的;乙机的可替换的;乙机的8255A是方式是方式0,其联络线,其联络线是不固定的,可以选择,比如可选择是不固定的,可以选择,比如可选择PC4和和PC1、或、或PC5、PC2等任意组合。等任意组合。ACKOBF和甲机发送流程图甲机发送流程图:按方式按方式1初始化初始化8255A置发送中断允许置发送中断允许内存首地址内存首地址-SI字节数字节数-CX从内存取一个数

    26、据从内存取一个数据从从A口发送第一个数据口发送第一个数据SI+1CX-1 INTR=1?从从A口发下一个数据口发下一个数据内存内存+1字节字节-1发送完?发送完?返回返回DOS乙机接收流程图乙机接收流程图:按方式按方式0初始化初始化8255A置置ACK=1内存首地址内存首地址-DI字节数字节数-CX查查OBF=0?从从A口接收一个数据口接收一个数据存存1个数据个数据置置ACK=0发送完?发送完?返回返回DOS延时延时置置ACK=1DI+1CX-1YNYN(2)接口软件编程接口软件编程接口驱动程序包含发送程序和接收程序。甲机发送程序段:甲机发送程序段:MOVDX,303H;8255A 命令口MO

    27、VAL,10100000B;初始化工作方式字OUTDX,ALMOVAL,0DH;置发送中断允许INTEA=1OUTDX,AL;PC6=1MOVSI,OFFSET BUFS;设置发送数据区的指针MOVCX,3FFH;发送字节数MOVDX,300H;向A口写第一个数,产生第;一个OBF信号MOVAL,SI;送给乙方,以便获取乙方的;ACK信号OUTDX,ALINCSI;内存地址加1DECCX;传送字节数减1MOVDX,302H;8255A 状态口INAL,DX;查发送中断请求INTRA=1?ANDAL,08H;PC3=1?JZL;若无中断请求,则等待;若有中断请求,则向A口写数MOVDX,300H

    28、;8255APA口地址MOVAL,SI;从内存取数OUTDX,AL;通过A口向乙机发送第二个数据INCSI;内存地址加1DECCX;字节数减1JNZL;字节未完,继续MOVAH,4C00H;已完,退出INT21H;返回DOSBUFSDB 1024个数据L:乙机接收程序段乙机接收程序段:MOVDX,303H;8255A命令口MOVAL,10011000B;初始化工作方式字OUTDX,ALMOVAL,00000111B;置ACK=1(PC3=1)OUTDX,ALMOVDI,OFFSET BUFR;设置接收数据区的指针MOVCX,3FFH;接收字节数MOVDX,302H;8255A PC口INAL,

    29、DX;查甲机的OBF=0?;(乙机的PC7=0)ANDAL,80H;即查甲机是否有数据发来JNZL1;若无数据发来,则等待;若有数据,则从A口读数MOVDX,300H;8255A PA口地址INAL,DX;从A口读入数据MOVDI,AL;存入内存MOVDX,303H;产生ACK信号,并发回给甲机MOVAL,00000110B;PC3 置“0”OUTDX,ALNOPNOPL1:MOVAL,00000111B;PC3 置“1”OUTDX,ALINCDI;内存地址加1DECCX;字节数减1JNZL1;字节未完,则继续MOVAX,4C00H;已完,退出INT21H;返回DOSBUFRDB 1024 D

    30、UP(?)方式2双向方式n方式方式2将方式将方式1的选通输入输出功能组合成一个的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据双向数据端口,可以发送数据和接收数据n只有端口只有端口A可以工作于方式可以工作于方式2,需要利用端口,需要利用端口C的的5个信号线,其作用与方式个信号线,其作用与方式1相同相同n方式方式2的数据输入过程与方式的数据输入过程与方式1的输入方式一样的输入方式一样n方式方式2的数据输出过程与方式的数据输出过程与方式1的输出方式有一的输出方式有一点不同:数据输出时点不同:数据输出时8255A不是在不是在OBF*有效时有效时向外设输出数据,而是在外设提供响应信号向

    31、外设输出数据,而是在外设提供响应信号ACK*时才送出数据时才送出数据方式2双向引脚PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号9.4 8255A在IBM PC/XT上的应用n工作在基本输入工作在基本输入/输出方式输出方式0n端口端口A为方式为方式0输入,用来读取键盘扫描码输入,用来读取键盘扫描码n端口端口B工作于方式工作于方式0输出,例如输出,例如控制扬声器控制扬声器等等n端口端口C为方式为方式0输入,读取系统状态和配置输入,读取系统状

    32、态和配置8255A的键盘和扬声器控制示意8255APB1PB0驱动驱动电路电路扬声器扬声器GATE2CLK2时钟信号时钟信号与门与门8253的计数器的计数器2 PA7PA0PB7PB6键盘扫描码键盘扫描码键盘控制信号键盘控制信号8255并行接口应用举例并行接口应用举例 可编程并行接口8255A可为86系列微处理器提供3个独立的并行输入/输出接口。利用输出接口与数模转换器相连,可控制输出模拟量的大小。这个模拟量可以是电压的高低、电流的大小、速度的快慢、声音的强弱以及温度的升降等。利用模数转换器又可将它们变换成数字量,通过并行输入端口送回微机系统中。这种闭环调节系统在实践中应用非常广泛。P211页

    33、图8-20n1按键的形式分类按键的形式分类 键盘按其按键的结构形式来分一般有键盘按其按键的结构形式来分一般有机械式、电容式、电感式、磁感式、薄膜机械式、电容式、电感式、磁感式、薄膜式和橡胶垫式等。其中最常用的是机械式式和橡胶垫式等。其中最常用的是机械式和电容式键盘。其按键结构原理如图和电容式键盘。其按键结构原理如图5.2所所示。示。键盘是微机系统最常使用的输入设备键盘是微机系统最常使用的输入设备9.5 键盘及其接口(自学)2按插口方式分类 按照键盘插口方式,键盘可分为串按照键盘插口方式,键盘可分为串口(口(AT)键盘(大口)、并口(即)键盘(大口)、并口(即PS/2)键盘(小口)两类。其接口引

    34、脚)键盘(小口)两类。其接口引脚及功能说明如图及功能说明如图9.3所示。所示。图图9.1 键盘插座示意图及各引脚功能键盘插座示意图及各引脚功能说明 1、KBD DATA51562、保留3、GND34344、+5V5、KDB CLK2126、保留 (a)(b)3按键盘编码方式分类 l分为编码键盘和非编码键盘。分为编码键盘和非编码键盘。l编码键盘是编码键盘是内部设有键盘编码器内部设有键盘编码器,能识键、生成键能识键、生成键码、去抖动、防串键。码、去抖动、防串键。键盘电路在某个键被按下后,键盘电路在某个键被按下后,能提供该键所代表的信息代码,并以并行或串行信能提供该键所代表的信息代码,并以并行或串行

    35、信号输给号输给CPU。l非编码键盘只非编码键盘只提供键盘矩阵,按键的识别、键码提供键盘矩阵,按键的识别、键码的提供都由软件来完成。的提供都由软件来完成。是一种便宜而广泛用于微是一种便宜而广泛用于微机系统的输入设备。这种键盘内部有一个扫描电路,机系统的输入设备。这种键盘内部有一个扫描电路,不断地扫描键盘是否有键被按下。此键所代表的键不断地扫描键盘是否有键被按下。此键所代表的键盘信息代码,则由键盘接口及键盘处理软件根据键盘信息代码,则由键盘接口及键盘处理软件根据键盘送来的位置信息产生,然后再送给盘送来的位置信息产生,然后再送给CPU。返回本节返回本节1.1.键盘接口的功能和原理键盘接口的功能和原理

    36、1 1)接口功能)接口功能去抖动去抖动:时间520ms,软件延时或硬件完成防串键防串键:多键同时按下或前一按键未释放又按下新键的处理按键识别按键识别:键码产生键码产生:得到反映键功能的键码,查表法双键锁定双键锁定:后释放者有效 N N键轮回键轮回:所有键依顺序产生键码行扫描行扫描:逐行扫描,由列线状态识别 线反转线反转:行列颠倒两次扫描识别2 2)接口原理)接口原理非编码键盘,行扫描,低有效l是否有键按下是否有键按下:输出扫描码,使所有行线为0,读列线,全1无键按下l去抖动去抖动:延时20msl按键识别按键识别:逐行扫描确定按键(相应行线为0,读列线,是否非全1)并得键号l产生键码产生键码:根

    37、据键号查键盘编码表9.5.1 简易键盘的工作原理+5V+5V+5Vn最简单的线性结构键盘最简单的线性结构键盘n每一个引脚连接一个键每一个引脚连接一个键n输入输入0/1反映健是否高低反映健是否高低在实际应用中,要考虑键抖动问题的处理。线性键盘有多少按键,就有多少根连线与微机输入端口相连,因此只适合于按键少的应用场合,常用于某些微机化仪器或专用微机系统中。键抖动的处理键抖动的处理在实际按键操作中,由于按键动作是一个机械动作,键在闭合或断开的过程会发生抖动,如图919所示。919 键抖动过程在键盘接口中,使用更普遍的是采用软件延时的方法来完成消抖。其基本思想是:在检测到按键按下或释放时,记录按键的状

    38、态,延时10ms20ms,再次检测按键的状态,若与前一次的状态相同,说明按键的状态已稳定,可进行处理;否则,表示键的状态不稳定,可能是误动作,不应被处理。对于电路中单个键的处理,可以使用如下程序:INAL,20H;读取键状态ANDAL,01HJNZEXIT;无键按下,退出键处理程序CALL Delay;延时10msINAL,20H;再次读取键状态ANDAL,01H键处理程序JNZEXIT;无键按下,退出键处理程序2.2.矩阵键盘及其接口矩阵键盘及其接口矩阵键盘的按键排成n行m列,每个按键占据行列的一个交叉点,需要的输入输出线为n+m,最大按键数为nm。显然,在按键较多的应用场合,矩阵键盘可以减

    39、少与微机系统接口的连线,是一般微机常用的键盘结构。图91为一个34矩阵键盘及其接口电路。图921 34矩阵键盘的接口PA0PB08255APA1PA2PB1PB2PB3键0123567490A0B8行 0行 1行 3+5V列 0列 1列 2列 3图921 34矩阵键盘的接口PA0PB08255APA1PA2PB1PB2PB3键0123567490A0B8行 0行 1行 3+5V列 0列 1列 2列 3图9-134矩阵键盘的接口例:例:4 4 8 8键盘键盘,8255A,8255A作接口作接口,PA,PA作行扫描口作行扫描口,PB,PB读取列读取列值值 PB7 PB6 PB5 PB4 PB3 P

    40、B2 PB1 PB0 非编码键盘接口原理非编码键盘接口原理 7 6 5 4 3 2 1 0+5V F E D C B A 9 8 17 16 15 14 13 12 11 10 1F 1E 1D 1C 1B 1A 19 18 PA0 PA1 PA2 PA3 CPU 8255A 程序流程图程序流程图8255A8255A的的PAPA方式方式0 0、输出、输出 PBPB方式方式0 0、输入、输入 方式字方式字:82H :82H 设设8255A8255A地址地址300H300H303H303H8255A初始化初始化 Y 置所有行线为低电平置所有行线为低电平 读取列线值读取列线值 是否有键按下?是否有键

    41、按下?所有行扫描完所有行扫描完?修改行扫描码修改行扫描码 延时,去抖动延时,去抖动 N N Y Y 行扫描码初值行扫描码初值 AH 置行数、列数、键号初值置行数、列数、键号初值 当前行有键按下?当前行有键按下?N 行扫描法程序流程图行扫描法程序流程图 输出行扫描码输出行扫描码 读取列值读取列值 Y 键号键号 1 列值右移列值右移 移出位为移出位为 0?N 已得到键号已得到键号 MOV DX,300HMOV AL,AHOUT DX,AL ;输出行扫描码MOV DX,301HIN AL,DX ;读取列值CMP AL,0FFHJNZ F_KEY ;找到按键,转去计算键号ROL AH,1 ;修改扫描码

    42、ADD CL,BH ;按键,使键号取该行末列的键号值DEC BLJNZ NEXT ;未扫完,进入下一行扫描JMP SCANINC CLRCR AL,1JC F_KEYMOV BUF,CL;根据键号查找键盘编码表,获取与键功能对应的键码NEXT:F_KEY:SEGMENT DW n ;延时常数(使延时时间约20ms)DB?;存储按键的键号ENDS ;8255A初始化MOV DX,303HMOV AL,82HOUT DX,AL;检测是否有键按下 MOV DX,300HMOV AL,0OUT DX,AL ;令所有行线为低电平MOV DX,301HIN AL,DX ;读取列线值CMP AL,0FFHJ

    43、Z WAIT ;所有列线为高,无键按下;有键按下,延时去抖动MOV CX,NUMLOOP DLY;按键识别 MOV AH,0FEH ;行扫描码初值MOV BL,4 ;行数MOV BH,8 ;列数MOV CL,0FFH ;键号初值设为1WAIT:SCAN:DLY:KEY:DATADATANUMBUF1.扫描法n先使第先使第0行接低电平,其余行为高电平,然后看行接低电平,其余行为高电平,然后看第第0行是否有键闭合(通过检查列线电位实现)行是否有键闭合(通过检查列线电位实现)n此后,再将第此后,再将第1行接地,然后检测列线是否有变行接地,然后检测列线是否有变为低电位的线。如此往下为低电位的线。如此往

    44、下一行一行地扫描一行一行地扫描,直到,直到最后一行最后一行n在扫描过程中,当发现某一行有键闭合时,便在在扫描过程中,当发现某一行有键闭合时,便在扫描中途退出扫描中途退出n通过组合行线和列线可识别此刻按下的是哪一键通过组合行线和列线可识别此刻按下的是哪一键2.反转法n首先,将行线作为控制线接一个输出端口,将列首先,将行线作为控制线接一个输出端口,将列线作为检测线接一个输入端口线作为检测线接一个输入端口nCPU通过输出端口将行线(控制线)全部设置为低电通过输出端口将行线(控制线)全部设置为低电平,然后从输入端口读取列线(检测线)平,然后从输入端口读取列线(检测线)n然后,将行线和列线的作用互换,即

    45、将列线作为然后,将行线和列线的作用互换,即将列线作为控制线接输出端口,行线作为检测线接输入端口控制线接输出端口,行线作为检测线接输入端口n将刚才读得的列值从列线所接端口输出,再读取行线将刚才读得的列值从列线所接端口输出,再读取行线的输入值的输入值n这样,当一个键被按下时,必定可以读得一对唯这样,当一个键被按下时,必定可以读得一对唯一的行值和列值一的行值和列值条件条件:连接行线和列线的接口电路:连接行线和列线的接口电路必须支持必须支持动态改变输入、输出方式动态改变输入、输出方式DBPB6PB7PAIRQ1T1P10P21P11P22P204 GND1 CLOCK2 DATA5 +5V3 RESE

    46、TPC机键盘机键盘系统板系统板80488255A8259ALS322串串并并转转换换器器键键盘盘阵阵列列按键按键选通选通9.5.2 PC机键盘的工作原理接口电路的组成接口电路的组成单片机单片机8048:8048:完成对键盘的扫描、编码工作完成对键盘的扫描、编码工作,利用内部的计数器对键利用内部的计数器对键盘矩阵扫描盘矩阵扫描,形成按键的扫描码形成按键的扫描码(即行列位置码即行列位置码),),再通过串行口送出再通过串行口送出单片机单片机80488048及键盘矩阵组成的智能化键盘及键盘矩阵组成的智能化键盘,独立于主机独立于主机串并转换器串并转换器74LS32274LS322、并行接口芯片、并行接口

    47、芯片8255A8255A和中断触发器组成和中断触发器组成,在主机箱内在主机箱内CPUCPU响应键盘的硬件中断响应键盘的硬件中断,在中断服务程序中在中断服务程序中,由由8255A8255A的的PAPA口可以读口可以读到键盘扫描码到键盘扫描码 1、PC机键盘的工作过程n键盘电路正常工作时不断地扫描键盘矩阵键盘电路正常工作时不断地扫描键盘矩阵n有按键,则确定按键位置之后以串行数据有按键,则确定按键位置之后以串行数据形式发送给系统板键盘接口电路形式发送给系统板键盘接口电路n键按下时,发送该键的接通扫描码键按下时,发送该键的接通扫描码n键松开时,发送该键的断开扫描码键松开时,发送该键的断开扫描码n若一直

    48、按住某键,则以拍发速率(每秒若一直按住某键,则以拍发速率(每秒230次)连续发送该键的接通扫描码次)连续发送该键的接通扫描码接通接通扫描码扫描码反映该键在键盘上的位置反映该键在键盘上的位置断开扫描码(接通扫描码最高位置断开扫描码(接通扫描码最高位置1 1)接通扫描码接通扫描码80H80H2.键盘接口电路的工作过程n接收一个串行形式字符以后,进行串并转换接收一个串行形式字符以后,进行串并转换n然后产生键盘中断然后产生键盘中断IRQ1请求,等待读取键盘数请求,等待读取键盘数据据nCPU响应中断,则进入响应中断,则进入09H键盘中断服务程序键盘中断服务程序:读取键盘扫描码:用读取键盘扫描码:用IN

    49、AL,60H即可即可 响应键盘:系统使响应键盘:系统使PB71 允许键盘工作:系统使允许键盘工作:系统使PB70 处理键盘数据处理键盘数据 给给8259A中断结束中断结束EOI命令,中断返回命令,中断返回3.PC机键盘中断服务程序n09H号中断服务程序(号中断服务程序(kbint过程)过程)n完成常规的操作完成常规的操作n处理键盘数据:将获取的扫描码通过查表转换处理键盘数据:将获取的扫描码通过查表转换为对应的为对应的ASCII码送缓冲区。对于不能显示的码送缓冲区。对于不能显示的按键,则转换为按键,则转换为0,且不再送至缓冲区,且不再送至缓冲区n键盘键盘I/O功能程序(功能程序(kbget子程序

    50、)子程序)n从缓冲区中读取转换后的从缓冲区中读取转换后的ASCII码码n功能调用(主程序)功能调用(主程序)n循环显示键入的字符循环显示键入的字符键盘缓冲区n中断服务程序与子程序之间传递参数中断服务程序与子程序之间传递参数n先进先出循环队列先进先出循环队列n队列空队列空n进队列进队列n出队列出队列n队列满队列满buffer0129队列始端队列始端队列末端队列末端9.6 LED(发光二极管)显示器及其接口1 1、七段、七段LEDLED显示器的结构显示器的结构 pgf edcbaD7 D6 D5 D4 D3 D2 D1 D0aefgbcd p共阳极LED,使a,b,g,e,d段为低电平,其他段为高

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:可编程并行接口8255A课件.ppt
    链接地址:https://www.163wenku.com/p-3595067.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库