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

上传人:cl****1 文档编号:570065648 上传时间:2024-08-01 格式:PPT 页数:82 大小:1.39MB
返回 下载 相关 举报
[理学]微机原理与接口技术1课件_第1页
第1页 / 共82页
[理学]微机原理与接口技术1课件_第2页
第2页 / 共82页
[理学]微机原理与接口技术1课件_第3页
第3页 / 共82页
[理学]微机原理与接口技术1课件_第4页
第4页 / 共82页
[理学]微机原理与接口技术1课件_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《[理学]微机原理与接口技术1课件》由会员分享,可在线阅读,更多相关《[理学]微机原理与接口技术1课件(82页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

5、口的译码和控制电路、中断控制电路n有有3个端口个端口n有三种输入输出工作方式有三种输入输出工作方式特点特点268/1/20248255A的内部结构数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESETB组组:端口:端口B+ 端口端口CA组:端口组:端口A+ 端口端口C258/1/20241. 外设数据端口外设数据端口A 、B、Cn端口端口A:PA0PA7nA组,支持

6、工作方式组,支持工作方式0、1、2n端口端口B:PB0PB7nB组,支持工作方式组,支持工作方式0、1n端口端口C:PC0PC7n仅支持工作方式仅支持工作方式0nA组控制高组控制高4位位PC4PC7nB组控制低组控制低4位位PC0PC3n端口端口A:PA0PA7n常作数据端口,功能最强大常作数据端口,功能最强大n端口端口B:PB0PB7n常作数据端口常作数据端口n端口端口C:PC0PC7n可作数据、状态和控制端口可作数据、状态和控制端口n分两个分两个4位,每位可独立操作位,每位可独立操作n控制最灵活,最难掌握控制最灵活,最难掌握248/1/20242.A组控制和B组控制 它们可以接收芯片内部它

7、们可以接收芯片内部总线的控制字,也可以接收总线的控制字,也可以接收来自读写控制电路的读来自读写控制电路的读/写写命令。由此决定两组端口的命令。由此决定两组端口的工作方式和读工作方式和读/写操作。写操作。1)A组组控控制制电电路路控控制制端端口口A和和端端口口C的的高高4位位(PC7-PC4)的工作方式和读的工作方式和读/写操作。写操作。2)B组组控控制制电电路路控控制制端端口口B和和端端口口C的的低低4位位(PC3-PC0)的工作方式和读的工作方式和读/写操作。写操作。23A口口上上C口口下下C口口B口口PA7PA0PC7PC4PC3PC0PB7PB0内内部部总总线线8/1/20243.数据总

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

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

10、息的传输。21缓冲器缓冲器数据数据总线总线DBoooRDWRA0A1RESETCS读读/写写控制控制逻辑逻辑内内部部总总线线至数据端口至数据端口至控制至控制寄存器寄存器8/1/20248255A控制信号和数据传输之间的关系控制信号和数据传输之间的关系CS A1A0RDWR数据传输说明数据传输说明00001从端口从端口A送到数据总线送到数据总线00101从端口从端口B送到数据总线送到数据总线01001从端口从端口C送到数据总线送到数据总线00010从数据总线送到端口从数据总线送到端口A并锁存并锁存00110从数据总线送到端口从数据总线送到端口B并锁存并锁存01010从数据总线送到端口从数据总线送

11、到端口C并锁存并锁存01110将控制字送到控制寄存器将控制字送到控制寄存器1D7D0高阻态高阻态,8255A不工作不工作01101非法状态非法状态011D7D0高阻态高阻态208/1/20248255A的初始化 8255A的端口有的端口有3种基本的种基本的工作方式。具体采用哪一种工作工作方式。具体采用哪一种工作方式是依靠写入控制寄存器中的方式是依靠写入控制寄存器中的控制字确定。通常把这个过程叫控制字确定。通常把这个过程叫做做8255A的的初始化编程初始化编程。CPU通通过过OUT指令往指令往8255A的控制端口的控制端口写入控制字来决定它的工作方式。写入控制字来决定它的工作方式。198/1/2

12、0247.3.2 8255A的工作方式 方式方式0:基本的输入输出方式基本的输入输出方式 适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路方式方式1:选通选通的输入输出方式的输入输出方式 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路方式方式2:双向传输方式双向传输方式 用于与双向传送数据的外设用于与双向传送数据的外设 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路188/1/20248255A的工作方式与端口之对应17n 端口端口A:方式:方式0、方式、方式1、方式、方式2端口端口B:方式方式0、方式、方式1端口端口C:方式方式08/1/2

13、024方式0n方式方式0称为基本的输入称为基本的输入/输出方式。输出方式。n端端口口A和和端端口口B可可以以通通过过方方式式选选择择控控制制字字设设定定该端口作为输入端口或输出端口来工作。该端口作为输入端口或输出端口来工作。n端端口口C则则分分为为两两个个4位位端端口口,高高4位位作作为为一一个个端端口口,低低4位位作作为为另另一一个个端端口口。它它们们可可以以通通过过方方式式选选择择控控制制字字规规定定该该端端口口作作为为输输入入端端口口或或输出端口输出端口168/1/2024方式0基本特点:基本特点:1. 4个端口相互独立,都可作为输入端口或输出端口个端口相互独立,都可作为输入端口或输出端

14、口2. 各各个个端端口口的的输输入入输输出出可可以以有有16种种不不同同组组合合(P187 表表9-2)3. 各各个个端端口口工工作作于于方方式式0时时,输输出出具具有有锁锁存存功功能能,而而输输入入没没有有锁锁存存。输输出出锁锁存存是是在在没没有有新新的的数数据据输输出出之之前前,一直保持以前的输出信息。一直保持以前的输出信息。4. 端端口口C工工作作于于方方式式0时时,可可以以按按照照置置1/置置0控控制制字字改改变端口变端口C的任一引脚的电平。的任一引脚的电平。158/1/2024方式1n方式方式1称为称为选通选通的输入的输入/输出方式。输出方式。n与方式与方式0的区别点:的区别点: 端

15、端口口A和和端端口口B用用方方式式1进进行行输输入入或或输输出出数数据据时时,利利用用端端口口C提提供供的的选选通通信信号号和和应应答答信信号号,而而这这些些信信号号与与端端口口C中中的的数数位位有有着着固固定定的的对对应应关关系系。这这种种关关系系是是8255A本本身身决决定定的的,不不能能用用程程序序改改变变。而而使使用用方方式式0没没有有固固定的对应关系。定的对应关系。148/1/2024基本特点:基本特点:1 、端口、端口A和端口和端口B可分别作为两个输入或输出端口工作在方可分别作为两个输入或输出端口工作在方 式式1。具体安排由方式选择控制字决定。具体安排由方式选择控制字决定。2、若端

16、口、若端口A和端口和端口B只有一个端口工作方式只有一个端口工作方式1,则端口,则端口C中就中就 有有3条线条线被规定为配合方式被规定为配合方式1工作的联络信号。此时另一工作的联络信号。此时另一 个端口可以工作在方式个端口可以工作在方式0,端口,端口C中剩余的中剩余的5条线条线也可以也可以 工作于方式工作于方式0。3、若端口、若端口A和端口和端口B都工作于方式都工作于方式1,则端口,则端口C中就有中就有6条线条线被被 规定为配合方式规定为配合方式1工作的联络信号。此时端口工作的联络信号。此时端口C中剩余中剩余2条条 线线仍可以工作于方式仍可以工作于方式0。4、端口、端口A和端口和端口B在方式在方

17、式1下,输入和输出均具有锁存功能。下,输入和输出均具有锁存功能。5、当端口、当端口C的相应引脚规定为联络信号时,将不能通过编程的相应引脚规定为联络信号时,将不能通过编程 再改变。再改变。138/1/2024方式1输入引脚:端口A数据选通信号数据选通信号表示外设已经准备好数据表示外设已经准备好数据输入缓冲器满信号输入缓冲器满信号表示表示A口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器中断允许触发器128/1/2024方式1输入引脚:端口BPC2PC1PC0PB7PB0INTEBIB

18、FBINTRBSTBB数据选通信号数据选通信号表示外设已经准备好数据表示外设已经准备好数据输入缓冲器满信号输入缓冲器满信号表示表示B口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据中断允许触发器中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能118/1/2024方式1输入联络信号n STB (Strobe )选通信号,低电平有效选通信号,低电平有效 由外设提供的输入信号,当其有效时,将输入设由外设提供的输入信号,当其有效时,将输入设 备送来的数据锁存至备送来的数据锁存至825

19、5A的输入锁存器的输入锁存器n IBF(Input Buffer Full)输入缓冲器满信号,高输入缓冲器满信号,高 电平有效电平有效 8255A输出的联络信号。当其有效时,表示数据已输出的联络信号。当其有效时,表示数据已 锁存在输入锁存器锁存在输入锁存器n INTR(Interrupt Request)中断请求信号,高中断请求信号,高 电平有效电平有效 8255A输出的信号,可用于向输出的信号,可用于向CPU提出中断请提出中断请 求,要求求,要求CPU读取外设数据读取外设数据108/1/2024方式1输入时序dataINTRIBF data输入端口输入端口D0D7STBRDSTBSTB和和I

20、BFIBF是外设和是外设和8255A8255A的一对应答联络信号,的一对应答联络信号,为的是可靠地输入数据为的是可靠地输入数据98/1/2024方式1中断控制n8255A的中断由中断允许触发器的中断由中断允许触发器INTE控制控制n置位允许中断,复位禁止中断置位允许中断,复位禁止中断n对对INTE的的操操作作通通过过写写入入端端口口C的的对对应应位位实实现现,INTE触触发发器器对对应应端端口口C的的位位是是作作应应答答联联络络信信号号的的输输入入信信号号的的哪哪一一位位,只只要要对对那那一位置位一位置位/复位就可以控制复位就可以控制INTE触发器触发器n选通输入方式下选通输入方式下n端口端口

21、A的的INTEA对应对应PC4n端口端口B的的INTEB对应对应PC288/1/2024方式1输出引脚:端口A外设响应信号外设响应信号表示外设已经接收到数据表示外设已经接收到数据输出缓冲器满信号输出缓冲器满信号表示表示CPU已经输出了数据已经输出了数据中断请求信号中断请求信号请求请求CPU再次输出数据再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器中断允许触发器78/1/2024方式1输出引脚:端口BPC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号外设响应信号表示外设已经接收到数据表示外设已经接收到数据输出缓冲器满信号输

22、出缓冲器满信号表示表示CPU已经输出了数据已经输出了数据中断请求信号中断请求信号请求请求CPU再次输出数据再次输出数据中断允许触发器中断允许触发器68/1/2024方式1输出联络信号nOBF(Output Buffer Full)输出缓冲器满信号,输出缓冲器满信号, 低电平有效低电平有效n8255A输输出出给给外外设设的的一一个个控控制制信信号号,当当其其有有效效时时,表表示示CPU已把数据输出给指定的端口,外设可以取走已把数据输出给指定的端口,外设可以取走nACK(Acknowledge)响应信号,低电平有效响应信号,低电平有效n外设的响应信号,指示外设的响应信号,指示8255A的端口数据已

23、由外设接收的端口数据已由外设接收nINTR(Interrrupt Request)中断请求信号,中断请求信号, 高电平有效高电平有效n当当输输出出设设备备已已接接受受数数据据后后,8255A输输出出此此信信号号向向CPU提提出中断请求,要求出中断请求,要求CPU继续发送数据继续发送数据端口端口A A的的INTEINTEA A对应对应PCPC6 6端口端口B B的的INTEINTEB B对应对应PCPC2 258/1/2024方式1输出时序 INTR datadata输出端口输出端口D0D7WROBFACK OBFOBF和和ACKACK是外设和是外设和8255A8255A的一对应答联络信号,的一

24、对应答联络信号,为的是可靠地输出数据为的是可靠地输出数据48/1/2024INTE 中断允许信号。是控制中断允许信号。是控制8255A能否向能否向CPU发中断请发中断请求信号,它没有外部引脚,求信号,它没有外部引脚,INTEA、INTEB是由用户对是由用户对PC4、PC2按位置位实现的。按位置位实现的。PA7PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O线&INTEAoRD方式方式1 (A口口)INTR中断请求信号,高电平有中断请求信号,高电平有效。是效。是8255A向向CPU发出的发出的请求中断信号,要求请求中断信号,要求CPU服服务。当务。当 IBF =1、STB

25、=1且且 INTE =1时,时,INTR =1。注意注意8/1/2024方式2 双向传输方式n方方式式2将将方方式式1的的选选通通输输入入输输出出功功能能组组合合成成一一个个双向数据端口,可以发送数据和接收数据双向数据端口,可以发送数据和接收数据n只只有有端端口口A可可以以工工作作于于方方式式2,需需要要利利用用端端口口C的的5个信号线,其作用与方式个信号线,其作用与方式1相同相同n方式方式2的数据输入过程与方式的数据输入过程与方式1的输入方式一样的输入方式一样n方方式式2的的数数据据输输出出过过程程与与方方式式1的的输输出出方方式式有有一一点点不不同同:数数据据输输出出时时8255A不不是是

26、在在OBF有有效效时时向向外外设设输输出出数数据据,而而是是在在外外设设提提供供响响应应信信号号ACK时时才送出数据才送出数据38/1/2024方式2双向引脚PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用用PC6设置设置INTE1(输出)输出)用用PC4设置设置INTE2(输入)输入)输入和输出中断通过输入和输出中断通过或门输出或门输出INTRA信号信号28/1/2024方式2双向时序data-out INTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRD18/1/2024端口端口

27、C状态字状态字 8255A工作在方式工作在方式0时,时,C口各位作输入输出用。当工作口各位作输入输出用。当工作在方式在方式1和方式和方式2时,时,C口产生与外设的联络信号。此时。读入口产生与外设的联络信号。此时。读入C口各位的内容可检查或测试外设的状态。口各位的内容可检查或测试外设的状态。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)方

28、式)方式2*INTE1INTRAINTE2IBFAD7 D6 D5 D4 D3 D2 D1 D0OBFA*8/1/20247.3.3 基于8255A的应用编程n初始化编程:设定方式控制字的过程初始化编程:设定方式控制字的过程n采用控制采用控制寄存器端口的寄存器端口的地址:地址:A1A011n工工作作过过程程中中:通通过过数数据据端端口口对对外外设设数数据据进行读写进行读写n数数据据读读写写利利用用端端口口A、B和和C的的I/O地地址址,A1A0依次等于依次等于00、01、10278255控制字控制字方式控制字方式控制字C口置口置0/置置1控制字控制字8/1/20248255A的内部结构数据数据

29、总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESETB组组:端口:端口B+ 端口端口CA组:端口组:端口A+ 端口端口C258/1/202411. 方式控制字方式控制字D6D5D4D3D2D1D0端口端口C(PC3-PC0)1=输入输入0=输出输出端口端口B1=输入输入0=输出输出方式选择方式选择0:方式方式01:方式方式1B组组方式选择方式选择00:方式方式001:方式

30、方式11*:方式方式2端口端口A1=输入输入0=输出输出端口端口C(PC7-PC4)1=输入输入0=输出输出A组组标标识识位位8/1/20241. 方式控制字:例1 MOV DX,0F006H;控制端口为控制端口为F006HMOV AL,91H ;方式控制字方式控制字OUT DX,AL;送到控制端口送到控制端口D7D6D5D4D3D2D1D0如果如果8255A芯片的按照下列要求工作:芯片的按照下列要求工作: 端口端口A :方式方式0,输入;端口,输入;端口C上半部:输出;端口上半部:输出;端口C下半部:输入;端口下半部:输入;端口B :方式方式0,输出。设控制端口的地,输出。设控制端口的地址为

31、:址为:F006H。请编写相应的初始化程序。请编写相应的初始化程序。1)先写出方式控制字)先写出方式控制字2)编写初始化程序)编写初始化程序11000010方式控制字:方式控制字:10010001B或或91H258/1/20248255A输入输入输出输出输出输出PA7PA6PA5PA4PA3PA2PA1PA0端口端口APC7PC6PC5PC4端口端口C的的上半部上半部PB7PB6PB5PB4PB3PB2PB1PB0端口端口BPC3PC2PC1PC0端口端口C的的下半部下半部24输入输入8/1/2024例例2 2:在在一个系统中,一个系统中,8255A8255A的四个端口地址分别的四个端口地址分

32、别为:为:320H320H、322H322H、324H324H和和326H326H。要求:要求: 1 1)端口)端口A A、B B、C C均工作于方式均工作于方式0 0,端口,端口A A作为作为输入端口,端口输入端口,端口B B和和C C作为输出端口。作为输出端口。 2 2)将端口)将端口A A输入的信息直接输出到端口输入的信息直接输出到端口B B。 3 3)检测端口检测端口A A输入的信息的输入的信息的PAPA7 7位。当位。当PAPA7 7=1=1时,端口时,端口C C输出输出FFH,FFH,否则,输出否则,输出00H00H。 请编写程序,完成上述功能。请编写程序,完成上述功能。238/1

33、/2024程序流程图程序流程图8255初始化初始化读读A口的信息口的信息PA7=1?N开始开始从从B口输出口输出YC口输出口输出FFHC口输出口输出00H结束结束设定设定8255的方式的方式全部为:方式全部为:方式0A:输入;输入;C和和B:输出输出用用IN指令读入端口指令读入端口A的信息的信息用用OUT指令从端口指令从端口B输出信息输出信息PA7=1:C口输出口输出FFHPA7=0:C口输出口输出00H8/1/2024 1)先写出)先写出8255A的方式控制字。的方式控制字。D7D6D5D4D3D2D1D010000010方式控制字为方式控制字为10010000B或或90H 2) 编写实现的

34、程序(编写实现的程序(题目题目)MOV DX,0320H ;端口端口A的地址送的地址送DXIN AL,DX ; 读端口读端口A的输入数据的输入数据22MOV AL,90H ;将将8255A的方式控制字的方式控制字MOV DX,0326H ;控制口的地址送控制口的地址送DXOUT DX,AL ;初始化初始化8255A8/1/2024MOV AH,AL ;将端口将端口A的输入的数据保存在的输入的数据保存在AH中中MOV DX,0322H ;端口端口B的地址送的地址送DXOUT DX,AL ;将从端口将从端口A输入数据从端口输入数据从端口B输出输出MOV DX,0324H ;端口端口C的地址送的地址

35、送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时,端口时,端口C输出输出FFH OUT DX,ALEXIT:HLT218/1/2024输出输出输出输出8255A PB7PB6PB5PB4PB3PB2PB1PB0端端口口BPC7PC6PC5PC4PC3PC2PC1PC0端端口口CPA7PA6PA5

36、PA4PA3PA2PA1PA0端端口口A输入输入10001010B10001010B11111111B01101011B01101011B00000000B程序执行过程演示程序执行过程演示8/1/20242. 读写数据端口n初始化编程后:初始化编程后:n当当数数据据端端口口作作为为输输入入接接口口时时,执执行行输输入入IN指指令将从输入设备得到外设数据令将从输入设备得到外设数据n当当数数据据端端口口作作为为输输出出接接口口时时,执执行行输输出出OUT指令将把指令将把CPU的数据送给输出设备的数据送给输出设备n8255A具有锁存输出数据的能力具有锁存输出数据的能力n对输出方式的端口同样可以输入对

37、输出方式的端口同样可以输入n不是读取外设数据不是读取外设数据n读取的是上次读取的是上次CPU给外设的数据给外设的数据208/1/20242. 读写数据端口:例3n利利用用8255A的的输输出出锁锁存存能能力力,可可实实现现按按位位输出控制输出控制 对输出端口对输出端口B的的PB7位置位的程序段:位置位的程序段:MOV DX,OFFFAH;B端口假设为端口假设为FFFAHIN AL,DX ;读出读出B端口原输出内容端口原输出内容OR AL,80H ;使使PB71 NOP NOPOUT DX,AL ;输出新的内容输出新的内容198/1/20243. 读写端口C:归纳1nC端端口口被被分分成成两两个

38、个4位位端端口口,两两个个端端口口只只能能以以方方式式0工工作作,可可分分别别选选择择输入或输出输入或输出n在在控控制制上上,端端口口C上上半半部部和和A端端口口编编为为A组,端口组,端口C下半部和下半部和B端口编为端口编为B组组188/1/20243. 读写端口C:归纳2n当当A和和B端端口口工工作作在在方方式式1或或方方式式2时时,C端端口口的的部部分分或或全全部引脚将部引脚将被征用被征用n其余引脚仍可设定工作在方式其余引脚仍可设定工作在方式0178/1/20243. 读写端口C:归纳3n对端口对端口C的数据输出有两种办法的数据输出有两种办法n通通过过端端口口C的的I/O地地址址:向向端端

39、口口C直直接接写写入入字字节节数数据据。这这一一数数据据被被写写进进端端口口C的的输输出出锁锁存存器器,并并从从输输出出引引脚脚输输出出,但但对对设设置置为为输入的引脚无效输入的引脚无效n通通过过控控制制端端口口:向向C端端口口写写入入位位控控字字,使使C端端口口的的某某个个引引脚脚输输出出1或或0。此此时时的的控控制制字字称为置称为置0/置置1控制字。控制字。168/1/2024端口C的位控制字(置0/置1控制字)15标识标识位位n位控制字写入控制端口位控制字写入控制端口n特特别别便便于于置置位位复复位位端端口口C的指定位的状态(的指定位的状态(1/0)8/1/20243. 读写端口C:归纳

40、4n读取的读取的C端口数据有两种情况端口数据有两种情况n未未被被A和和B端端口口征征用用的的引引脚脚:将将从从定定义义为为输输入入的的端端口口读读到到引引脚脚输输入入信信息息;将将从从定定义义为为输出的端口读到输出锁存器中的信息输出的端口读到输出锁存器中的信息n被被A和和B端端口口征征用用作作为为联联络络线线的的引引脚脚:将将读读到反映到反映8255A状态的状态的状态字状态字148/1/2024 小小 结结1、方式选择控制字、方式选择控制字8255A有有3种基本的工作方式,在对种基本的工作方式,在对8255A进行初始化编程时,进行初始化编程时,应向控制寄存器写入方式选择控制字,以规定各端口的工

41、作方式。应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。方式选择控制字格式方式选择控制字格式下下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口口I/O1=输入输入0=输出输出8/1/20242、C口按位置位口按位置位/复位控制字复位控制字端口端口C常用作控制或应答信号,通过对常用作控制或应答信号,通过对8255A的控制口写入按的控制口写入按位置位位置位/复位控制字,可使复位控制字

42、,可使C口的任一个引脚的输出单独置口的任一个引脚的输出单独置1或置或置0。C口按位置位口按位置位/复位控制字格式复位控制字格式1 置位置位 0 复位复位无关位无关位特征位特征位 D7 = 0000 选中选中PC0 001 选中选中PC1 111 选中选中PC7位位选选择择例:要使端口例:要使端口C的的bit3置位的控制字为:置位的控制字为:00000111B; MOV AL,00000111B OUT 0FBH,AL 而使端口而使端口C的的bit3复位的控制字为:复位的控制字为:00000110B ; MOV AL,00000110B OUT 0FBH,AL8/1/20247.3.4 8255

43、A的应用 作作为为通通用用的的并并行行接接口口电电路路芯芯片片,8255A具具有广泛的应用有广泛的应用n应用在应用在IBM PC/XT微机上微机上n应用于打印机接口电路应用于打印机接口电路n连接简易键盘连接简易键盘n驱动驱动LED数码管数码管n128/1/2024 1.键盘及其接口n键盘是微机系统最常使用的输入设备键盘是微机系统最常使用的输入设备n小小键键盘盘:适适用用于于单单板板机机或或以以微微处处理理器器为为基基础础的的仪仪器器,实实现现数数据据、地地址址、命命令令及及指指令令等的输入等的输入n独立键盘独立键盘:通过:通过5芯电缆与芯电缆与PC主机连接主机连接608/1/2024 编码键盘

44、能自动提供对应于被按键的编码,如编码键盘能自动提供对应于被按键的编码,如ASCII码,并能同时产生一个脉冲通知码,并能同时产生一个脉冲通知CPU。编码编码键盘还具有处理抖动和多键串键的保护电路。这种键盘还具有处理抖动和多键串键的保护电路。这种键盘的优点是使用方便,但需要较多的硬件,价格键盘的优点是使用方便,但需要较多的硬件,价格昂贵。昂贵。 非编码键盘有一组开关组成,提供行和列的键非编码键盘有一组开关组成,提供行和列的键盘矩阵,其工作过程:按键的识别;按键代码的产盘矩阵,其工作过程:按键的识别;按键代码的产生;防止串键和消除抖动等均由程序来实现。故这生;防止串键和消除抖动等均由程序来实现。故这

45、种键盘的优点是所需要的硬件较少,价格便宜,宜种键盘的优点是所需要的硬件较少,价格便宜,宜用微机化仪表的面板的键盘。用微机化仪表的面板的键盘。键盘两种类型:编码键盘键盘两种类型:编码键盘(独立键盘独立键盘)和非编码键盘和非编码键盘(小键盘)。(小键盘)。8/1/2024+5V+5V+5V+5V+5V+5V+5V第第0行行第第1行行第第2行行第第0列列第第1列列第第2列列第第3列列控制线控制线检测线检测线0123456789ABPA0PA1PA2PB0PB1PB2PB38255A矩阵式键盘结构矩阵式键盘结构628/1/2024+5V+5V+5V+5V+5V+5V+5V第第0行行第第1行行第第2行行

46、第第0列列第第1列列第第2列列第第3列列控制线控制线检测线检测线0123456789ABPA0PA1PA2PB0PB1PB2PB38255A矩阵式键盘结构矩阵式键盘结构628/1/20241). 逐行扫描法n先先使使第第0行行接接低低电电平平,其其余余行行为为高高电电平平,然然后后看看第第0行是否有键闭合(通过检查列线电平实现)行是否有键闭合(通过检查列线电平实现)n此此后后,再再将将第第1行行接接地地,然然后后检检测测列列线线是是否否有有变变为为低低电电位位的的线线。如如此此往往下下一一行行一一行行地地扫扫描描,直直到到最最后一行后一行n在在扫扫描描过过程程中中,当当发发现现某某一一行行有有

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

48、值在BL11NYNY64NYYN8/1/2024第1段:8255A初始化INTIA:MOV DX,PORT8255;PORT8255为控制为控制 ; 寄存器的地址寄存器的地址 MOV AL,82H ;A口为输出口为输出,B口为输入口为输入 ; ,工作方式,工作方式0 OUT DX,AL ;设定控制字设定控制字 8/1/2024第2段:是否有键按下KEY1:MOV AL,00 MOV DX,PORTA ;端口端口A的地址的地址 OUT DX,AL ;使所有行线为低电平使所有行线为低电平 MOV DX,PORTB ;端口端口B的地址的地址 IN AL,DX ;读取列值读取列值 CMP AL,0FF

49、H ;判定有无列线为低电平判定有无列线为低电平 JZ KEY1 ;无闭合键,循环等待无闭合键,循环等待 CALL DELAY ;有,延迟有,延迟20ms清除抖动清除抖动658/1/2024第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 ;读入列值读入列值668/1/2024第2段:识别按键(判断)CMP AL,0FFH;判断有无低电平的列线判断有无低电平的

50、列线JNZ KEYCODE;有,有, ADD BL,8; DEC CL; JNE KEY2 JMP KEY1KEYCODE: RCR AL,1 ;无,则移位扫描值无,则移位扫描值JNC PROCE INC BLJMP KEYCODEPROCE: 678/1/20242). 行列反转法n首首先先,将将行行线线作作为为控控制制线线接接一一个个输输出出端端口口,将将列列线作为检测线接一个输入端口线作为检测线接一个输入端口nCPU通通过过输输出出端端口口将将行行线线(控控制制线线)全全部部设设置置为为低低电电平,然后从输入端口读取列线(检测线)平,然后从输入端口读取列线(检测线)n然然后后,将将行行线

51、线和和列列线线的的作作用用互互换换,即即将将列列线线作作为为控制线接输出端口,行线作为检测线接输入端口控制线接输出端口,行线作为检测线接输入端口n将将刚刚才才读读得得的的列列值值从从列列线线所所接接端端口口输输出出,再再读读取取行行线线的输入值的输入值n这这样样,当当一一个个键键被被按按下下时时,必必定定可可以以读读得得一一对对唯唯一的行值和列值一的行值和列值条件条件:连接行线和列线的接口电路:连接行线和列线的接口电路必须支持必须支持动态改变输入、输出方式动态改变输入、输出方式688/1/20243). 抖动和重键问题n机械按键存在机械按键存在抖动现象抖动现象n当当按按下下或或释释放放一一个个

52、键键时时,往往往往会会出出现现按按键键在在闭闭合合位位置置和断开位置之间跳几下才稳定到闭合状态和断开位置之间跳几下才稳定到闭合状态n抖动的持续时间通常不大于抖动的持续时间通常不大于10msn采用采用硬件消抖电路硬件消抖电路或软件延时方法解决或软件延时方法解决n重键指两个或多个键同时闭合重键指两个或多个键同时闭合n出现重键时,读取的键值必然出现有一个以上的出现重键时,读取的键值必然出现有一个以上的0n是否给予识别和识别哪一个键是否给予识别和识别哪一个键8/1/2024重健问题的处理n简单情况:不予识别,认为是错误的按键简单情况:不予识别,认为是错误的按键n通常情况:只承认先识别出来的键通常情况:

53、只承认先识别出来的键n连锁法:直到所有键都释放后,读入下一个键连锁法:直到所有键都释放后,读入下一个键n巡巡回回法法:等等被被识识别别的的键键释释放放以以后后,就就可可以以对对其其它闭合键作识别,而不必等待全部键释放它闭合键作识别,而不必等待全部键释放n正常的组合键:都识别出来正常的组合键:都识别出来8/1/20242. LED数码管及其接口n发光二极管发光二极管LED是是最简单的显示设备最简单的显示设备n由由7段段LED就可以组成的就可以组成的LED数码管数码管nLED数数码码管管广广泛泛用用于于单单板板微微型型机机、微微型型机机控制系统及数字化仪器中控制系统及数字化仪器中nLED数码管可以

54、显示内存地址和数据等数码管可以显示内存地址和数据等LED Light Emitting Diode8/1/20241). LED数码管的工作原理n主要部分是主要部分是7段发光管段发光管n顺时针分别称为顺时针分别称为a、b、c、d、e、f、gn有的产品还附带有一个小数点有的产品还附带有一个小数点hn通过通过7个发光段的不同组合个发光段的不同组合n主要显示主要显示09n也可以显示也可以显示AF(实现实现16进制数的显示)进制数的显示)n还可以显示个别特殊字符,如、还可以显示个别特殊字符,如、P 等等8/1/2024LED数码管的结构共阳极共阳极阳极阳极+5Vabcdefgh阴极阴极abcdefgh

55、共阴极共阴极8/1/20242). 单个LED数码管的显示8255APA0PA1PA2PA3PA4PA5PA6PA7驱驱动动电电路路abcdefgh8/1/2024单个数码管的显示LEDTB DB 3FH,06H,5BH ;显示代码表显示代码表 MOV AL,1;AL要显示的数字要显示的数字MOV BX,OFFSET LEDTB XLAT ;换码:换码:ALDS:BXALMOV DX,PORTOUT DX,AL;输出显示输出显示8/1/20248255练习n设设8255A的的口口地地址址为为300H303H,A口口接接4个个开开关关K3K0,B口口接接一一个个七七段段LED显显示示器器,用用来

56、来显显示示4个个开开关关所所拨拨通通的的16进进制制数数0F,开开关关都都合合上上时时,显显示示0,都都断断开开时时显显示示F,每每隔隔2秒秒检检测测一一次次,试试画画出出硬硬件件连连线线图图,并并编编写写实现这种功能的程序。实现这种功能的程序。8/1/2024接口电路接口电路D7D0 RD WR A0 A1 CS5V8255APB7PB0K0K1K2K3PA3PA2PA1PA0反反向向驱驱动动器器gfa.8/1/2024PORT_A EQU 300H ;A口地址口地址PORT_B EQU 301H ;B口地址口地址PORT_CTR EQU 303H;控制端口的地址控制端口的地址DATA SE

57、GMENTTABLE DB 40H, 79H, 24H, 30H, 19H, 12H, DB 02H, 78H DB 00H, 18H, 08H, 03H, 46H, 21H, DB 06H, 0EH;7段代码表段代码表DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV DX, PORT_CTR8/1/2024 MOV AL, 10010000B; A口输入,口输入, ;B口输出口输出 OUT DX, ALTEST: MOV DX, PORT_A IN AL, DX ; 读读A口口 AND AL, 00001111B MOV BX, OFFSET TABLE XLAT MOV DX, PORT_B ; B口输出,口输出, ;点亮点亮LED OUT DX, AL MOV BX, 9 ; 延时延时2S8/1/2024CNT1: MOV CX, FFFFHCNT2: LOOP CNT2 DEC BX JNZ CNT1 JMP TESTCODE ENDS END8/1/2024

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号