资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第7章章 接口技术接口技术 7.1 概述概述 7.2 并行通信和并行接口芯片并行通信和并行接口芯片7.3 串行通信和串行接口芯片串行通信和串行接口芯片 7.4 计数器计数器/定时器接口电路定时器接口电路 7.5 模拟通道接口模拟通道接口 习题习题171 概述概述 输输入入/输输出出接接口口电电路路,是是微微处处理理器器和和外外部部设设备备交交换信息的通道,是微型计算机的重要组成部分换信息的通道,是微型计算机的重要组成部分输输入入/输输出出接接口口电电路路,一一方方面面要要接接收收来来自自CPU的的地地址址信信号号、数数据据信信号号和和控控制制信信号号,另另一一方方面面还还要要与与各各种种类类型型的的外外设设相相连连接接,以以实实现现CPU与与外外设设之之间间的的数数据据传送。传送。本本章章主主要要介介绍绍:8255A并并行行I/O接接口口芯芯片片;8251A串串行行I/O接接口口芯芯片片;8253计计数数器器/定定时时器器芯芯片片;AD574、ADC0809和和DAC0832等模等模/数、数数、数/模转换芯片。模转换芯片。 27.1.1 接口的功能接口的功能 1地址译码和地址译码和I/O设备的选择设备的选择 2信息的输入与输出信息的输入与输出 3信息的转换功能信息的转换功能 4联络和中断管理功能联络和中断管理功能 5可编程功能可编程功能 6错误检测功能错误检测功能 3两类错误两类错误传输错误传输错误:是由传输线路上的噪声干扰所致,是由传输线路上的噪声干扰所致,可通过奇可通过奇/偶校验进行检测;偶校验进行检测;覆盖错误:如果接口中已有一个外设送来的数覆盖错误:如果接口中已有一个外设送来的数据,而据,而CPU还没有来得及取走,此时还没有来得及取走,此时外设又向接口中送来一个新的数据外设又向接口中送来一个新的数据4输入/输出设备7.1.2 接口与系统的连接接口与系统的连接 一个接口可分成两部分一个接口可分成两部分: 第一部分用来与系统总线相连,第一部分用来与系统总线相连, 第二部分用来与第二部分用来与I/O设备相连。设备相连。 57.2 并行通信和并行接口芯片并行通信和并行接口芯片 7.2.1 并行通信并行通信1. 并行通信并行通信就是把一个字符的全部就是把一个字符的全部n个数据位用个数据位用 n条线同时进行传输。条线同时进行传输。 特点:传输速度快特点:传输速度快 信息率高信息率高 用电缆多用电缆多适适用用场场合合:数数据据传传输输率率要要求求较较高高,而而传传输输距距离离较较短短的的场合。场合。 62. 并行接口并行接口 实现并行通信的接口实现并行通信的接口 输入接口:负责输入信息输入接口:负责输入信息输出接口:负责输出信息输出接口:负责输出信息双向通信接口:既负责输入信息,又负双向通信接口:既负责输入信息,又负责输出信息责输出信息分为分为7典型的并行接口和外设连接的示意图典型的并行接口和外设连接的示意图 :寄存寄存CPU对接口对接口的控制命令的控制命令暂存暂存I/O数据数据提供各种状态位提供各种状态位供供CPU查询查询外设把数据送给接口时,外设把数据送给接口时,使其成为高电平使其成为高电平接口收到数据后将其接口收到数据后将其置置1 发给外设,外设发给外设,外设接到后,撤销数据和接到后,撤销数据和准备好信号准备好信号接口收到数据后,在接口收到数据后,在状态寄存器中设置状态寄存器中设置“输入准备好输入准备好”信号信号CPU收到数据后,接口收到数据后,接口清除清除“输入准备好输入准备好”信信号,使数据总线处于高号,使数据总线处于高阻阻 87.2.2 8255A可编程并行接口芯片可编程并行接口芯片1 8255A的内部结构的内部结构 9(1)外设接口部分:)外设接口部分: 3个个8 位数据端口位数据端口A、B、C 1个个8位数据输入锁存器位数据输入锁存器1个个8位数据输出锁存器位数据输出锁存器/缓冲缓冲器器端口端口A:PA7-PA01个个8位数据输入缓冲器位数据输入缓冲器1个个8位数据输出锁存器位数据输出锁存器/缓冲器缓冲器端口端口B:PB7-PB01个个8位数据输入缓冲器位数据输入缓冲器1个个8位数据输出锁存器位数据输出锁存器/缓冲缓冲器器端口端口C:PC7-PC010通常使用方法:通常使用方法:(1) 端口端口A、B作为独立的输入或者输出端口作为独立的输入或者输出端口(2) 端口端口C配合端口配合端口A、B 。通过方式控制命令分成。通过方式控制命令分成2个个4位端口,传送控制和状态信息。位端口,传送控制和状态信息。端口端口A:输入输出均锁存,数据不易丢失输入输出均锁存,数据不易丢失端口端口B:输入不锁存,输出锁存输入不锁存,输出锁存端口端口C:输入不锁存,输出锁存输入不锁存,输出锁存11A A组控制电路组控制电路端口端口A PA7-PA0端口端口C的高的高4位位 PC7PC4B B组控制电路组控制电路端口端口B PB7-PB0端口端口C的低的低4位位 PC3PC0 两组控制两组控制 12(2)CPU接口部分接口部分 读读/写控制逻辑电路写控制逻辑电路 功能:管理数据传输过程。功能:管理数据传输过程。 数据总线数据总线缓冲器缓冲器( (双向三态的双向三态的8 8位数据缓冲器位数据缓冲器 ) ) 功能:通过它与系统数据总线相连。功能:通过它与系统数据总线相连。13 28255A的引脚及功能的引脚及功能14 与外设相连的引脚与外设相连的引脚 24个个 PA7PA0端口端口A数据线数据线 PB7PB0端口端口B数据线数据线 PC7PC0端口端口C数据线数据线15 与与CPU相连的引脚相连的引脚 14个个 1)RESET复位信号复位信号 2)D7D08255A的数据线的数据线 3)CS片选信号片选信号 4)RD读信号读信号 5)WR写信号写信号 6)A1、A0端口选择信号端口选择信号A1 A00 0 A端口端口0 1 B端口端口1 0 C端口端口1 1 控制寄存器控制寄存器16注意:注意: 因因为为低低8位位和和偶偶地地址址端端口口相相连连,所所以以在在8086系系统统中中,将将8255A的的A1、A0引引脚脚分分别别接接向向系系统统总总线线A2、A1,并并且且CPU对对8255A的的端端口口进进行行访访问问时时,应应将将其其地地址最低位址最低位A0设置为设置为0。8255A A1 A0CPU A2 A1 A0=0173 8255A的控制字的控制字根据根据D7位的状态来决定控制字分两类。位的状态来决定控制字分两类。两类两类各端口的方式选择控制字各端口的方式选择控制字C端口按位置端口按位置1/置置0控制字控制字18 方式选择控制字方式选择控制字 1B组(组(D2D1D0)A组(组(D6D5D4D3)198255A方式选择方式选择注意:注意:方式方式0:基本输入:基本输入/输出方式输出方式方式方式1:选通工作方式:选通工作方式方式方式2:双向传送方式:双向传送方式(1 1)三种基本工作方式)三种基本工作方式(2)只有端口)只有端口A能工作在方式能工作在方式2(3 3)同一组的两端口可分别工作在输入和输出方式)同一组的两端口可分别工作在输入和输出方式端口端口A方式方式0方式方式1方式方式2端口端口B方式方式0方式方式120例例: 已已知知8255A芯芯片片的的四四个个端端口口地地址址是是0E0H、0E2H、0E4H和和0E6H,要要求求工工作作方方式式如如下下:端端口口A方方式式0,输输出出;端端口口B方方式式0,输输入入;端端口口C高高四四位位输出;端口输出;端口C低四位低四位输入输入解:解:8255A的方式选择控制字的方式选择控制字 1 0 0 0 0 0 1 183H 以下指令完成工作方式的选择:以下指令完成工作方式的选择: MOV AL,83H ;方式选择控制字送方式选择控制字送AL OUT 0E6H,AL;方式选择控制字输出给方式选择控制字输出给8255A控制端口控制端口21(2)端口)端口C置位置位/复位控制字(复位控制字(D7=0) 0000此控制字必须写入此控制字必须写入8255A的控制口的控制口22例例:把把端端口口C的的PC7位位置置“0”,其其控控制制字字为为00001110B,十六进制的十六进制的0EH 端端口口C的的第第五五位位置置“1”,其其控控制制字字应应为为00001011,即十六进制的,即十六进制的0BH设设8255A控制口地址为控制口地址为0E6H,则可用下列程序实现:则可用下列程序实现: MOV AL,0EH ;PC7清清0,控制字送,控制字送AL MOV DX,00E6H ;控制口地址送控制口地址送DX OUT DX,AL ;对对PC7清清0操作操作 MOV AL,0BH ;PC5置置1控制字送控制字送AL OUT DX,AL ;对对PC5置置1操作操作234 8255A的工作方式的工作方式 方式方式0基本输入基本输入/输出方式输出方式特点特点 : 1)A口口、B口口、C上上、C下下均均可可作作为为输输入入或或输输出出口口,且各端口均是独立的。且各端口均是独立的。 2)四个端口的输入或输出,可以有)四个端口的输入或输出,可以有16种不同的组合。种不同的组合。 3)各端口输入时无锁存,输出时锁存。)各端口输入时无锁存,输出时锁存。使用场合:使用场合: 1 1)同步传送)同步传送 ( (无条件传送方式无条件传送方式) ) 2 2)查询式传送)查询式传送 24方式方式0的时序关系的时序关系 :输入时序输入时序输出时序输出时序25 方式方式1选通的输入选通的输入/输出方式输出方式 必须利用端口必须利用端口C提供的选通信号和应答信号等提供的选通信号和应答信号等特点:特点:1)端口)端口A和和B要在端口要在端口C 的配合下工作。的配合下工作。2)端端口口C中中有有三三位位用用于于端端口口A的的I/O控控制制,另另三三位位用用于端口于端口B的的I/0控制,并且提供中断逻辑。控制,并且提供中断逻辑。3)若若只只有有一一个个端端口口工工作作在在方方式式1,则则另另一一个个端端口口及及端端口口C余下的五位可工作于方式余下的五位可工作于方式0; 若若两两个个端端口口都都工工作作于于方方式式1,那那么么端端口口C余余下下的的两两位可作位可作I/O位,也可进行置位位,也可进行置位/复位操作。复位操作。 26方式方式1输入端口对应的控制信号输入端口对应的控制信号:选通信号选通信号选通信号选通信号输入缓冲器输入缓冲器满信号满信号输入缓冲器输入缓冲器满信号满信号中断请求信号中断请求信号中断请求信号中断请求信号中断允许信号中断允许信号中断允许信号中断允许信号 27方式方式1输出输出 :中断请求信号中断请求信号输出缓冲器输出缓冲器满信号满信号外设响应信号外设响应信号中断允许信号中断允许信号 28 方式方式2双向传输方式双向传输方式(只适用于端口(只适用于端口A )输出中断允许信号输出中断允许信号输入中断允许信号输入中断允许信号INTE1通过通过PC6的置位的置位/复位操作复位操作INTE2通过通过PC4的置位的置位/复位操作复位操作29注意:注意:1)方式方式2 的的I/O均为锁存均为锁存2)端口端口A工作于方式工作于方式2时时, 端口端口B可工作于方式可工作于方式0或方式或方式1 3)端口端口C C用用5 5个数位提供控制和状态信号个数位提供控制和状态信号 3058255A应用举例应用举例 (1)8255A工作方式工作方式0 某某接接口口设设计计采采用用一一片片8255A实实现现。其其端端口口A连连接接并并行行打打印印机机, 端端口口B连连接接纸纸带带读读入入机机。8255A工工作作于于方方式式0,以以查查询方式传送数据。对询方式传送数据。对8255A初始化并编写相关的程序。初始化并编写相关的程序。 数据选通信号数据选通信号8255A给外设的给外设的启动信号启动信号纸带读入器的状纸带读入器的状态信号态信号 31各控制信号的意义为:各控制信号的意义为: DATA STROBE 数数据据选选通通信信号号。打打印印机机要要有有一一个个宽宽度度为为0.5s的的脉脉冲冲,作作为为数数据据选选通通信信号号。由由PC4位位输出。输出。 BUSY当当其其有有效效时时为为高高电电平平,此此时时表表示示打打印印机机“忙忙”,不不能能接接收收新新的的输输出出数数据据。这这是是打打印印机机的的状状态态信信号。由号。由PC2位读入。位读入。 DRIVE RIGHT此此信信号号驱驱动动纸纸带带前前进进一一步步,并并读读一一个个字字符符。它它是是8255A给给外外设设的的启启动动信信号号。由由PC5位输出。位输出。 DATA READY纸纸带带读读入入器器的的状状态态信信号号。其其为为高高电电平表示纸带读入器已将数据准备好。由平表示纸带读入器已将数据准备好。由PC3位读入。位读入。32设设8255A的端口地址为:的端口地址为: 端口端口A:00E0H 端口端口B:00E2H 端口端口C:00E4H 控制口:控制口:00E6H解:据题意解:据题意 : 端口端口A:输出:输出 端口端口B:输入:输入 端口端口C上:输出上:输出 端口端口C下:输入下:输入8255A方式控制字应该为:方式控制字应该为:10000011B=83HPC4=1,打印机选通无效打印机选通无效PC5=1,断开纸带读入机断开纸带读入机方式控制字写入方式控制字写入8255A控制口控制口1) 8255A初始化程序段初始化程序段 MOV AL,83H OUT 0E6H,AL MOV AL,09H OUT 0E6H,AL MOV AL,0BH OUT 0E6H,AL33 2) 打印机驱动程序段打印机驱动程序段LPST:IN AL,0E4H ; 将端口将端口C各位状态读入各位状态读入AL AND AL,04H ; 通过通过PC2测试测试BUSY状态状态 JNZ LPST ; 结果不为结果不为0,说明忙信号为,说明忙信号为“1”,应等,应等待待 MOV AL,CL OUT 0E0H,AL ; 如不忙,则把如不忙,则把CL中字符通过端口中字符通过端口A 输出输出 MOV AL,08H OUT 0E6H,AL ; 使使PC4=0,即为低即为低 INC AL OUT 0E6H,AL ; 再使再使PC4=1,形成一个负脉冲形成一个负脉冲343)纸带读入机驱动程序段)纸带读入机驱动程序段 RDST:MOV AL,0AH ; 使使PC5=0,启动纸带读入机启动纸带读入机 OUT 0E6H,AL RDLP:IN AL,0E4H; 读入端口读入端口C的内容的内容 AND AL,08H JZ RDLP ; 未准备好,则等待未准备好,则等待 IN AL,0E2H; 已准备好,则从端口已准备好,则从端口B输入数据输入数据 MOV CL,AL ; 将输入数据保存到将输入数据保存到CL中中 MOV AL,0BH OUT 0E6H,AL; 使使PC5=1,断开纸带输入机断开纸带输入机35 8255A工作于方式工作于方式1应用举例应用举例 8255A工工作作于于方方式式1,可可以以支支持持CPU以以中中断断方方式式和和外外设设进进行行通通信信。下下图图是是一一个个使使用用8255A的的接接口口电电路路,其其中中字字符打印机以中断方式工作。符打印机以中断方式工作。中中 断断 类类 型型 号号 为为 0BH,0BH4=002CH, 中中 断断 向向 量量 在在0000:002CH开开始始的的4个个单单元元中中。假设假设8259A已完成初始化。已完成初始化。 36设设8255A的四个端口地址为:的四个端口地址为: 端口端口A:00D0H 端口端口B:00D2H 端口端口C:00D4H 控制口:控制口:00D6H端端口口A工工作作于于方方式式1,且且为为输输出出,PC0也也用用作作输输出出,8255A的方式控制字为的方式控制字为A0H(10100000)。)。设设中中断断服服务务子子程程序序入入口口地地址址为为3200:0100H。需需要要向向打打印印机机输输出出的的字字符符已已经经存存放放在在输输出出数数据据缓缓冲冲区区DATAPTR中。中。 37主程序中有关主程序中有关8255A初始化及设置中断矢量程序段如下:初始化及设置中断矢量程序段如下:MAIN:MOV AL,0A0H OUT 0D6H,AL ;设置设置8255A方式控制字方式控制字 MOV AL,01H OUT 0D6H,AL ;置置PC0=1,使选通无效使选通无效 MOV AX,0 MOV ES,AX ;ES为为0,指向中断向量表,指向中断向量表 MOV AX,0100H ;取中断服务子程序入口地址偏移量取中断服务子程序入口地址偏移量 MOV ES:002CH,AX MOV AX,3200H ;取中断服务子程序入口地址段值取中断服务子程序入口地址段值 MOV ES:002EH,AX MOV AL,0DH OUT 0D6H,AL ;置置8255A的的INTEA=1,允许端口允许端口A中断中断 STI ;8086CPU开放中断开放中断38中断服务子程序如下:中断服务子程序如下: PUSH AX PUSH BX MOV BX,DATAPTR ;将将DATAPTR处内容取到处内容取到BX中中 MOV AL,BX OUT 0D0H,AL ;从从A口送出一字节数据口送出一字节数据 MOV AL,0 OUT 0D6H,AL ;使使PC0=0,产生选通信号,产生选通信号 INC AL OUT 0D6H,AL ;使使PC0= 1,撤消选通信号,撤消选通信号 INC BX MOV DATAPTR,BX POP BX MOV AL,20H ;向向8259A发发EOI OUT 20H,AL POP AX STI ;开中断开中断 IRET ; 中断返回中断返回39
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号