[理学]微机原理与接口技术1课件.ppt

上传人(卖家):三亚风情 文档编号:2891451 上传时间:2022-06-08 格式:PPT 页数:82 大小:1.39MB
下载 相关 举报
[理学]微机原理与接口技术1课件.ppt_第1页
第1页 / 共82页
[理学]微机原理与接口技术1课件.ppt_第2页
第2页 / 共82页
[理学]微机原理与接口技术1课件.ppt_第3页
第3页 / 共82页
[理学]微机原理与接口技术1课件.ppt_第4页
第4页 / 共82页
[理学]微机原理与接口技术1课件.ppt_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、0:020:02第第7 7章章 并行接口并行接口教学目的和要求:教学目的和要求:n掌握掌握8255A的功能、结构和工作原理的功能、结构和工作原理 n掌握并行接口电路的设计方法掌握并行接口电路的设计方法n了解键盘、了解键盘、LED显示器的工作原理显示器的工作原理n能够编写基于能够编写基于8255A的简单控制程序的简单控制程序310:02本章难点n1 8255A的工作方式的工作方式1的理解的理解n2 基于基于8255A芯片的接口电路设计芯片的接口电路设计300:02并行通信n特点:特点:n以数据字节或字为单位进行数据传送;以数据字节或字为单位进行数据传送; n适合近距离传送适合近距离传送 ;n对传

2、送的信息不要求固定格式。对传送的信息不要求固定格式。n分类分类n输入和输出输入和输出n数字和模拟数字和模拟n单向和双向单向和双向n简单接口和可编程接口简单接口和可编程接口 0:02串行通信n特点:特点:n按位传送按位传送n造价低,适合于远距离传送造价低,适合于远距离传送n传送方式传送方式n全双工全双工n半双工半双工n单工单工0:02n芯片简介:芯片简介: Intel8255A是一种的是一种的可编程可编程的并行接的并行接口芯片。通过编写初始化程序,可以设定芯口芯片。通过编写初始化程序,可以设定芯片的工作方式。片的工作方式。 8255A通用性强,灵活性高,可以为多通用性强,灵活性高,可以为多种不同

3、的种不同的CPU与外设之间提供并行输入与外设之间提供并行输入/输出输出通道。通道。7.3 并行接口芯片8255A280:021. 引线连接系统端的主要引线:连接系统端的主要引线:nD0-D7nCSnRDnWRnA0,A1 nREAST A1 A00 0 A端口端口0 1 B端口端口1 0 C端口端口1 1 控制寄存器控制寄存器0:02引线连接外设端的引脚:连接外设端的引脚:nPA0 PA7nPB0 PB7nPC0 PC7分别对应分别对应A、B、C三个端口三个端口0:027.3.1 8255A的内部结构 8255A内部具有三个带内部具有三个带锁存锁存的数据端口,可以与外设进行并的数据端口,可以与

4、外设进行并行数据交换,各个端口内具有中行数据交换,各个端口内具有中断控制逻辑和选通控制逻辑。外断控制逻辑和选通控制逻辑。外设与设与CPU之间可通过条件传输方之间可通过条件传输方式或中断方式进行数据交换。式或中断方式进行数据交换。270:02n它是具有多种功能的可编程并行接口芯片它是具有多种功能的可编程并行接口芯片n最基本的接口电路:三态缓冲器和锁存器最基本的接口电路:三态缓冲器和锁存器n是是CPU与外设间的接口电路:状态寄存器和控制与外设间的接口电路:状态寄存器和控制寄存器寄存器n还有端口的译码和控制电路、中断控制电路还有端口的译码和控制电路、中断控制电路n有有3个端口个端口n有三种输入输出工

5、作方式有三种输入输出工作方式特点特点260:028255A的内部结构数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESETB组:端口组:端口B+ 端口端口C21A组:端口组:端口A+ 端口端口C21250:021. 外设数据端口外设数据端口A 、B、Cn端口端口A:PA0PA7nA组,支持工作方式组,支持工作方式0、1、2n端口端口B:PB0PB7nB组,支持工作方

6、式组,支持工作方式0、1n端口端口C:PC0PC7n仅支持工作方式仅支持工作方式0nA组控制高组控制高4位位PC4PC7nB组控制低组控制低4位位PC0PC3n端口端口A:PA0PA7n常作数据端口,功能最强大常作数据端口,功能最强大n端口端口B:PB0PB7n常作数据端口常作数据端口n端口端口C:PC0PC7n可作数据、状态和控制端口可作数据、状态和控制端口n分两个分两个4位,每位可独立操作位,每位可独立操作n控制最灵活,最难掌握控制最灵活,最难掌握240:022.A组控制和B组控制 它们可以接收芯片内部它们可以接收芯片内部总线的控制字,也可以接收总线的控制字,也可以接收来自读写控制电路的读

7、来自读写控制电路的读/写写命令。由此决定两组端口的命令。由此决定两组端口的工作方式和读工作方式和读/写操作。写操作。1)A组控制电路控制端口组控制电路控制端口A和端口和端口C的高的高4位(位(PC7-PC4)的工作方式和读)的工作方式和读/写写操作。操作。2)B组控制电路控制端口组控制电路控制端口B和端口和端口C的低的低4位(位(PC3-PC0)的工作方式和读)的工作方式和读/写写操作。操作。23A口口上上C口口下下C口口B口口PA7PA0PC7PC4PC3PC0PB7PB0内部总线内部总线0:023.数据总线缓冲器 8255A具有一个双向三态具有一个双向三态的的8位数据缓冲器,它是位数据缓冲

8、器,它是8255A与与CPU系统总线的数系统总线的数据接口。据接口。 1)当)当CPU执行执行OUT输出指输出指令时,可将控制字或数据通令时,可将控制字或数据通过该缓冲器传送给过该缓冲器传送给8255A. 2) 当当CPU执行执行IN输入指令时,输入指令时,可将状态信息或数据通过该可将状态信息或数据通过该缓冲器传送给缓冲器传送给CPU. 因此,输入数据、输出因此,输入数据、输出数据、数据、CPU给给8255A发送的发送的控制字都要通过它。可见,控制字都要通过它。可见,它是它是CPU与与8255A数据交换数据交换的必由之路。的必由之路。22缓冲缓冲器器数据数据总线总线DBoooRDWRA0A1R

9、ESETCS读读/写写控制控制逻辑逻辑内部总线内部总线至数据端口至数据端口至控制至控制寄存器寄存器0:024.读/写控制逻辑电路n负责管理整个负责管理整个8255A的的数据传输方向及过程。数据传输方向及过程。n接收接收CS和地址总线和地址总线A1、A0的信号的信号 (8086系统系统中为中为A2、A1) 。n接收控制总线的信号接收控制总线的信号RESET、WR、RD。将这些信号组合得到将这些信号组合得到A组和组和B组的控制部件的组的控制部件的控制命令,完成对数据、控制命令,完成对数据、状态和控制信息的传输。状态和控制信息的传输。21缓冲缓冲器器数据数据总线总线DBoooRDWRA0A1RESE

10、TCS读读/写写控制控制逻辑逻辑内部总线内部总线至数据端口至数据端口至控制至控制寄存器寄存器8255A控制信号和数据传输之间的关系控制信号和数据传输之间的关系CS A1A0RDWR数据传输说明数据传输说明00001从端口从端口A送到数据总线送到数据总线00101从端口从端口B送到数据总线送到数据总线01001从端口从端口C送到数据总线送到数据总线00010从数据总线送到端口从数据总线送到端口A并锁存并锁存00110从数据总线送到端口从数据总线送到端口B并锁存并锁存01010从数据总线送到端口从数据总线送到端口C并锁存并锁存01110将控制字送到控制寄存器将控制字送到控制寄存器1D7D0高阻态高

11、阻态,8255A不工作不工作01101非法状态非法状态011D7D0高阻态高阻态200:028255A的初始化 8255A的端口有的端口有3种基本的种基本的工作方式。具体采用哪一种工作工作方式。具体采用哪一种工作方式是依靠写入控制寄存器中的方式是依靠写入控制寄存器中的控制字确定。通常把这个过程叫控制字确定。通常把这个过程叫做做8255A的的初始化编程初始化编程。CPU通通过过OUT指令往指令往8255A的控制端口的控制端口写入控制字来决定它的工作方式。写入控制字来决定它的工作方式。190:027.3.2 8255A的工作方式 方式方式0:基本的输入输出方式基本的输入输出方式 适用于无条件传送和

12、查询方式的接口电路适用于无条件传送和查询方式的接口电路方式方式1:选通选通的输入输出方式的输入输出方式 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路方式方式2:双向传输方式双向传输方式 用于与双向传送数据的外设用于与双向传送数据的外设 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路180:028255A的工作方式与端口之对应17n 端口端口A:方式:方式0、方式、方式1、方式、方式2端口端口B:方式方式0、方式、方式1端口端口C:方式方式00:02方式0n方式方式0称为基本的输入称为基本的输入/输出方式。输出方式。n端口端口A和端口和端口B可以通过方式选择控制字设

13、定可以通过方式选择控制字设定该端口作为输入端口或输出端口来工作。该端口作为输入端口或输出端口来工作。n端口端口C则分为两个则分为两个4位端口,高位端口,高4位作为一个位作为一个端口,低端口,低4位作为另一个端口。它们可以通过位作为另一个端口。它们可以通过方式选择控制字规定该端口作为输入端口或方式选择控制字规定该端口作为输入端口或输出端口输出端口160:02方式0基本特点:基本特点:1. 4个端口相互独立,都可作为输入端口或输出端口个端口相互独立,都可作为输入端口或输出端口2. 各个端口的输入输出可以有各个端口的输入输出可以有16种不同组合(种不同组合(P187 表表9-2)3. 各个端口工作于

14、方式各个端口工作于方式0时,输出具有锁存功能,而时,输出具有锁存功能,而输入没有锁存。输出锁存是在没有新的数据输出之前,输入没有锁存。输出锁存是在没有新的数据输出之前,一直保持以前的输出信息。一直保持以前的输出信息。4. 端口端口C工作于方式工作于方式0时,可以按照置时,可以按照置1/置置0控制字改控制字改变端口变端口C的任一引脚的电平。的任一引脚的电平。150:02方式1n方式方式1称为称为选通选通的输入的输入/输出方式。输出方式。n与方式与方式0的区别点:的区别点: 端口端口A和端口和端口B用方式用方式1进行输入或输出进行输入或输出数据时,利用端口数据时,利用端口C提供的选通信号和应答提供

15、的选通信号和应答信号,而这些信号与端口信号,而这些信号与端口C中的数位有着中的数位有着固固定的对应关系定的对应关系。这种关系是。这种关系是8255A本身决定本身决定的,不能用程序改变。而使用方式的,不能用程序改变。而使用方式0没有固没有固定的对应关系。定的对应关系。14基本特点:基本特点:1 、端口、端口A和端口和端口B可分别作为两个输入或输出端口工作在方可分别作为两个输入或输出端口工作在方 式式1。具体安排由方式选择控制字决定。具体安排由方式选择控制字决定。2、若端口、若端口A和端口和端口B只有一个端口工作方式只有一个端口工作方式1,则端口,则端口C中就中就 有有3条线条线被规定为配合方式被

16、规定为配合方式1工作的联络信号。此时另一工作的联络信号。此时另一 个端口可以工作在方式个端口可以工作在方式0,端口,端口C中剩余的中剩余的5条线条线也可以也可以 工作于方式工作于方式0。3、若端口、若端口A和端口和端口B都工作于方式都工作于方式1,则端口,则端口C中就有中就有6条线条线被被 规定为配合方式规定为配合方式1工作的联络信号。此时端口工作的联络信号。此时端口C中剩余中剩余2条条 线线仍可以工作于方式仍可以工作于方式0。4、端口、端口A和端口和端口B在方式在方式1下,输入和输出均具有锁存功能。下,输入和输出均具有锁存功能。5、当端口、当端口C的相应引脚规定为联络信号时,将不能通过编程的

17、相应引脚规定为联络信号时,将不能通过编程 再改变。再改变。130:02方式1输入引脚:端口A数据选通信号数据选通信号表示外设已经准备好数据表示外设已经准备好数据输入缓冲器满信号输入缓冲器满信号表示表示A口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器中断允许触发器120:02方式1输入引脚:端口BPC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号数据选通信号表示外设已经准备好数据表示外设已经准备好数据输入缓冲器满信号输入缓冲器满信号表示表示B口已经接收数

18、据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据中断允许触发器中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能110:02方式1输入联络信号n STB (Strobe )选通信号,低电平有效)选通信号,低电平有效 由外设提供的输入信号,当其有效时,将输入设由外设提供的输入信号,当其有效时,将输入设 备送来的数据锁存至备送来的数据锁存至8255A的输入锁存器的输入锁存器n IBF(Input Buffer Full)输入缓冲器满信号,高输入缓冲器满信号,高 电平有效电平有效 8255A输出

19、的联络信号。当其有效时,表示数据已输出的联络信号。当其有效时,表示数据已 锁存在输入锁存器锁存在输入锁存器n INTR(Interrupt Request)中断请求信号,高中断请求信号,高 电平有效电平有效 8255A输出的信号,可用于向输出的信号,可用于向CPU提出中断请提出中断请 求,要求求,要求CPU读取外设数据读取外设数据100:02方式1输入时序dataINTRIBF data输入端口输入端口D0D7STBRDSTBSTB和和IBFIBF是外设和是外设和8255A8255A的一对应答联络信号,的一对应答联络信号,为的是可靠地输入数据为的是可靠地输入数据90:02方式1中断控制n825

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

21、收到数据输出缓冲器满信号输出缓冲器满信号表示表示CPU已经输出了数据已经输出了数据中断请求信号中断请求信号请求请求CPU再次输出数据再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器中断允许触发器70:02方式1输出引脚:端口BPC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号外设响应信号表示外设已经接收到数据表示外设已经接收到数据输出缓冲器满信号输出缓冲器满信号表示表示CPU已经输出了数据已经输出了数据中断请求信号中断请求信号请求请求CPU再次输出数据再次输出数据中断允许触发器中断允许触发器60:02方式1输出联络信号nO

22、BF(Output Buffer Full)输出缓冲器满信号,输出缓冲器满信号, 低电平有效低电平有效n8255A输出给外设的一个控制信号,当其有效时,表示输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走已把数据输出给指定的端口,外设可以取走nACK(Acknowledge)响应信号,低电平有效响应信号,低电平有效n外设的响应信号,指示外设的响应信号,指示8255A的端口数据已由外设接收的端口数据已由外设接收nINTR(Interrrupt Request)中断请求信号,中断请求信号, 高电平有效高电平有效n当输出设备已接受数据后,当输出设备已接受数据后,

23、8255A输出此信号向输出此信号向CPU提提出中断请求,要求出中断请求,要求CPU继续发送数据继续发送数据端口端口A A的的INTEINTEA A对应对应PCPC6 6端口端口B B的的INTEINTEB B对应对应PCPC2 250:02方式1输出时序 INTR datadata输出端口输出端口D0D7WROBFACK OBFOBF和和ACKACK是外设和是外设和8255A8255A的一对应答联络信号,的一对应答联络信号,为的是可靠地输出数据为的是可靠地输出数据4INTE 中断允许信号。是控制中断允许信号。是控制8255A能否向能否向CPU发中断请发中断请求信号,它没有外部引脚,求信号,它没

24、有外部引脚,INTEA、INTEB是由用户对是由用户对PC4、PC2按位置位实现的。按位置位实现的。PA7PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O线&INTEAoRD方式方式1 (A口口)INTR中断请求信号,高电平有中断请求信号,高电平有效。是效。是8255A向向CPU发出的发出的请求中断信号,要求请求中断信号,要求CPU服服务。当务。当 IBF =1、STB =1且且 INTE =1时,时,INTR =1。注意注意0:02方式2 双向传输方式n方式方式2将方式将方式1的选通输入输出功能组合成一个的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据双

25、向数据端口,可以发送数据和接收数据n只有端口只有端口A可以工作于方式可以工作于方式2,需要利用端口,需要利用端口C的的5个信号线,其作用与方式个信号线,其作用与方式1相同相同n方式方式2的数据输入过程与方式的数据输入过程与方式1的输入方式一样的输入方式一样n方式方式2的数据输出过程与方式的数据输出过程与方式1的输出方式有一的输出方式有一点不同:数据输出时点不同:数据输出时8255A不是在不是在OBF有效时向有效时向外设输出数据,而是在外设提供响应信号外设输出数据,而是在外设提供响应信号ACK时才送出数据时才送出数据30:02方式2双向引脚PC6PC7PC3PA7PA0INTE1OBFAINTR

26、AACKAPC4PC5IBFASTBAINTE2用用PC6设置设置INTE1(输出)(输出)用用PC4设置设置INTE2(输入)(输入)输入和输出中断通过输入和输出中断通过或门输出或门输出INTRA信号信号2方式2双向时序data-out INTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRD1端口端口C状态字状态字 8255A工作在方式工作在方式0时,时,C口各位作输入输出用。当工作口各位作输入输出用。当工作在方式在方式1和方式和方式2时,时,C口产生与外设的联络信号。此时。读入口产生与外设的联络信号。此时。读入C口各位的内容可检查或测试

27、外设的状态。口各位的内容可检查或测试外设的状态。C口的状态字如下:口的状态字如下:(1)方式)方式1I/O I/O IBFA输入输入INTEAINTRAINTEBIBFBINTRBD7 D6 D5 D4 D3 D2 D1 D0I/O I/O输出输出INTEAINTRAINTEBOBFBINTRBD7 D6 D5 D4 D3 D2 D1 D0OBFA(2)方式)方式2*INTE1INTRAINTE2IBFAD7 D6 D5 D4 D3 D2 D1 D0OBFA*0:027.3.3 基于8255A的应用编程n初始化编程:设定方式控制字的过程初始化编程:设定方式控制字的过程n采用控制采用控制寄存器端

28、口的寄存器端口的地址:地址:A1A011n工作过程中:通过数据端口对外设数据工作过程中:通过数据端口对外设数据进行读写进行读写n数据读写利用端口数据读写利用端口A、B和和C的的I/O地址,地址,A1A0依次等于依次等于00、01、10278255控制字控制字方式控制字方式控制字C口置口置0/置置1控制字控制字0:028255A的内部结构数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDW

29、RA0A1CSRESETB组:端口组:端口B+ 端口端口C21A组:端口组:端口A+ 端口端口C212511. 方式控制字方式控制字D6D5D4D3D2D1D0端口端口C(PC3-PC0)1=输入输入0=输出输出端口端口B1=输入输入0=输出输出方式选择方式选择0:方式方式01:方式方式1B组组方式选择方式选择00:方式方式001:方式方式11*:方式方式2端口端口A1=输入输入0=输出输出端口端口C(PC7-PC4)1=输入输入0=输出输出A组组标标识识位位1. 方式控制字:例1 MOV DX,0F006H;控制端口为控制端口为F006HMOV AL,91H;方式控制字方式控制字OUT DX

30、,AL;送到控制端口送到控制端口D7D6D5D4D3D2D1D0如果如果8255A芯片的按照下列要求工作:芯片的按照下列要求工作: 端口端口A :方式:方式0,输入;端口,输入;端口C上半部:输出;端口上半部:输出;端口C下半部:输入;端口下半部:输入;端口B :方式:方式0,输出。设控制端口的地,输出。设控制端口的地址为:址为:F006H。请编写相应的初始化程序。请编写相应的初始化程序。1)先写出方式控制字)先写出方式控制字2)编写初始化程序)编写初始化程序11000010方式控制字:方式控制字:10010001B或或91H258255A输入输入输出输出输出输出PA7PA6PA5PA4PA3

31、PA2PA1PA0端口端口APC7PC6PC5PC4端口端口C的的上半部上半部PB7PB6PB5PB4PB3PB2PB1PB0端口端口BPC3PC2PC1PC0端口端口C的的下半部下半部24输入输入例例2 2:在在一个系统中,一个系统中,8255A8255A的四个端口地址分别的四个端口地址分别为:为:320H320H、322H322H、324H324H和和326H326H。要求:。要求: 1 1)端口)端口A A、B B、C C均工作于方式均工作于方式0 0,端口,端口A A作为作为输入端口,端口输入端口,端口B B和和C C作为输出端口。作为输出端口。 2 2)将端口)将端口A A输入的信息

32、直接输出到端口输入的信息直接输出到端口B B。 3 3)检测端口)检测端口A A输入的信息的输入的信息的PAPA7 7位。当位。当PAPA7 7=1=1时,端口时,端口C C输出输出FFH,FFH,否则,输出否则,输出00H00H。 请编写程序,完成上述功能。请编写程序,完成上述功能。23程序流程图程序流程图8255初始化初始化读读A口的信息口的信息PA7=1?N开始开始从从B口输出口输出YC口输出口输出FFHC口输出口输出00H结束结束设定设定8255的方式的方式全部为:方式全部为:方式0A:输入;输入;C和和B:输出输出用用IN指令读入端口指令读入端口A的信息的信息用用OUT指令从端口指令

33、从端口B输出信息输出信息PA7=1:C口输出口输出FFHPA7=0:C口输出口输出00H 1)先写出)先写出8255A的方式控制字。的方式控制字。D7D6D5D4D3D2D1D010000010方式控制字为方式控制字为10010000B或或90H 2) 编写实现的程序(编写实现的程序(题目题目)MOV DX,0320H ;端口端口A的地址送的地址送DXIN AL,DX ; 读端口读端口A的输入数据的输入数据22MOV AL,90H ;将将8255A的方式控制字的方式控制字MOV DX,0326H ;控制口的地址送控制口的地址送DXOUT DX,AL ;初始化初始化8255AMOV AH,AL

34、;将端口将端口A的输入的数据保存在的输入的数据保存在AH中中MOV DX,0322H ;端口端口B的地址送的地址送DXOUT DX,AL ;将从端口将从端口A输入数据从端口输入数据从端口B输出输出MOV DX,0324H ;端口端口C的地址送的地址送DXMOV AL,00H ;当当PA7=0时,端口时,端口C输出输出00H TEST AH,80H ;检测从端口检测从端口A输入的数据的输入的数据的PA7位位 JNZ KK ;当当PA7=1时时,转移到转移到KK OUT DX,AL ;当当PA7=0时,端口时,端口C输出输出00H JMP EXITKK: MOV AL,0FFH ;当当PA7=1时

35、,端口时,端口C输出输出FFH OUT DX,ALEXIT:HLT21输出输出输出输出8255A PB7PB6PB5PB4PB3PB2PB1PB0端端口口BPC7PC6PC5PC4PC3PC2PC1PC0端端口口CPA7PA6PA5PA4PA3PA2PA1PA0端端口口A输入输入10001010B10001010B11111111B01101011B01101011B00000000B程序执行过程演示程序执行过程演示0:022. 读写数据端口n初始化编程后:初始化编程后:n当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入IN指指令将从输入设备得到外设数据令将从输入设备得到外

36、设数据n当数据端口作为输出接口时,执行输出当数据端口作为输出接口时,执行输出OUT指令将把指令将把CPU的数据送给输出设备的数据送给输出设备n8255A具有锁存输出数据的能力具有锁存输出数据的能力n对输出方式的端口同样可以输入对输出方式的端口同样可以输入n不是读取外设数据不是读取外设数据n读取的是上次读取的是上次CPU给外设的数据给外设的数据200:022. 读写数据端口:例3n利用利用8255A的输出锁存能力,可实现按位的输出锁存能力,可实现按位输出控制输出控制 对输出端口对输出端口B的的PB7位置位的程序段:位置位的程序段:MOV DX,OFFFAH;B端口假设为端口假设为FFFAHIN

37、AL,DX ;读出读出B端口原输出内容端口原输出内容OR AL,80H ;使使PB71 NOP NOPOUT DX,AL ;输出新的内容输出新的内容190:023. 读写端口C:归纳1nC端口被分成端口被分成两个两个4位端口位端口,两个端,两个端口只能以方式口只能以方式0工工作,可分别选择作,可分别选择输入或输出输入或输出n在控制上,端口在控制上,端口C上半部和上半部和A端口编为端口编为A组,端口组,端口C下半部和下半部和B端口编为端口编为B组组180:023. 读写端口C:归纳2n当当A和和B端口工作端口工作在方式在方式1或方式或方式2时,时,C端口的部分或全端口的部分或全部引脚将部引脚将被

38、征用被征用n其余引脚仍可设定工作在方式其余引脚仍可设定工作在方式0170:023. 读写端口C:归纳3n对端口对端口C的数据输出有两种办法的数据输出有两种办法n通过端口通过端口C的的I/O地址:地址:向端口向端口C直接直接写入写入字节数据字节数据。这一数据被写进端口。这一数据被写进端口C的输出的输出锁存器,并从输出引脚输出,但对设置为锁存器,并从输出引脚输出,但对设置为输入的引脚无效输入的引脚无效n通过控制端口:通过控制端口:向向C端口端口写入位控字写入位控字,使,使C端口的某个引脚输出端口的某个引脚输出1或或0。此时的控制。此时的控制字称为置字称为置0/置置1控制字。控制字。160:02端口

39、C的位控制字(置0/置1控制字)15标识标识位位n位控制字写入控制端口位控制字写入控制端口n特别便于置位复位端口特别便于置位复位端口C的指定位的状态(的指定位的状态(1/0)0:023. 读写端口C:归纳4n读取的读取的C端口数据有两种情况端口数据有两种情况n未被未被A和和B端口征用的引脚端口征用的引脚:将从定义为输:将从定义为输入的端口读到引脚输入信息;将从定义为入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息输出的端口读到输出锁存器中的信息n被被A和和B端口征用作为联络线的引脚端口征用作为联络线的引脚:将读:将读到反映到反映8255A状态的状态的状态字状态字14 小小

40、结结1、方式选择控制字、方式选择控制字8255A有有3种基本的工作方式,在对种基本的工作方式,在对8255A进行初始化编程时,进行初始化编程时,应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。方式选择控制字格式方式选择控制字格式D7 D6 D5 D4 D3 D2 D1 D0下下C口口 I/O1=输入输入0=输出输出B口口I/O1=输入输入0=输出输出B组方式组方式0=方式方式0 1=方式方式1上上C口口I/O1=输入输入0=输出输出标识位标识位 D7=1A组方式组方式: 00=方式方式0 01=方式方式1 1x=方式方式2A口

41、口I/O1=输入输入0=输出输出2、C口按位置位口按位置位/复位控制字复位控制字端口端口C常用作控制或应答信号,通过对常用作控制或应答信号,通过对8255A的控制口写入按的控制口写入按位置位位置位/复位控制字,可使复位控制字,可使C口的任一个引脚的输出单独置口的任一个引脚的输出单独置1或置或置0。C口按位置位口按位置位/复位控制字格式复位控制字格式D7 D6 D5 D4 D3 D2D1 D01 置位置位 0 复位复位无关位无关位特征位特征位 D7 = 0000 选中选中PC0 001 选中选中PC1 111 选中选中PC7位选择位选择例:要使端口例:要使端口C的的bit3置位的控制字为:置位的

42、控制字为:00000111B; MOV AL,00000111B OUT 0FBH,AL 而使端口而使端口C的的bit3复位的控制字为:复位的控制字为:00000110B ; MOV AL,00000110B OUT 0FBH,AL0:027.3.4 8255A的应用 作为通用的并行接口电路芯片,作为通用的并行接口电路芯片,8255A具具有广泛的应用有广泛的应用n应用在应用在IBM PC/XT微机上微机上n应用于打印机接口电路应用于打印机接口电路n连接简易键盘连接简易键盘n驱动驱动LED数码管数码管n120:02 1.键盘及其接口n键盘是微机系统最常使用的输入设备键盘是微机系统最常使用的输入设

43、备n小键盘小键盘:适用于单板机或以微处理器为基:适用于单板机或以微处理器为基础的仪器,实现数据、地址、命令及指令础的仪器,实现数据、地址、命令及指令等的输入等的输入n独立键盘独立键盘:通过:通过5芯电缆与芯电缆与PC主机连接主机连接60 编码键盘能自动提供对应于被按键的编码,如编码键盘能自动提供对应于被按键的编码,如ASCII码,并能同时产生一个脉冲通知码,并能同时产生一个脉冲通知CPU。编码。编码键盘还具有处理抖动和多键串键的保护电路。这种键盘还具有处理抖动和多键串键的保护电路。这种键盘的优点是使用方便,但需要较多的硬件,价格键盘的优点是使用方便,但需要较多的硬件,价格昂贵。昂贵。 非编码键

44、盘有一组开关组成,提供行和列的键非编码键盘有一组开关组成,提供行和列的键盘矩阵,其工作过程:按键的识别;按键代码的产盘矩阵,其工作过程:按键的识别;按键代码的产生;防止串键和消除抖动等均由程序来实现。故这生;防止串键和消除抖动等均由程序来实现。故这种键盘的优点是所需要的硬件较少,价格便宜,宜种键盘的优点是所需要的硬件较少,价格便宜,宜用微机化仪表的面板的键盘。用微机化仪表的面板的键盘。键盘两种类型:编码键盘键盘两种类型:编码键盘(独立键盘独立键盘)和非编码键盘和非编码键盘(小键盘)。(小键盘)。0:02 简易键盘的工作原理最简单的线最简单的线性结构键盘性结构键盘1.每一个引脚连每一个引脚连接一

45、个键接一个键2.输入输入0/1反映健反映健是否被按下是否被按下键键0键键1键键2并并行行接接口口111+5V+5V+5V0 161+5V+5V+5V+5V+5V+5V+5V第第0行行第第1行行第第2行行第第0列列第第1列列第第2列列第第3列列控制线控制线检测线检测线0 01 12 23 34 45 56 67 78 89 9A AB BPA0PA1PA2PB0PB1PB2PB38255A矩阵式键盘结构矩阵式键盘结构620:02+5V+5V+5V+5V+5V+5V+5V第第0行行第第1行行第第2行行第第0列列第第1列列第第2列列第第3列列控制线控制线检测线检测线0 01 12 23 34 45

46、56 67 78 89 9A AB BPA0PA1PA2PB0PB1PB2PB38255A矩阵式键盘结构矩阵式键盘结构620:021). 逐行扫描法n先使第先使第0行接低电平,其余行为高电平,然后看行接低电平,其余行为高电平,然后看第第0行是否有键闭合(通过检查列线电平实现)行是否有键闭合(通过检查列线电平实现)n此后,再将第此后,再将第1行接地,然后检测列线是否有变行接地,然后检测列线是否有变为低电位的线。如此往下为低电位的线。如此往下一行一行地扫描一行一行地扫描,直到,直到最后一行最后一行n在扫描过程中,当发现某一行有键闭合时,便在在扫描过程中,当发现某一行有键闭合时,便在扫描中途退出扫描

47、中途退出n通过组合行线和列线可识别此刻按下的是哪一键通过组合行线和列线可识别此刻按下的是哪一键63逐行扫描法扫描键盘流程图逐行扫描法扫描键盘流程图开始开始8255A初始化初始化 有键闭合吗有键闭合吗?延时,行扫描初值延时,行扫描初值0FEH DL键基值键基值0 BL,行计数器,行计数器8 CL输出行扫描初值输出行扫描初值行扫描初值循环左移行扫描初值循环左移1位,读列值位,读列值 有键闭合吗有键闭合吗?键基值键基值+8,行计数器,行计数器-1行扫描完吗行扫描完吗?列值右移列值右移1位位 有键闭合吗有键闭合吗?键值寄存器键值寄存器+1键值在键值在BL11NYNY64NYYN第1段:8255A初始化

48、INTIA:MOV DX,PORT8255;PORT8255为控制为控制 ; 寄存器的地址寄存器的地址 MOV AL,82H ;A口为输出口为输出,B口为输入口为输入 ; ,工作方式,工作方式0 OUT DX,AL ;设定控制字设定控制字 第2段:是否有键按下KEY1:MOV AL,00 MOV DX,PORTA ;端口端口A的地址的地址 OUT DX,AL ;使所有行线为低电平使所有行线为低电平 MOV DX,PORTB ;端口端口B的地址的地址 IN AL,DX ;读取列值读取列值 CMP AL,0FFH ;判定有无列线为低电平判定有无列线为低电平 JZ KEY1 ;无闭合键,循环等待无闭

49、合键,循环等待 CALL DELAY ;有,延迟有,延迟20ms清除抖动清除抖动65第2段:识别按键(扫描)MOV BL,0 MOV CL,8 ;行数送行数送CXMOV DL,0FEH ;扫描初值送扫描初值送AHKEY2:MOV AL,DLMOV DX, PORTA;OUT DX,AL ;输出行扫描值输出行扫描值 ROL DL,1MOV DX,PORTBIN AL,DX ;读入列值读入列值66第2段:识别按键(判断)CMP AL,0FFH;判断有无低电平的列线判断有无低电平的列线JNZ KEYCODE;有,有, ADD BL,8; DEC CL; JNE KEY2 JMP KEY1KEYCOD

50、E: RCR AL,1 ;无,则移位扫描值无,则移位扫描值JNC PROCE INC BLJMP KEYCODEPROCE: 670:022). 行列反转法n首先,将行线作为控制线接一个输出端口,将列首先,将行线作为控制线接一个输出端口,将列线作为检测线接一个输入端口线作为检测线接一个输入端口nCPU通过输出端口将行线(控制线)全部设置为低电通过输出端口将行线(控制线)全部设置为低电平,然后从输入端口读取列线(检测线)平,然后从输入端口读取列线(检测线)n然后,将行线和列线的作用互换,即将列线作为然后,将行线和列线的作用互换,即将列线作为控制线接输出端口,行线作为检测线接输入端口控制线接输出端

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文([理学]微机原理与接口技术1课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|