第八部分并行接口芯片.ppt

上传人:本田雅阁 文档编号:3167649 上传时间:2019-07-19 格式:PPT 页数:39 大小:501.53KB
返回 下载 相关 举报
第八部分并行接口芯片.ppt_第1页
第1页 / 共39页
第八部分并行接口芯片.ppt_第2页
第2页 / 共39页
第八部分并行接口芯片.ppt_第3页
第3页 / 共39页
第八部分并行接口芯片.ppt_第4页
第4页 / 共39页
第八部分并行接口芯片.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《第八部分并行接口芯片.ppt》由会员分享,可在线阅读,更多相关《第八部分并行接口芯片.ppt(39页珍藏版)》请在三一文库上搜索。

1、第八章 并行接口芯片,教学重点 8255A的功能 8255A的内部结构、引脚 8255的工作方式和编程 8255的应用,并行数据传输方式,并行传输以计算机的字长为传输单位(通常是8位、16位或32位),一次传送1个字长的数据 并行传输微机系统中最基本的信息交换方法 例如:系统板上各部件之间,接口电路板上各部件之间 适合于外部设备与微机之间进行近距离、大量和快速的信息交换 例如:微机与并行接口打印机、磁盘驱动器,第一节 可编程输入输出接口8255A,8255A是INTER系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片的工作方式。 一、8255A的结构 1数据端口A、B、C,每个端口8个

2、引脚,共24个I/O引脚,各端口共有3种输入输出工作方式 基本输入/输出(A/B/C口) 选通输入或选通输出(A/B口) 双向选通(A口),8255A的内部结构和引脚,数据 总线 缓冲器,内部控制线,内部数据线,D0D7,A组 控制,A组 端口C 上部,B组 控制,B组 端口B,B组 端口C 下部,读写 控制 逻辑,PC0PC3 CL口,PB0PB7 B口,PC4PC7 CH口,PA0PA7 A口,RD WR A0 A1 CS RESET,A组 端口A,4.读写控制信号,RESET:复位信号,低电平有效。 D7D0 :和数据线相连。 CS :芯片选择信号,低电平有效。 RD :芯片读出信号,低

3、电平有效。 WR :芯片写入信号,低电平有效。 A1、A0:端口选择信号。 A1、A0=00,选中端口A; A1、A0=01,选中端口B; A1、A0=10,选中端口C; A1、A0=11,选中控制端口;,二、8255A的工作方式 P343,方式0:基本输入输出方式(不带联络) 适用于无条件传送和查询方式的接口电路 方式1:选通输入输出方式(带输入联络或输出联络) 适用于查询和中断方式的接口电路 方式2:双向选通方式(同时带输入联络和输出联络) 适用于可双向传送数据的外设 适用于查询和中断方式的接口电路,8255A的控制字,一.控制字:分为两类。 芯片各端口的方式选择控制字,它可以使8255A

4、的3个数据端口工作在不同的工作方式。 C端口按位置1/0控制字,它可以使C端口中的任何一位进行置位或复位。 8255A的3种基本工作方式: 方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向的传输方式,1.方式控制字,2. 端口C置1/0控制字,0,D7 D6 D5 D4 D3 D2 D1 D0,1=置1 0=置0,端口C 置1/0 控制字,0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7,端口C置1/0控制字,例1:设A端口工作方式0,输出, B端口工作于方式0

5、,输入。,方式选择控制字: 1 0 0 0 1/0 0 1 1/0 =10000010=82H,方式选择,A口方式0,A口输出,C口 高位 不用,B口方式0,B口输入,C口 低位 不用,注意: 端口A可以工作在3种工作方式中的任意一种; 端口B只能工作在方式0或方式1; 端口C被分为高4位和低4位,可以分别工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式.,例2:设8255A的控制口地址为00EEH,要求对端口C的PC7置1,则控制字00001111B=0FH,要求对端口C的PC3置0,控制字为00000110B=06H。 下面的程序可以实现上述要求: MOV AL , 0FH ;

6、对PC7置1的控制字 MOV DX , 00EEH ;控制口地址送DX OUT DX , AL ;对PC7置1操作 MOV AL , 06H ;对PC3置0的控制字 OUT DX , AL ;对PC3进行置0的操作,三、方式0的功能,1.方式0-基本输入输出方式 任何一个端口可以作为输入口,也可以作为输出口,各端口之间没有规定必须的关系。 各个端口输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。 方式0使用场合 两种: 一种是同步传送, 另一种是查询式传送。,2 方式1选通的输入输出方式,数据输入输出要在选通信号控制下工作. 端口A和端口B可以分别作为两个数据口工作于方式1,并

7、且,任何一个端口可以为输入口或输出口。 1)方式1输入:A口控制信号的定义:,选同信号输入端,低电平有效,输入缓冲区满信号,低电平有效,它是8255送往CPU的中断请求 信号,高电平有效。,中断允许信号,INTE由STB(PC4)置“1”,INTR有效,A口方式1输入有关信号的规定,RD,INTE B,PC2,PC1,PC0,PB7PB0,STBB,IBFB,INTRB,图1:B口方式1输入有关信号的规定,选同信号输入端,低电平有效,输入缓冲区满信号,低电平有效,它是8255送往CPU的中断请求 信号,高电平有效。,中断允许信号,INTE由STB(PC2)置“1”,INTR有效,2)方式1输出

8、,图:A口方式1输出有关信号的规定,输出缓冲区满信号,低电平有效,外设响应信号,是外设送给8255A的,中断请求信号,中断允许信号,INTE由PC6(ACKA)置“1”,INTR有效,中断允许信号,INTE由ACKB(PC2)置“1”,INTR有效,输出缓冲区满信号,高电平有效,外设响应信号,是外设送给8255A的,中断请求信号,B口方式1输出有关信号的规定,3)方式1的使用场合 在采用中断方式进行输入/输出的场合,如果外部设备能为8255A提供选通信号或着数据接收应答信号,那么,通常使用8255A的端口工作方式1的情况。,3.方式2双向传输方式 方式2只适用于端口A 端口A工作于方式2时,端

9、口C用5个数位自动配合端口A提供控制。,方式2的控制信号,输出缓冲区满信号,外设收到数据,发响应信号,外设准备好数据,发选通信号,8255A收到数据,向外设 发输入缓冲区满信号,8255A使用举例:,例1、用8255A控制三个发光二极管依秩序循环显示。 1、硬件设计:,用8255A控制三个发光二极管显示。假设开关闭合时,点亮发光二极管,开管断开时息灭二极管。8255A的端口地址为: A 端口:0040H B 端口:0042H C 端口:0044H 控制口:0046H 试编写8255初始化程序段和控制三个发光二极管显示程序段。,开始,8255A初始化,延时,2号亮,延时,3号亮,1号亮,延时,启

10、动?,Y,返回DOS,N,2、软件设计 1)设A口为输出口,方式0。B口输入,方式0,则方式选择控制字为82H。 2)A口输出代码: 0000 0110 06H ,1号发光二极管亮 0000 0101 03H ,2号发光二极管亮 0000 0011 04H ,3号发光二极管亮 3)软件延时 (1).1ms的软件延时参考程序: 设系统的CPU的频率为8MHZ,则时钟节拍为:0.125微秒。执行PUSHF、POPF、LOOP指令需29个节拍。延迟1毫秒要循环的次数:,DELAY PROC NEAR PUSH CX STAR20T:MOV CX,275 ;送循环次数 LP1:PUSHF ;PUSHF

11、、POPF、LOOP需29个节拍。 POPF LOOP LP1 POP CX RET DELAY ENDP,DATA SEGMENT port3 EQU 046H ;8255A控制口地址 port1 EQU 040H ;8255A的A口地址 port2 EQU 042H ;8255A的B口地址 LED DB 06H,03H,04H;LED显示值 DATA ENDP STACK SEGMENT STA1 DW 50 DUP(?) TOP1 EQU LENGTH STA1 STACK ENDP CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK . MOV D

12、X,port3 MOV AL,82H ;方式0,OUT DX, AL ;A口为输出,B口为输入 DON: MOV DX, port2 ; B口地址 MOV AL ,DX ;读 B口输入值 AND AL,01H ;测 PB0=0?启动? JNZ DON ; 非0, 退出;否则,使灯亮 MOV DX, port1 ;A口地址 MOV BX, OFFSET LED ; 1号灯代码地址 MOV AL, BX OUT DX, AL ;1号灯亮 CALL DELAY ;调延时程序 INC BX MOV AL, BX OUT DX, AL ;2号灯亮,1号灯灭 CALL DELAY,INC BX MOV A

13、L , BX OUT DX, AL ;3号灯亮,2号灯灭 CALL DELAY JMP DON EXIT: MOV AH , 4CH INT 21H . DEALY PROC NEAR ;软件延时 . RET DEALY ENDP CODE ENDS END,例2:8255A工作于方式1,作为用中断方式工作的Centronics 360字符打印机的接口. A端口为数据口,方式1,输出方式,PC7作为 输出缓冲器满OBF信号,PC6作为外设响应信 号ACK,PC3作为INTR信号。 端口地址: A端口:00C0H,B端口:00C2H C端口:00C4H 控制口:00C6H; 控制字:1010 0

14、000B=0A0H,1).初始化8255A程序段: MOV AL,0A0H ;主程序段 OUT 0C6H,AL ;设置8255A的控制字 MOV AL,0CH ;置PC6=1控制字 OUT 0C4H,AL ;使INTE(PC6)为0, 禁止中断 2).用查询方式输出10个字符程序段: MOV CX,10 MOV SI,OFFSET BUF ;取缓冲区首地址 P1: MOV AL,DI ;取一个字符 MOV 0C0H,AL ;从A口输出 P2: MOV AL,0C4 ;读口C TEST AL,80H ;检测OBF(PC7)为1? JZ P2 ;为0,继续检测 INC DI ;为1,数据已输出,

15、准备下次输出 LOOP P1,例题:8255端口A工作于方式0,输出8位数字信息到DAC0832;端口B工作于方式1输入,接收模数转换输入信号. 8255方式0输出,控制字: 1 0 0 0 0 1 1 0=86H,方式选择,A口方式0,A口输出,C口 高 4 输出,B口方式1,B口输入,C口 低位 不用,PC2自动作STB信号,PC7作ADC0809的启动转换信号.,1)初始化8255A: MOV DX,8255_CTRL ; 8255A控制端口地址送DX MOV AL,86H ;设8255端口方式0输出,端口B方式1输入 OUT DX,AL ;C口高4位输出 MOV AL,05H MOV

16、DX,AL ;置PC2=1,允许中断 2)用8255A的PC7启动ADC0808: MOV DX,8255_C ;8255A端口C地址送DX MOV AL,80H ;PC7输出1 OUT DX,AL MOV AL,0 OUT DX,AL ;PC7输出0,启动ADC0809,;-sound- ;DI=freq,bx=delaytime sound proc near push ax push bx push cx push di mov al,0b6h ;Timer2, MODE3 out 43h,al mov dx,0020h mov ax,34deh div di out 42h,al mov al,ah out 42h,al in al,61h ;read PB mov ah,al or al,3 ;PB0=1,PB1=1 out 61h,al wait1: mov cx,07fffh delay: loop delay dec bx jnz wait1 mov al,ah out 61h,al pop di pop cx pop bx pop ax ret sound endp,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1