第八章常用可编程通用接口芯片.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第八章常用可编程通用接口芯片.pptx》由用户(青蛙的王子)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 常用 可编程 通用 接口 芯片
- 资源描述:
-
1、第八章第八章 常用可编程通用接口芯片常用可编程通用接口芯片 第六章介绍了一些基本的输入输出接口,是不可编程的.随着大规模集成技术的发展,接口电路常被集成在一块硅芯片上.可用编程方式设定其工作方式,以适用于多种功能的要求-可编程接口芯片. PC微机除CPU控制核心外,还有一些大规模可编程接口芯片(外围芯片)的支持: 8级中断优先权控制器8259以控制8个外部中断源(如时间基准8253的Ch0,键盘,硬磁盘,软磁盘,打印机). 三端口的并行接口8255以控制外部简单接口及DIP配置开关(如磁带机,扬声器). 16位三通道定时/计数器8253以控制时间基准、动态刷新、扬声器发声. 四通道DMA控制器
2、8237以控制动态RAM刷新、磁盘数据交换. 可编程异步通信接口8250以控制串行通信,完成发送时的并-串转换和接收时的串-并转换及相应的控制功能.8.1 可编程并行接口可编程并行接口8255A 8255是最通用的并行I/O接口芯片.可用程序改变功能,通用性强,使用灵活,通过它可直接将CPU总线接向外设.广泛用作各种并行外设的接口.一.8255的结构与接口信号 8255的结构框图P261、图81。因作为外设接口,既要与CPU打交道,又要和外设打交道,内部亦需控制,所以由三部分组成:1.外设接口部分外设接口部分-端口A,端口B,端口C.即三个输入输出通道,用来和外设相连,都是8位双向端口,所以有
3、口线:PA7PA0,PB7PB0,PC7PC0. A、B、C三个口都可以作为输入/输出口. 在A、B口作为选通方式操作时,C口作为状态控制信号. C口可分成两个4位口.2.内部控制逻辑电路-A组,B组控制电路. 根据CPU的命令控制8255的工作方式. A组控制端口A和端口C的上半部分(PC7PC4). B组控制端口B和端口C的下半部分(PC3PC0).3.CPU接口部分接口部分(1).数据总线缓冲器数据总线缓冲器-它是8位双向三态缓冲器,是与CPU数据总线的接口.8位数据线D7D0.所有数据的输入/输出,CPU发出的命令控制字及输入的外设状态,都是通过该缓冲器传送.(2).读写控制逻辑读写控
4、制逻辑-控制8255内部的各种操作.管理数据,控制字,状态的传送.接收CPU的地址,控制信号以控制各端口的工作状态.所以有6根控制线. A1,A0端口选择:00A口,01B口,10C口,11控制口. CS片选信号-以启动CPU与8255之间的通信. RD读信号-从8255中读数据或状态信号. WR写信号-向8255中写数据或状态信号. RESET复位信号-高电平有效,清除控制寄存器,置A、B、C三个口为输入方式.二、二、8255的工作方式与控制字的工作方式与控制字1、8255有三种工作方式有三种工作方式,方式由方式选择控制字来选择:(1)、方式0基本输入输出方式(基本IO)。A、B、C三口均可
5、工作于方式0。(2)、方式1选通输入输出方式(选通IO)。A、B二口可工作于方式1;此时C口作控制。(3)、方式2双向数据传送方式。仅有A口可工作于方式2。C口作控制。 A口可工作于方式0、1、2三种方式。 B口可工作于方式0、1二种方式。 C口只能工作于方式0。2、方式选择控制字、方式选择控制字 8255的工作方式,是由CPU用一条输出指令把控制字送到8255的控制寄存器来实现的。 方式选择选择控制字的格式P262、图82。由控制字可知: A口可工作于方式0、1、2三种方式; B口只有方式0、1二种方式; C口只能工作于方式0,但C口可分成两部分:上半部分随A口,下半部分随B口;A、B口要作
6、为一个整体确定工作方式,C口可分成两个4位口分别确定其工作方式(输入或输出)。如:控制字90H 1 0 0 1 0 0 0 0标志 A口 A口 C口上 B口 B口 C口下 方式0 输入 输出 方式0 输出 输出 即控制字90H,设定了8255的A口为方式0输入,B口为方式0输出,C口为方式0输出。 用下面程序段设定: MOV DX,PORT3 控制口 MOV AL,90H OUT DX,AL3、按位置位复位控制字、按位置位复位控制字指定指定C口的某一位为口的某一位为高电平或低电平,仅有高电平或低电平,仅有C口可按位置位复位。口可按位置位复位。 当通道A、B工作在方式1、2时,常用通道C的某些位
7、作为同外设的联络控制线,通道C的8位中的任一位都可用输出指令使其置位复位,从而人为控制联络线。 置位复位控制字格式P261、图83:.一般视无关位D6D5D4000,则通道C的每一位的置位复位控制字如下: PCi位 置位控制字 复位控制字 PC0 01 H 00H PC1 03H 02H PC2 05H 04H PC3 07H 06H PC4 09H 08H PC5 0BH 0AH PC6 0DH 0CH PC7 0FH 0EH如PC3置位: MOV DX,PORT3 ;控制端口 MOV AL,7 OUT DX,AL如PC3复位:MOV DX,PORT3 MOV AL,6 OUT DX,ALC
8、端口的按位置位复位字须跟在方式选择控制字之后,所以,仅使用C口的按位置位复位字时,也应先送一方式控制字。8255的两个控制字是以D7位作为区别标志:D71为方式控制字,D70为置位复位字;所以方式字80H,置位复位字80H。P263例:8255的C口接8只LED,用置位复位字,使8只LED轮流亮灭。设端口地址为380H383H。硬件如下:与系统总线的连接 MOV DX,383H MOV AL,80H OUT DX,AL MOV AL,1 ;PC0置位字AGN:OUT DX,AL;PC0灯亮 MOV AH,11 LOOP ;延时 INT 21H AND AL,0FEH;复位字 INC AL OU
9、T DX,AL ; 灯灭 POP AX ADD AL,3 ;指向下一位 JNZ AGN AND AL,0FH ;控制置位 复位字范围 PUSP AX 设方式控制字:C口方式0输出程序中,送置位字,则灯亮;送复位字,则灯灭。由前一位的复位字到后一位的置位字之差为3,加3则指向下一位。 思考:若将LED反接,程序如何修改: 送复位字,则灯亮;送置位字,则灯灭。由前一位的置位字到后一位的复位字之差为1,加1则指向下一位。 MOV DX,383H ;方式字 ADD AL,01H;指向下一位 MOV AL,80H AND AL,0FH;D7位为0 OUT DX,AL PUSH AX MOV AL,0 ;
10、PC0复位字 MOV AH,11AGN:OUT DX,AL ;灯亮 INT 21H LOOP INC AL XOR AL,1 ;置位字 POP AX OUT DX,AL ;灯灭 JNZ AGN作业: P311、 1、 2、三、三种方式的功能及应用、三种方式的功能及应用1、方式、方式0 基本功能基本单向IO方式。 A,B,C三个端口都可作8位输入输出端口。 C端口可作为两个4位端口(C口上,C口下)。 输出有锁存,使用时可理解为273;输入有三态缓冲,使用时可理解为244。 此方式下,只要用INOUT指令即可读写;一般用于无条件传送方式。 此方式下,也可用于查询方式,A,B口为数据口,C口的某些
11、位作控制和状态信息。但值得注意的是无固定联络线。244-273程序 8255程序 AG:MOV DX,380H MOV DX,383H IN AL,DX MOV AL,90H NOT AL OUT DX,AL OUT DX,AL NE:MOV DX,380H MOV AH,11 IN AL,DX ;A口输入 INT 21H NOT AL CMP AL,0 INC DX JZ AG OUT DX,AL ;B口输出 JZ NE 8255初始化A口方式0输入B口方式0输出注:凡是244可用8255的A,B,C三个口的方式0输入代替;273可用8255的A,B,C三个口的方式0输出代替。 8个开关可表
12、示8个不同的数字或8个不同的字符;LED也可以是7段LED显示器。 例:用一片8255实现8个7段LED显示器与64个按键的键盘显示器接口设计。 参见P212 显示器设计,段码输出用273,位码输出用273;参见P214 键盘设计,行扫描码输出用273,列读入值用244。因为都采用动态扫描方式显示和扫描键盘,所以显示器的位显和键的行扫描端口可以合并。即用2片273和1片244即可实现。可用8255的3个端口代替。如选用A,B口为方式0输出(代替273),C口方式0输入(代替244)即可。MOV DX,383HMOV AL,89HOUT DX,AL由于键盘和显示器做成一个接口电路,所以软件应合并
13、考虑键盘查询和动态显示。作业: P311. 4. 5. 第四题参见实验教材P149,只画出流程图。2.方式方式1 基本功能是选通IO方式,也是单向IO。 端口A,B作为数据口输入或输出,但同时规定C口的某些位作为控制或状态信息,用于联络和中断,提供中断逻辑,其C口各位的功能是固定的,不能由程序设定。(1)、方式1输入将三个端口分为A、B两组;端口A和端口C的PC3PC5为一组,端口B和端口C的PC0PC2为一组,端口C剩余的PC6PC7仍可作为一般IO。P265、图85 A口方式1输入 B口方式1输入 控制信号: STB选通信号,低电平有效;这是外设发来的输入信号,前沿(下降沿)把输入装置送来
14、的数据送入输入缓冲器;而后沿(上升沿)使INTR有效。 IBF输入缓冲器满信号,高电平有效;这是8255输出给外设的回答信号;外设将数据送入缓冲器后,该信号有效;RD信号的上升沿将数据送数据总线后,又使其复位。 INTR中断请求信号,高电平有效;这是8255的输出信号,可用作向CPU申请中断的请求信号,以要求CPU服务;当IBF为高和INTE中断允许为高时,STB为高时(即STB的后沿)使INTR为高;由RD信号清除。INTE中断允许信号: 端口A的INTEA可由用户对PC4的按位置位复位控制字来控制,PC41,允许A口中断; 端口B的INTEB可由用户对PC2的按位置位复位控制字来控制,PC
15、21,允许B口中断;操作时序:(1)外设把数据送给8255后,发STB信号,使IBF有效;(2)STB后沿引发INTR;(3)CPU响应中断;(4)CPU发RD信号,使INTR失效;(5)CPU取走数据,使IBF失效,可输入新的数据。P266例:用选通方式(中断方式)从A口输入100个8位二进制数IBF。 8255的使用步骤: 硬件连接将8255和CPU的有关信号连接,又要和 外设连接,此处的外设输入 装置 为8个开关,用发光二极管标志输入缓冲器满的状态,以作为外设回答信号,用去抖动开关作为外设的选通信号 。 软件中对8255进行初始化,以设定其工作方式。 在程序控制下实现数据的输入/输出操作
16、。 BUF DB 100 DUP(?) MOV ES, AX ;设置0段 . MOV DX, 38FH ;置控制口地址 MOV AL, 0B0H ;A口方式1输入 OUT DX, AL MOV AL, 9 PC4置1,允许A口中断 OUT DX, AL MOV AX, SEG IS8255 MOV ES:01C6H,AX 填写向量表 MOV AX, 0FFSET IS8255 MOV ES:01C4H, AXMOV CX, 100 ;计100次 MOV BX, 0 ;计缓冲偏移地址 MOV DX, 38CH ;A口地址 IN AL, 0A1H AND AL, 0FDH ;修改8259从片屏蔽字
17、OCW1 OUT 0A1H, AL ;允许IRQ9中断ROTT:JMP $ ;等待中断,等STB信号 LOOP ROTT ;中断100次 IN AL, 0A1H OR AL, 02H ;还原屏蔽字禁止IRQ9中断 OUT 0A1H, AL RETIS8255:IN AL, DX ; 读A囗数据BUF MOV BUFBX, AL ;产生RD,撤消INTR INC BX ;修改缓冲区地址 MOV AL, 61H OUT 0A0H, AL 主从8259均结束中断 MOV AL, 62H OUT 20H, AL POP AX INC AX INC AX 修改返回地址,跳过JMP $ PUSH AX I
18、RET 作业:P311. 3.(2)方式1输出将三端口分为A组,B组;端口A和C口的PC3,PC6PC7为一组,端口B和C口的PC0PC2为一组, C口剩余PC4PC5 可作一般I/O.控制信号:1) OBF(Output Buffer Full)-输出缓冲器满信号,高电平有效,这是8255给外设的一个联络信号.当CPU把数据 写入端口后,该信号有效.表示外设可以把数据取走。WR信号置成有效,由ACK 的有效(下降沿)使其恢复为高.2)ACK(Acknowledge)-外设响应回答信号,低电平有效;该信号的前沿取走数据,使OBF无效,表示数据已由外设取走;后沿使INTR有效.3)INTR-中断
19、请求信号,高电平有效;当输出装置已经接受了CPU输给的数据后,用来向CPU提出新的中断请求,要求再输出数据.当ACK为高(即后沿),INTE为高,OBF为高, 使其置高,WR的前沿(下降沿)使其复位.4)INTEA-由PC6的置位/复位控制;INTEB-由PC2的置位/复位控制. CPU 响应中断发出WR,使OBF有效. 外设取走数据,ACK使OBF无效. ACK的上升沿使INTR有效,再次中断. CPU响应中断,再次WR,使INTR失效,输出一个新数.P268例.设计接口电路,输入A口8个开关的状态,送B口发光二极管显示对应状态.要求A口为基本输入,B口为选通输出。 8个开关接A口,作为输入
20、装置;8个发光二极管接B口,作为输出装置;OBF接一发光二极管,以标示输出缓冲器满,ACK接一去抖动开关,板动开关表示外设发出响应信号.DA1 DB Wait Interrupt, 0AH,0DH,$MOV ES, AX ;置0段 .MOV DX, 383H ;控制口地址MOV AL, 94H ;方式字1001 X10XOUT DX,AL ;A口方式0输入,B口方式1输出MOV AL, 5 ;PC2置位,允许B口中断OUT DX, AL 将中断服务程序入口地址IO8255MOV AX, SEG IO8255 向量表MOV ES:01C6H, AX IRQ9中断中断矢量是71HMOV AX,OF
21、FSET IO8255MOV ES:01C4H,AXMOV DX,381HOUT DX,AL IN AL, 0A1H AND AL, 0FDH 修改8259从片的屏蔽字,允许IRQ9中断 OUT 0A1H, AL ROTT: LEA DX, DA1 MOV AH, 9 显示等待中断提示“Wait Interrupt” INT 21H MOV DX,380H 读A口,准备好数据 IN AL,DX JMP $ ;等待中断,即等待ACK, 板动开关即可 假输出,使OBF0MOV AH, 0BH INT 21H CMP AL, 0 JE ROTTIN AL, 0A1HOR AL,02H OUT 0A1
22、H, ALRET无键入,侧再次等待中断,改变开关状态,观察输出有键入,侧还原8259屏蔽字,禁止IRQ9中断IO8255:MOV DX, 381H OUT DX, AL 将A口开关状态B口显示 MOV AL, 61H OUT 0A0H, AL 主、从8259结束中断 MOV AL, 62H OUT 20H, AL POP AX INC AX 修改返回地址,跳过JMP $ INC AX PUSH AX IRET3.方式方式2 基本功能该方式使外设在单一8位总线上既能发送又能接收数据(双向I/O);工作时可用程序查询方式;也可用中断方式,必须使用联络线。(1)方式2只能用于端口A;因为A口内部有两
23、个锁存器,而B口,C口仅有一个锁存器。(2)占用一个8位的双向A端口作数据口和一个五位的控制口(C口的PC3PC7).(3)输入和输出都是锁存器的。(4)端口C的其他三位PC0PC2可作I/O或作B口的状态控制信号。 (5)B口可工作方式0或方式1。 控制信号的作用与意义同方式1,INTE1是输出的中断允许信号由PC6的置位/复位控制(A口方式1输出).INTE2是输入的中断允许信号,由PC4的的置位/复位控制(A口方式1输入) 。 方式2实际是方式1的输入与方式1的输出的组合,输入/输出请求都是PC3的INTR,四根联络信号都要连接,常用于需相互通信的地方。四.8255在IBMPC机中的应用
展开阅读全文