版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 并行输入输出接口 第一节 I/O接口的基本概念一、 I/O接口的基本功能 1、 I/O接口的作用 解决高速主机与低速外围设备间的矛盾,即速度配合; 处理外围设备与CPU之间的不同的信息格式即信号格式配合; 使主机与外设协调工作,即时序配合; 外设和主机在信号电平一致,即电平配合。2、 I/O接口传送信息的类型 I/O接口传送的信息可分为三类:数据信息,状态信息和控制信息。 数据信息:数据信息可分为四种 数字量,二进制数据,最小单位是一个bit( 位),还有字节、字等。 模拟量,现场信号大多是由传感器来的模拟电压或电流,他们必须经过A/D转换,变成数字量才能进入计算机,有些接口有处理模拟
2、量的电路,称为模拟接口。 开关量,开关量只有两种状态,即“开”或“关”,可用一位二进制数表示,如“1”表示“开”,“0”表示“关”。 脉冲量,脉冲量是以脉冲形式表示的一种信号,如计算机中用到的定时脉冲或控制脉冲等。 状态信息:状态信息是反映外设当前所处的工作状态,以作为CPU与外设间可靠交换数据的条件。当输入 时,它告诉CPU,有关的输入设备是否准备好(Ready=1?);输出时它告诉CPU,输出设备是否空闲(Busy= 0?)。 控制信息:它用于控制外设的启动和停止,以及给出命令字,用于设置接口的工作方式。 通常接口中三种信息有不同的寄存器传送,如数据输入寄存器、数据输出寄存器、状态寄存器和
3、控制(命令)寄存器,他们使用不同的端口地址来区分不同性质的信息。 3、 I/O接口的主要功能 数据缓冲功能,接口中有数据输入寄存器和输出寄存器,用于解决主机与外设在工作速度上的矛盾。 提供联络信息,接口中有状态寄存器 信息格式的转换,包括电平转换、并串转换等。 设备选择,每台外设都有设备地址,用于与其他设备区别。 中断管理,将在中断一章中详细介绍。 可编程功能,使接口具有多功能和灵活设置。 对外设的控制和监测功能二、 I/O接口的基本结构 如图5.1所示。电路包括四组寄存器和一个中断逻辑。这些寄存器也被称为端口,每个端口有一个端口地址,CPU通过这些端口与外设交换数据。 接口有两个界面,一面是
4、计算机总线;另一面是外围设备。 图5.1 接口电路的基本结构 三、I/O端口的编址方式 1、 I/O端口和存储器统一编址 该方式是将存储器地址空间的一部分作为I/O设备的地址空间,所以I/O端口地址也是一个存储器地址。 优点是CPU访问存储器的指令都可以访问I/O端口,不需要专门的I/O指令。二是使I/O控制逻辑简单,其引脚减少。 缺点是I/O端口占用了一部分存储器空间;二是访存指令通常比专用的I/O指令长,所以执行时间较长。 MOTOROLA的微机系列如MC6800系列,MC68000系列都采用这一方法。APPLE公司如6502系列也采用这一方法。 2、 I/O端口和存储器单独编址 基本想法
5、是I/O端口地址和存储器地址分开,单独编址,在指令系统中分别设立存储器读写指令和I/O端口读写指令。 在地址总线上的地址信息究竟是存储器地址还是I/O地址,一般是在CPU上设置专门的控制线,如 =1为I/O操作,= 0 为存储器操作。 优点: I/O端口不占用存储器地址空间;单独I/O指令比较短,地址译码方便,指令执行速度快。 缺点:需要单独的I/O指令,这些指令一般功能简单,通常只有读写功能;需专门的I/O控制线,增加了CPU本身控制逻辑的复杂性。Intel系列和Zilog系列采用此方法。MIO/ 四、 I/O接口的地址分配 每台微机都给I/O端口分配相应的端口地址。 IBM/PC-XT使用
6、10位地址作为I/O端口地址,即可用端口有1024个,以后的PC机(8086)用16位地址作为I/O端口地址,即可用端口有65536个。 可用测试工具QAPLUS等软件检测系统配置及其端口地址使用情况;也可查阅每台机器的硬件手册。 五、 I/O端口地址的译码及片选信号的产生 I/O端口地址的生成一般是由地址信号A9-A0的高位产生译码的片选信号 CS ,低位产生片内的寄存器地址。在I/O操作时,CPU执行IN或OUT指令,首先是端口地址有效,然后是IOR或IOW有效。 1、利用门电路进行译码 如图5.2所示,端口地址为348H-34FH,由于A0-A2三位地址没有参加译码,所以一个片选信号占用
7、8个地址单元。实际上这低三位地址加到芯片上,产生片内寄存器的地址。A9A8A7A6A5A4A3A2A1A0 1 1 0 1 0 0 1 2、用集成译码器进行译码 如图5.3所示,使用74LS138集成译码器译出8个端口地址。由于所有A0-A9地址线都参加译码,所以称 为全译码,这时每条线对应一个端口地址。A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 = 11,0101,1 1 1 0 1 0 1 1 = 3 5 8-F 3、开关式可选择译码电路 如果用户希望译码器能适应不同的地址分配场合,则可采用开关式地址可选择译码电路,如图5.4所示。电路用DIP开关选择地址,并使用了一片74
8、LS688八位数据比较器。当输入端P0-P7的地址与设置端Q0-Q7的状态一致时,输出P=Q 为低,其输出控制地址译码芯片74LS138的译码。图中,上面一片74LS138产生读端口地址,下面一片74LS138产生写端口地址,这样使8个口地址作16个口地址用。此电路必须A9=1,AEN=0时才能有效译码。(AEN=0是CPU控制总线, AEN=1时DMA控制总线)。 4、使用可编程芯片进行地址译码 目前大多数地址译码采用可编程芯片,如GAL或PAL器件。把译码电路的逻辑关系按说明文件格式写入一文件,然后用编程器把逻辑关系写入GAL器件中。第二节 I/O数据传送控制方式 CPU与外设之间数据传送
9、的方式通常有3种,即程序控制方式,中断控制方式和直接存储器方式(DMA)。一、程序控制方式 程序传送是指CPU与外设间交换数据在程序控制(即IN或OUT指令控制)下进行。 1、无条件传送 这种方式适合于外设总是处于准备好的情况,因此程序不必检查外设的状态。如图5.5所示,端口地址译码器产生选通信号,RD信号为读,WR信号为写,开放三态缓冲器(读)或写入锁存器,进行数据读或写。 图5.5 无条件传送方式 例1:一个采用无条件传送的数据采集系统图5.6 无条件输入的数据采集系统 这是一个16位精度的数据采集系统。被采集的8个模拟量,由继电器绕组P0、P1、P7分别控制触点K0、K1、 、K7逐个接
10、通。每次采样转换成16位BCD码,高8位和低8位通过两个端口(端口地址为11H和10H)输入到计算机。CPU通过端口20H输出控制信号,以控制继电器的吸合,实现采集不同通道的模拟量。 采集过程如下:(1)先断开所有的继电器触点,不采集数据;(2)延迟一段时间后,使K0闭合,采集第1个通道的模拟量,并保持一段时间,以使数字电压表将模拟电压转换为16位BCD码;(3)分别将高8位与低8位BCD码存入内存,并转存到DSTOR开始的数据区;(4)利用移位与循环实现8个模拟量的依次采集和存储。 数据采集程序如下:START:MOVDX,0100H;01H置吸合第一个继电器;00断开所有继电器代码LEAB
11、X,DSTOR;置数据缓冲区地址指针XORAL,AL;清AL和CF AGAIN:MOVAL,DLOUT20H,AL;断开所有继电器CALLNEAR DELAY1;继电器触点释放时间MOVAL,DHOUT20H,AL;先使P0吸合CALLNEAR DELAY2;继电器触点闭合和转换时间INAL,10H;输入低8位INAH,11H ;输入高8位MOVBX,AX;存入内存INCBX;地址指针加2INCBXRCLDH,1;DH带进位循环左移一位JNCAGAIN;8个通道完了吗?没有,循环DONE: ;已完,则执行其他程序 2、程序查询传送方式 程序查询式输入图5 .7 查询式输入的接口电路 如图5.7
12、所示,CPU从接口读取状态信息,判断READY是否为1?即是否准备好,若已准备好,则读入数据。查询部分程序如下:POLL: inal, status_port ;读状态端口的信息testal, 80H;设READY信息在D7位jePOLL;D7=1未就绪,则循环再查inal, data_port;已就绪,则读入数据 其中:status_port是状态口地址, data_port是数据口地址。 查询式输出 如图5.8所示, CPU从接口读取状态信息,判断BUSY是否为1?BUSY=0表示外设不忙,则CPU执行输出指令 ,输出数据到外设。图5.8 查询式输出接口电路 查询式输出的部分程序如下:PO
13、LL: inal, ststus_port ;读状态口,查D7位testal, 80HjePOLL;D7=1即忙线=1,则循环moval, store;否则外设空闲,从内存取数outdata_port, al;输出到外设的数据口 3、一个查询方式的数据采集系统 如图5.9所示,有8个模拟量输入的数据采集系统,8个模拟量经多路开关选择其中一路,每次一个模拟量到A/D转换器;同时A/D转换器由端口4输出的D4控制启动与停止。 A/D转换器的READY信号由端口2的D0输出至CPU数据总线; A/D转换后的数据由端口3输至数据总线。图5.9 查询式数据采集系统这里用到三个端口地址,端口2为状态口,端
14、口3为数据口,端口4为控制口用于选择那一路。数据采集过程的程序如下:START:movdl, 0F8H;设置启动信号,低3位选通多路开关movax, seg dstor;设置输入数据的内存地址指针moves, ax;段地址送esleadi, dstor ;偏移地址送diAGAIN:moval, dlandal, 0efH ;使D4=0out04, al;停止A/D转换calldelay;等待停止A/D转换操作完成moval, dl;使al=0F8H,D4=1out04,Al ;选输入通道并启动A/D转换POLL:in al, 02;从02端口输入状态信息shral, 1;查AL的D0jncPO
15、LL;判READY=1?若D0=0,未准备好,则循环inal, 03;若已准备好,则经端口3输入采样数据到ALSTOSB;输入数据转送至内存单元,地址指针自动加1incdl;输入模拟通道号加1jneAGAIN ;8个模拟量未完则循环 ;输入已完,执行别的程序 二、中断传送 程序查询传送方式明显的缺点是CPU利用率低,不能满足实时输入输出的需要,中断方式可以较好地解决这一问题。 所谓中断是指程序运行中出现了某种紧急事件,CPU必须中止现正在执行的程序,转去处理该紧急事件(执行一段中断服务程序),并在处理完后返回原运行的程序的过程。 完整的中断处理过程包括中断请求、中断判优、中断响应、中断处理和中
16、断返回。 为了使中断服务程序不影响主程序的执行,需把主程序断点处的有关寄存器的内容保存下来,称之为保护现场;在中断服务程序操作完成后再恢复这些寄存器的内容,称之为恢复现场。 用中断方式时,外设处于就绪状态时,例如输入设备数据准备好时,或输出设备不忙可以接收数据时,便向CPU发出中断请求,CPU暂停当前执行的主程序进入中断响应,与外设进行一次数据交换,操作完成后再继续执行原来的主程序。 通常CPU在执行每一条指令的末尾处会检查外设是否有中断请求(这种查询是由硬件完成的,不占用CPU的工作时间),如果有,在中断允许(即IF=1)的情况下,CPU将保留下一条指令的地址(断点)和当前标志寄存器的内容,
17、转去执行中断服务程序,操作完成后恢复断点和标志寄存器的内容,继续执行原来被中断的程序。 中断方式的优点很明显,大大提高了CPU的工作效率,而且外设有申请中断服务的主动权。 有关中断的详细工作情况将在第六章中介绍。三、DMA方式 利用程序中断方式,虽然可以提高CPU的工作效率,但它仍需要由程序来传送数据,并在中断处理时要“保护现场”和“恢复现场”等,要占用一定时间,是每传送一个字节大约要几十微秒到几百微秒,这对于高速外设就显得太慢了。 DMA方式是一种由专门的硬件电路执行I/O交换的传送方式,它让外设接口与内存直接进行高速的数据交换,而不必经过CPU,实现对存储器的直接存取。这种专门的硬件叫DM
18、A控制器,简称DMAC,如图5.10。 如图所示,当接口准备好就向DMAC发DMA请求,接着CPU通过HOLD引脚接收DMAC发出的总线请求;CPU在完成当前总线操作后,就发出HLDA的总线响应信号给DMAC, DMAC收到此信号后便接管对总线的控制权,开始DMA操作。当DMA传送结束,DMAC将HOLD信号变成低电平,并放弃对总线的控制权。CPU检测到HOLD为低后,也将HLDA变成低,并恢复对总线的控制权。 第三节 DMA传输和控制器参见课本P289-298页。第五节 并行通信及接口电路 通用接口可分为并行接口和串行接口两大类。并行传送是把一个字节或多个字节用多条信号线同时进行传输,即并行
19、接口是按字节传送的;串行接口和CPU之间按并行传送,而和外设之间是一个二进制位一个二进制位的传送,即串行接口是按位传送的。参见图5.11所示。一、并行接口的组成及其与CPU和外设的连接 1、并行接口的基本组成(如图5.12所示) 两个或两个以上的具有缓冲能力的数据寄存器 可供CPU访问的控制及状态寄存器 片选和内部控制逻辑电路 与外设进行数据交换的控制和联络信号线 与CPU用中断方式传送数据的相关中断控制 2、与CPU的连接 与CPU的连接主要是双向数据总线,读、写控制线,复位信号,中断请求以及状态信号和地址译码产生的片选信号。 3、与外设的连接 与输入设备的连接:并行输入数据线,数据传输应答
20、信号(输入准备好和输入回答信号); 与输出设备的连接:并行输出数据线,数据传输应答信号(输出准备好和输出回答信号); 二、并行接口的数据输入输出过程 1、数据输入 外设将数据传送到并行接口,同时给出“输入数据准备好”信号; 接口把数据接收到输入缓冲寄存器,给出“输入回答”信号(高电平)到外设; 若采用中断方式,则接口向CPU发中断请求信号,并使状态寄存器中的“输入缓冲器满”位置1(也可以用查询方式); CPU响应接口的中断请求(或查询相应的状态位),在中断服务程序中执行IN指令读取接口中的数据; 接口给外设的“输入回答”信号变成低,通知外设可以输入新的数据,此后转到开始下一个数据的输入过程。
21、2、数据输出 CPU执行OUT指令把数据写到接口(中断或查询都可以); 接口向外设发出“输出准备好”信号,通知外设可以把数据取走; 外设取走数据后,向接口发“输出回答”信号; 接口向CPU发出新的中断请求,并使状态寄存器中的“输出缓冲器空“位置1,要求CPU输出新的数据,转到,开始下一输出过程。 第六节 可编程并行通信接口片8255A一、8255的内部结构及其功能 1、8255的引脚 参见图5.13(a),共有40条引线。电源与地线2条;与外设相连的有24条;与CPU相连的有14条。 图5.13 8255引脚和功能示意图 2、8255的功能 如图5.13(b)所示,接口的左边与CPU连接,右边
22、与外设连接,有A、B、C三个8位端口,而C口可分成两个4位的端口。每个端口都可以通过编程设定为输入端口或输出端口,但有各自不同的方式和特点。端口C可以独立使用,但通常是配合端口A和端口B工作,为这两个端口的输入输出提供联络信号。二、8255A的内部结构方块图 如图5.14所示,8255A由以下几部分组成。 1、数据总线缓冲器 这是一个8位双向三态数据缓冲器,是8255A与CPU之间的数据接口,是它们之间互相交换信息的必经之路。 2、并行输入输出端口A、端口B、端口C 端口A和端口B是一样的8位端口,可以作为输入口或输出口,并有数据锁存功能。端口C作为输入口时,对数据不锁存,而作为输出口时,对数
23、据进行锁存。 端口C可以独立作为输入或输出端口,也可分成两个4位的端口,分别用来为端口A和端口B提供控制和状态信息。3、A组控制和B组控制 端口A与端口C的高4位(PC7-PC4)构成A组,端口B与端口C的低4位(PC3-PC0)构成B组。他们各有一个控制单元接收来自读写控制部件的命令和CPU通过数据总线送来的控制字,并根据控制字来定义各端口的操作方式。 4、读写控制部件 该部件用于接收CPU的控制命令,根据这些命令向片内各功能部件发出操作命令。 共有6个信号,CS是片选信号,通常由高位地址译码产生 ;RD和WR是CPU来的读写信号;RESET是复位信号,复位后,清除所有寄存器内容,并将各端口
24、置成输入方式;A1、A0为地址信号,用于选择8255内部的端口。这6个信号的组合所完成的操作如下表所示。可以看出,CPU要求8255有4个端口地址,通常A1、A0直接和地址总线的AD1、AD0相连,这时4个地址是连续的。 表5-1: 8255A的操作 A1A0RDWRCS 操作00010端口A数据送CPU(输入)01010端口B数据送CPU (输入)10010端口C数据送CPU (输入)11010非法操作00100CPU数据送端口A(输出)01100CPU数据送端口B (输出)10100CPU数据送端口C (输出)11100CPU数据送控制口110数据总线浮空1未选中该8255,数据总线浮空
25、三、8255A的控制字 1、三种工作方式 如图5.15所示,将控制字写入控制字寄存器,设置端口的工作方式,8255A有三种工作方式。 方式0:基本输入输出方式 方式1:选通输入输出方式 方式2:双向输入输出方式 端口A可处于三种方式的任一种;端口B只能工作在方式0和方式1;端口C可工作在方式0,但通常C口被分成两组,A组(A口与 PC7-PC4)和B组( B口与PC3-PC0 ),用于传送数据和控制信息。 2、方式选择控制字 方式选择控制字用于定义端口的工作方式,控制字有8位,每一位的定义如图5.16所示。 例如:方式选择控制字 83H=10000011 A口方式0,输出方式;B口方式0,输入
26、方式;C口分为两组, PC7-PC4方式0,输出,PC3-PC0方式0,输入。 若控制字寄存器的口地址是D6H,则movAL,83Hout0D6H, AL 3、C口置位复位控制字 此控制字只对C口有效,该控制字紧跟在方式控制字后定义,它被写入控制口,不是写入C口。如图5.17所示。在方式1和方式2时要用到这个控制字。 四、8255A的工作方式 1、工作方式0 如图5 .18所示,8255工作在方式0只完成简单的并行输入输出。 方式0的控制字 如图5.18A所示,最高3位是100,其它D2位为0,D4、D3、D1、D0这4位可为任意,他们有16种组合。2、工作方式1 这种方式与方式0的区别在于数
27、据输入输出要在选通信号控制下进行,如图5.19所示。 输入操作:其控制信号如下: STB,选通信号,由外部输入,低电平有效,该信号有效时将外部数据锁存到所选端口的输入锁存器中。 STBA PC4 ; STBB PC2 ,此信号由C口的PC4和PC2输入。 IBF,输入缓冲器满信号,向外部输出,高电平有效。该信号有效时,表示输入的数据已占用该端口的输入锁存器,实际上是对STB信号的回答,等待CPU执行IN指令将数据取走。 IBFA PC5;IBFB PC1。 INTR,中断请求,向CPU输出,高电平有效。 A组内部有中断允许触发器INTEA, B组内部有中断允许触发器INTEB,由PC4和PC2
28、置位/复位来控制。 INTRA PC3; INTRB PC0。采用中断方式时,当输入缓冲器满,STB的后沿置INTEA或INTEB为1,则向CPU发中断请求INTR,在中断服务程序中安排执行IN指令,读取输入的数据,并使IBF为0。 A口B口均可工作在方式1,完成输入操作。 输出操作,其控制信号如下: OBF,输出缓冲器满,向外部输出,低电平有效。该信号有效表示CPU已将数据写入该端口。 OBFA PC7; OBFB PC1 ACK,外部应答信号,由外部输入,低电平有效。该信号有效表示外设已收到由8255输出的8位数据,实际上是对OBF的回答。 ACKA PC6; ACKB PC2 INTR,
29、中断请求,向CPU输出,高电平有效。 A组内部有中断允许触发器INTEA, B组内部有中断允许触发器INTEB,由PC6和PC2置位/复位来控制。 INTRA PC3; INTRB PC0。 采用中断方式时,当ACK有效时OBF被复位为高电平,并将相应的 INTE置1,于是INTR输出高电平向CPU发中断请求,CPU响应中断,在中断服务程序中执行OUT指令,输出后续字节。 方式1(输出)操作如图5.20所示。 在方式1下,A口和B口可以是输入或输出方式,所以他们有四种组合。其间使用C口的6根线作为控制线,此时总会有其它2根线可作为输入或输出线。 3、 工作方式2 只有A口可以工作在方式2,当A
30、口工作在方式2时,B口可以工作在方式1或方式0,其控制字如图5.21所示。 INTRA:中断请求信号,高电平有效; INTE1:A口内部输出中断允许触发器,可由软件通过对PC6置位或复位来允许或禁止。 INTE2:A口内部输入中断允许触发器,可由软件通过对PC4置位或复位来允许或禁止。 其他信号意义与方式1时相同。 D7=1,方式控制字标志;D6=1方式2 D5=任意,D4不用;D3不用,这时PC4-PC7作为联络线 D2=1,B组方式1;= 0, B组方式0 D1=1, B口输入;= 0 B口输出 D0=1,PC2-PC0输入;= 0, PC2-PC0输出;PC3用作联络线 A口方式2实际上
31、是A口在方式1下输入输出的组合。所需的5根联络线和方式1是一样的,只是中断请求只需要一根线。 五、8255A的状态字 8255A的状态字为查询方式提供了状态标志位。8255A工作于方式1或方式2时的状态字可通过读端口C得到。状态字为查询方式提供了状态标志位,如输入缓冲器满信号IBF,输出缓冲器满信号OBF等。 1、方式1的状态字格式 方式1输入状态字格式: A组 B组方式1输出状态字格式: A组 B组D7D6D5D4D3D2D1D0I/OI/OIBFAINTEINTRINTEIBFBINTRD7D6D5D4D3D2D1D0OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB 要
32、注意的是:端口C的状态字各位含义与相应外部引脚信号并不完全相同。 INTEA和INTEB是内部控制信号,通过向控制口写入“端口C置1/置0控制字”来设定的,设定后,就会在状态字中反映出来。 2、方式2状态字格式 方式2状态字也是从端口C读取,其格式如下图所示: 其中:INTE1是输出中断允许位,INTE2是输入中断允许位。如前所述,它们也是利用“端口C置1/置0控制字”来使其置位或复位的。 A口工作于方式2时,B口可以工作在方式1和方式0;若B口方式0,则端口C的PC2-PC0用于数据的输入输出;若B口工作在方式1,则PC2-PC0提供输入或输出的状态。 C口 A组状态 B组状态 A组方式2
33、B组方式0 输入输出 输出时 B组方式1 输入时 方式2状态字格式D7D6D5D4D3D2D1D0OBFAINTE1IBFAINTE2INTRAI/OI/OI/OINTEBOBFBINTRBINTEBIBFBINTRB 六、8255A应用举例 例1:将外设开关的二进制状态从A口输入,并由B口输出到LED显示器,如图5.22所示。 图中LED是8段发光二极管,当某段中流过电流,则该段发光。从图中可看出,8个发光二极管采用共阳极接法,当B口的某位输出高时,连接该位的那一段亮。所以输出数字的二进制编码如下: 数字 发光的相应段 编码 0 a、b、c、d、e、f 00111111=3FH 1 b、c
34、00000110=06H 2 a、b、d、e、g 01011011=5BH 3 a、b、c、d、g 01001111=4FH 4 b、c、f、g 01100110=66H 5 a、c、d、f、g 01101101=6DH A a、b、c、e、f、g 01110111=77H b c、d、e、f、g 01111100=7CH F a、e、f、g 01110001=71H 8255A端口地址为D0-D3H,A口工作于方式0输入,B口工作于方式0输出,程序如下:START: moval, 90H;设置方式选择字 out0D3H, alAA: inal, 0D0H;读端口A andal, 0FH;取端
35、口A低4位 movbx, offset LEDTAL;取LED显示代码表首地址 xlat;查表,AL(BX+AL) out0D1H, al;从端口B输出LED显示代码 movax, 1000;延迟 BB: decax jnzBB jmpAA;返回到AA hlt LEDTALDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,67H,77H,7CH,39H,5EH,79H,71H 例2:实验8255A可编程并行接口方式0 硬件电路如下: 图5.23(a) 8255A方式0用于实验8255端口C接逻辑电平开关K0-K7,A口接LED显示电路L0-L7图5.23(b)开
36、关和LED的连接 8255A的端口地址为288H-28BH(Y1端),地址译码器如下图所示:图5.24 实验用的地址译码器参考程序(E8255.ASM)如下:code segmentassumecs:codestart: movdx, 28bH;设8255为C口输入,A口输出moval, 8bHoutdx, alinout:movdx, 28aH;从C口输入一数据inal, dxmovdx, 288H;从A口输出刚才从C口输入的数据outdx, almovah, 1;判断是否有键按下?int16Hjzinout;若无键按下,则返回到inoutmovah, 4cH;否则,返回DOSint21Hc
37、ode endsendstart 例3:8255A工作于方式1输出,作为与中断方式工作的打印机接口,如图5.25所示。A口作为打印输出数据口,工作于方式1。此时C口的PC7、PC6和PC3是联络信号。设中断请求接到8259A的IR3,对应的中断类型号为0BH;8259A的初始化在主机系统开启时完成。 字符输出操作由中断服务程序完成,设8255的口地址同例1,则主程序及中断服务子程序如下:主程序:MAIN: moval, 0A0H;A组工作于方式1输出out0D3H, almovax, 0movds, axmovbx, 0BH*4;求中断类型0BH在矢量表 中的起始地址movax, offset INTHAND;取中断矢量INTHAND 的偏移地址movword ptrbx, ax ;在中断矢量表中设置中断 矢量INTHAND的偏移地址incbxincbxmovax,seg INTHAND;取中断矢量INTHAND的段地址movword ptrbx, ax ;在中断矢量表中设置中断矢量 INTHAND的段地址moval, 0DH;使PC6=1,允许8255A中断out0D3H, alsti;开放CPU中断中断处理子程序:INTHAND:;保存现场 moval, si
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化产业示范基地复核书
- 河北省邢台市威县寺庄中学2024-2025学年八年级上学期期中地理试题(含答案)
- 实验室用拭子实验室工具产业链招商引资的调研报告
- 吉他弦桥市场需求与消费特点分析
- 单肩包市场发展预测和趋势分析
- 人教版英语八年级下册 Unit 1-3 单元阅读训练
- 高效灌溉技术在蔬菜种植中的应用分析报告
- 可充气薄橡胶玩具市场需求与消费特点分析
- 土耳其毡帽产业规划专项研究报告
- 城市公共设施门窗改造方案
- 太阳能光热转换和热储存技术
- AQ 2043-2012 石油行业安全生产标准化 陆上采气实施规范
- 麻醉药靶点的新发现和药理机制
- MOOC 国际交流学术英文写作-湖南大学 中国大学慕课答案
- 书香班级评选方案及总结
- 白内障护理学习教案
- 30题高分子材料工程师岗位常见面试问题含HR问题考察点及参考回答
- 小班语言《会响的小路》课件
- 健康科普宣传进社区活动方案
- 二年级上美术教案-我家的菜蓝子-岭南版
- 政府审计4版刘三昌习题参考答案
评论
0/150
提交评论