第6章 并行接口_第1页
第6章 并行接口_第2页
第6章 并行接口_第3页
第6章 并行接口_第4页
第6章 并行接口_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、浙江工业大学计算机学院浙江工业大学计算机学院1内容回顾内容回顾n中断基本概念中断基本概念l基本术语 (9个概念)l中断过程 (请求、判优、响应、服务)。l中断管理 (中断源识别、优先级排队、中断嵌套)。n8086/8088微机中断系统微机中断系统l中断类型 (外部:NMI和INTR;内部:5种)。l中断向量表:中断向量值及计算方法。l中断向量的设置与修改:直接写入法与系统调用法。2n8259A可编程中断控制器可编程中断控制器l内部结构、外部引脚。l工作方式(中断过程、级联方式、触发方式、屏蔽方式、优先级方式、嵌套方式、结束方式、连线方式)。l8259A编程:ICW1 ICW4,OCW1 OCW

2、3。n8259A的应用的应用l主程序、中断服务程序的设计。nPC机中的中断应用机中的中断应用lIBM PC/XT机(单片)、IBM PC/AT(双片)。34第六章第六章 并行接口并行接口8255A可编程并行接口2PC 机中的并行接口应用3并行接口基本概念1l并行传送方式并行传送方式以字长 (8/16/32位等) 为单位进行传送,一次传送多位数据,需多根多根数据线。特点特点:传送速度快。但使用信号线多,成本高成本高;且信号线间电容会引起串扰串扰,不适合远距离传送。一般用于外设与微机间近距离近距离、大量和快速的传输。l串行传送方式串行传送方式通过一根一根数据线将数据一位一位的顺序传送。缺点缺点:速

3、度慢。但传输线少,成本低。适合于远距离远距离传送。5 6.1 并行接口基本概念并行接口基本概念l基本的并口电路基本的并口电路三态缓冲器和锁存器,如:74LS244 、74LS245、74LS373和74LS573等。特点特点:不可编程,一旦设计好,其功能不能改变,通用性和灵活性差。l可编程并行接口可编程并行接口可编程并行接口芯片:如 Intel 的8255A。特点特点:可软件编程来设定工作方式和功能。6并口:用于在CPU和外设间传输数据。作用:缓冲缓冲与锁存锁存。 7第六章第六章 并行接口并行接口8255A可编程并行接口2PC 机中的并行接口应用3并行接口基本概念1l 并行传输和串行传输的概念

4、与特点l 2种并口形式:基本并口和可编程并口(1)8255A 的内部结构的内部结构8 6.2 可编程并行接口可编程并行接口8255An数据端口数据端口l端口A:内含一个8位的输入、输出锁存器/缓冲器,用作输入或输出时,其数据均可得到锁存。l端口B:内含一个8位的输出锁存器/缓冲器和一个8位的输入缓冲器(输入无锁存输入无锁存)。l端口C:内含一个8位的输出锁存器/缓冲器和一个8位的输入缓冲器(输入无锁存输入无锁存)。可作为一个独立的8位端口,也可分成两个4位端口。可用作数据数据输入输入/输出端口输出端口,也可作为控制/状态端口(联联络络信号信号),配合A、B端口一起工作。具有按位置位按位置位/复

5、位复位功能。9 8255A可通过软件编程来分别设定每个端口的输入/输出及其工作方式。A口有3种种工作方式:方式0(基本输入/输出)、方式1(选通输入/输出)、方式2(双向输入/输出)。B口有2种种工作方式:方式0、方式1C口可设置为并口并口或按位置位按位置位/复位复位工作方式。10nA 组和组和B 组控制逻辑组控制逻辑lA口和C口的高4位构成A组,由A组控制逻辑控制 。lB口与C口的低4位构成B组,由B组控制逻辑控制。lA、B两组控制电路内部均有控制寄存器控制寄存器,用来接收CPU发来的读/写控制信号和控制字,并按控制字确定各端口的工作方式。11n数据总线缓冲器数据总线缓冲器l8位三态双向缓冲

6、器,与系统数据总线相连,用于CPU与8255A之间传送数据、命令和状态信息。n读读/写控制逻辑写控制逻辑l接收CPU发来的地址信号和控制信号,转变为各种命令送到A、B组控制逻辑,对端口进行相应的操作。1213 (2) 8255A外部引脚外部引脚n与外设一侧相连的引脚与外设一侧相连的引脚lPA7 PA0、PB7 PB0、 PB7 PB0:三态双向数据线,直接与外设相连,输入输出由工作方式决定。n与与CPU一侧相连的引脚一侧相连的引脚lD7 D0:双向数据线,用于CPU与8255A间传送数据、状态和控制信息。lA1A0:用于选择端口地址。A1A0 = 00:选择端口AA1A0 = 01:选择端口B

7、A1A0 = 10:选择端口CA1A0 = 11:选择控制端口14lCS、RD、WR:片选、读、写信号,均为低有效。lRESET:复位信号,高有效。RESET=1时:清除所有内部寄存器的内容。将A、B、C三个端口均设置为方式方式0,输入输入。三个端口对外的信号线均为高阻态。15端口地址分配端口地址分配16CSRDWRA1A0端口操作地址01000数据总线 端口A60H01001数据总线 端口B61H01010数据总线 端口C62H01011数据总线 控制寄存器63H00100端口A 数据总线60H00101端口B 数据总线61H00110端口C 数据总线62H00111非法状态011数据总线为

8、高阻态 1数据总线为高阻态lCPU通过向8255A的控制口 (A1A0 = 11) 写控制字来设置其工作方式。l8255A有2个控制字:方式选择控制字方式选择控制字和C口置位口置位/复位控复位控制字制字,它们均写入同一个同一个控制端口。用特征位D7区分:方式字 (D7=1):用于设置各端口的工作方式。C口置位/复位 (D7=0):对C口的任意一位进行置位或复位,而不影响其它位的状态。17 (3) 8255A编程编程n方式选择控制字方式选择控制字181D6D5D4D3D2D1D0C口高口高4位位1:输入:输入0:输出:输出特征位特征位端口端口A1:输入:输入0:输出:输出A组方式选择:组方式选择

9、:00:方式:方式 001:方式:方式 11:方式:方式 2B组方式组方式0:方式:方式01:方式:方式1端口端口B1:输入:输入0:输出:输出C口低口低4位位1:输入:输入0:输出:输出【例6-1】某并行接口的A口设定为方式0,输出;B口为方式0,输入;C口高4位输出,低4位输入。试写出方式字命令。19MOVAL,10000011BOUT63H,AL ;控制端口nC口置位口置位/复位控制字复位控制字200D6D5D4D3D2D1D0特征位特征位不使用不使用1:置位:置位0:复位:复位位选择位选择000:PC0001:PC1111:PC7注意:尽管该控制字针对注意:尽管该控制字针对C口进行操作

10、,但必须写口进行操作,但必须写入入控制端口控制端口,而不是写入,而不是写入C口对应的地址。口对应的地址。【例6-2】利用8255A的PC7端产生负脉冲,作为打印机接口电路的数据选通信号。21MOVAL,00001111B ;使 PC7 = 1OUT63H,ALCALL DELAYMOVAL,00001110B ;使 PC7 = 0OUT63H,ALCALL DELAYMOVAL,00001111B ;使 PC7 = 1OUT63H,ALCALL DELAY可否用可否用DEC和和INC指令实现?指令实现?【例6-3】已知8255A的地址范围为4A04A3H,利用C口置口置位位/复位复位控制字,编

11、程使其PC3端产生方波,送到喇叭,从而产生不同频率的声音。 22 MOV DX,4A3H;控制端口控制端口LL: MOV AL,00000111B ;使 PC3 = 1 OUT DX,AL MOV CX,0FFFFHL1: LOOP L1 MOV AL,00000110B ;使 PC3 = 0 OUT DX,AL MOV CX,0FFFFHL2: LOOP L2 JMP LL;循环,产生周期信号n8255初始化编程初始化编程 向控制口写入方式选择控制字方式选择控制字后即可完成初始化,然后可对A、B、C口进行输入/输出操作。【例6-4】已知8255的地址范围为4A04A3H,利用C口口输出数据输

12、出数据的方法来控制PC3端,使其产生方波信号,送到喇叭,从而产生不同频率的声音。2324 MOV DX,4A3H MOV AL,10000000B ;方式选择,C口输出 OUT DX,AL;初始化 LL: MOV AL,00001000B;送数至C口,使PC3=1 MOV DX,4A2H;端口C的地址 OUT DX,AL MOV CX,0FFFFHL1: LOOP L1 MOV AL,00000000B ;使 PC3 = 0 OUT DX,AL MOV CX,0FFFFHL2: LOOP L2 JMP LL;循环,产生周期信号总结:总结: 通过比较【6-3】和【6-4】可知:改变PCi 端的输

13、出,有2种方法:lC口置位口置位/复位控制字法复位控制字法:对控制口控制口 (A1A0=11)操作。特点:仅改变PCi 端的输出状态,PC口其它位不受影响。l向端口向端口C写数据法写数据法:对C数据口数据口(A1A0=10)操作。将影响C口所有位的状态。25n方式方式0基本输入基本输入/输出输出lA口、B口、C口的高4位和低4位均可独立独立地被设置为输入或输出。l8255A与CPU之间没有没有固定的固定的应答联络信号应答联络信号,可用于无条件传送无条件传送或查询方式查询方式传送。l单向I/O:一次初始化只能指定端口作为输入或作为输出,不能指定其同时既作为输入又作为输出既作为输入又作为输出。26

14、 (4) 8255A的工作方式的工作方式27【例6-5】 某系统用8255不断检测开关K7 K0的通断状态,在LED7 LED0上实时显示结果。开关闭合时,对应的LED亮;开关断开时,对应的LED灭。请编程实现。解题分析:解题分析:l方式字方式字:A口输入;B口输出。无需联络信号,仅需进行基本的输入/输出操作,故A、B口均工作在方式0。方式字为:10010000B = 90H。l题意实现题意实现:A口输入的数据直接直接从B口输出。l端口地址范围地址范围:208H20BH。28开关闭合,对应的LED亮;开关断开,对应的LED灭。29 MOV DX,20BH ;控制端口 MOV AL,90H;方式

15、字 OUT DX,AL;初始化初始化LL: MOV DX,208H INAL,DX;从A口读入开关状态MOV DX,209HOUTDX,AL;将A口状态送入B口显示JMPLL【例6-6】 如图电路,若要求8个发光二极管L0 L7 依次依次点亮,请问:8255A的A端口应工作在什么方式?给出初始化程序段。编程实现题意要求。30解题分析:解题分析:A口应工作在方式0,输出。初始化程序段:题目实现。31MOV DX,183H ;控制口MOV AL,80H ;方式字OUT DX,AL MOV DX,180HSTART : MOV AL, 0FEH L1: OUT DX, AL SHL AL, 1 ;逻

16、辑左移 JC L1 JMP START【例6-7】 并行打印机接口设计举例并行打印机接口设计举例CPU向打印机发数前先查询其状态:Busy=1表示忙,Busy=0表示闲,这时可向打印机发送字符,同时向打印机发STB选通信号(负脉冲)。设8255A的控制端口地址为303H。3233 MOV DX,303H;控制端口控制端口,设置工作方式 MOV AL,10000001B ;A口输出, C高位输出, 低位输入 OUT DX,AL MOV AL,00001101B ;使 PC6 = 1 OUT DX,ALL: MOV DX,302H IN AL,DX;读PC口,查BUSY=0? TEST AL,04

17、H JNZ L;PC2=1,打印机忙,等待 MOV DX,300H MOV AL,Chx OUT DX,AL;Chx中的字符送入A口 MOV DX,303H MOV AL,00001100B ;置PC6=0,使STB=0 OUT DX,AL INC AL;置PC6=1,使STB=1 OUT DX,AL 【例6-8】 用8255A组成的脉冲频率计数器如图所示。347493R:4位二位二进制计数器。进制计数器。R01、R02 : 11:复位:复位 0X:计数:计数 X0:计数:计数解题分析:解题分析:PC0端控制计数器的复位复位和计数计数: 复位:00000001B = 01H 计数:000000

18、00B = 00H PC7端控制计数器的启动启动和停止停止: 启动:00001111B = 0FH 停止:00001110B = 0EH8255为方式0,A口输出,B口输入,C口高4位和低4位均为输出。方式字为: 10000010B = 82H。35R01、R02 : 11:复位:复位 0X:计数:计数 X0:计数:计数36Start: MOV AL,82H ;方式字方式字 OUT 63H,ALLoop: MOV AL,01H; PC0 =1 使计数器复位复位 OUT 63H,AL;控制口 CALL DelayDECAL; PC0 =0 使计数器计数计数OUT 63H,AL MOVAL,0FH

19、; PC7 =1 启动启动脉冲输入OUT 63H,ALCALL DelayDECAL; PC7 =0 停止停止脉冲输入OUT 63H,ALINAL,61H;输入计数值OUT60H,AL;输出显示JMPLoopn方式方式1选通输入选通输入/输出(应答型)输出(应答型)lA、B口为数据口,C口的一些引脚作为A、B口的联联络控制信号络控制信号,有固定的搭配固定的搭配和时序关系时序关系。l可采用中断方式中断方式或程序查询方式查询方式传送数据。l单向I/O:一次初始化只能设定在一个方向上传送。37方式方式1 输入输入38A口的联络信号:PC4、PC5、PC3。(453 + 4)B口的联络信号:PC2、P

20、C1、PC0。(210 + 2)注意:注意:方式方式1下下C口复位口复位/置位功能与置位功能与PC口引口引脚的功能无任何关系。脚的功能无任何关系。lSTB:输入选通信号。有效时,可将数据从外设输入到A口或B口的锁存器中。lIBF:输入缓冲器满信号,是对STB的响应。有效时, 对对CPU:表示表示8255端口有数据端口有数据,通知CPU进行读取。 对外设对外设:表示表示CPU还未取走数据还未取走数据,阻止外设发新数据。lINTE:中断允许信号。INTE=1时允许8255向CPU发中断请求。PC4 =1允许A口中断;PC2 =1允许B口中断。该信号通过C口置位/复位来实现。lINTR:中断请求信号

21、。INTR=1时,CPU可从端口读取数据。读取后INTR自动清除。3940PC4PC5PC3PA7PA0INTEAIBFAINTRASTBAD7 D0&数据输入选通信号数据输入选通信号, , 有效时将外设数据有效时将外设数据输入到并口输入到并口输入缓冲器满信输入缓冲器满信号号, 有效时表示有效时表示A口已接收到数据口已接收到数据中断请求信号中断请求信号, ,请求请求CPU读取读取数据数据中断允许信号中断允许信号PC4 =1允许允许A口发中断口发中断方式方式1下下A口输入时口输入时的联络信号线定义的联络信号线定义41【例6-9】按下开关时,从A口输入开关状态在B口上显示,重复100次。42解题分

22、析:解题分析:端口A:方式方式1输入输入;端口B;方式方式0输出输出。按下开关,产生STB选通信号。A口锁存开关状态,同时PC3端产生中断请求,连至8259A的IR0端。CPU响应后执行中断服务程序。在中断服务程序中,读取端口A的状态,送到端口B进行显示。主程序主程序判断中断次数,若达到100次,则屏蔽中断,整个程序结束。4344主程序设计:主程序设计:Start:CLI; 关中断MOV AL, 10110000B ; 设置8255A的工作方式工作方式控制字OUT 63H, ALMOV AL, 00001001H ; PC4置置1, 允许A端口中断 OUT 63H, ALMOV AL, 000

23、11011B; 设置ICW1: 单片, 电平触发, ICW4OUT 20H, ALMOV AL, 08H; 设置ICW2: 中断类型号OUT 21H, AL MOV AL, 00000001B; 设置ICW4: EOI, 普通全嵌套OUT 21H, AL45 MOVAX,0 ;中断向量表段地址 MOVDS,AX MOVAX,OFFSET IS8255 ;设置中断向量 MOV 0020H,AX MOVAX,SEG IS8255 MOV0022H,AX IN AL,21H ;读8259A屏蔽字 AND AL,0FEH ;允许IR0中断 OUT 21H,AL MOV BX,100 ;设置计数初值 S

24、TI ROTT:CMPBX,0;监测是否达到100次 JNZROTT;未达到,则等待中断46 IN AL,21H;恢复屏蔽字,禁止IR0中断 OR AL,01H OUT21H,AL MOV AH,4CH;返回DOS系统 INT21H中断服务程序:中断服务程序:IS8255:IN AL,60H;读取端口A的开关量 OUT 61H,AL;输出给端口B显示 DEC BX ;计数值减1 MOV AL,20H;发中断结束命令 OUT 20H,AL IRET;中断返回方式方式1 输出输出47A口的联络信号:PC7、PC6、PC3。(763 + 6)B口的联络信号:PC1、PC2、PC0。(120 + 2)

25、lOBF:输出缓冲器满。有效时,表CPU已把数据输出到8255。 对外设对外设:通知外设取走数据通知外设取走数据。 对对CPU:阻止CPU发新数据。lACK:外设的应答信号。外设取走数据后取走数据后,向8255发应答信号,并使OBF无效,此时CPU可发新数据。lINTE:中断允许信号。为1时允许8255向CPU发中断请求。PC6 =1允许A口中断;PC2 =1允许B口中断。该信号通过C口置位/复位来实现。lINTR:中断请求信号。为1时请求CPU向8255发数据。4849PC6PC7PC3PA7 PA0INTEAOBFAINTRAACKAD7 D0&WR外设响应信号,外设响应信号,表示外设已将

26、数表示外设已将数据取走据取走输出缓冲器满信号,输出缓冲器满信号,表示表示CPU已向已向8255写写入数据入数据中断请求信号,中断请求信号,请求请求CPU向向8255输出数据输出数据中断允许信号:中断允许信号:PC6 =1允许允许A口口中断中断方式方式1下下A口输出时口输出时的联络信号线定义的联络信号线定义50方式方式1的状态字的状态字提供状态标志位标志位。中断方式时,CPU可通过状态字中的 INTRA 和 INTRB 位来确定到底是A口还是B口产生了中断。状态字通过读读C口口获得。注意:从C口读出的状态字与C口外部引脚的状态无关。51n方式方式2双向双向输入输入/输出输出l仅适用于A口。l该方

27、式下CPU与外设间可分时分时进行双向双向数据传送,使用数据线PA7 PA0,输入输出时数据均锁存。l可采用中断方式中断方式或查询方式查询方式。l各联络信号的定义、时序关系和状态字,相当于方式1中输入和输出的叠加输入和输出的叠加。5253PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2D7 D0WRRD&+方式方式1输入:输入:453方式方式1输出:输出:763组合:组合:45 76 3方式方式1输入:输入:INTE2 = PC4方式方式1输出:输出:INTE1 = PC6只要输入、输出中有任只要输入、输出中有任意一个发出请求,则意一个发出

28、请求,则 INTRA = 1方式方式2的状态字的状态字是方式1下输入和输出状态位的组合。5455第六章第六章 并行接口并行接口8255A可编程并行接口2PC 机中的并行接口应用3并行接口基本概念1l 内部结构、外部引脚、l 8255A编程:方式选择方式选择控制字、C C口按位置位口按位置位/ /复位复位控制字l 工作方式工作方式:方式0,方式1和方式2nIBM PC/XT机机l用一片8255A,端口地址60H63H。l工作在方式0。l端口A:输入,用来读取键盘扫描码读取键盘扫描码。l端口B:输出,用来控制控制键盘、RAM、I/O通道检测、扬声器等。l端口C:输入。低4位读取系统配置开关DIP的值;高4位读取系统状态系统状态测试位。5657nIBM PC/AT机机l80286以上的微机,将8255A集成集成在系统芯片内部。但仍保留端口地址60H63H和相应功能。lA口读键盘码,B口用于键、扬声器等控制。lPB1/PB0 = 11:扬声器发声。频率由频率由8253的的T2决定决定。lPB1/PB0

温馨提示

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

评论

0/150

提交评论