微机原理笔记||第八章:常用接口芯片8255A,8253,AD DA转换芯片

概要:

并行接口芯片8255A

定时/计数器8253

模拟接口  AD DA转换芯片


8.1   并行接口芯片8255A

1.外部引脚

 


 2.工作方式

1. 方式0——基本输入输出方式

特点:适用于PA口、PB口和PC口作输入/输出端口

同时:彼此独立的8A口、B口及4C口、下C个并行口(16种不同的使用组态

2. 方式1——选通输入/输出方式(应答式输入/输出)

特点:适用于PA口和PB口作输入/输出端口PC口主要作为联络线

  1)方式1的输出方式

说明:

OBF#输出缓冲器满信号,输出,低电平有效。

     表示CPU已输出数据到指定端口。

ACK#-外设的回答信号,电平有效,由外设送给8255A。表示CPU送到指定端口的数据已被外设接受。

INTE-中断允许信号。 INTEA是由用户对PC6按位置位实现的。

INTR-中断请求信号,高电平有效。

  2)方式1的输入方式

特点:PA口使用PC5PC4PC3作为联络信号线;

          PB口使用PC2PC1PC0作为联络信号线

说明:

STB#选通输入低电平有效,外设数据输入输入缓冲器

IBF输入缓冲器满信号高电平有效。由8255A输出的状态信号,

        表示输入锁存器已满,向外设指明不能再送入数据

INTE 中断允许信号。是控制8255A能否CPU发中断请求信号,

     它没有外部引脚,INTEAINTEB是由用户对PC4、PC2按位置位实现的

INTR中断请求信号高电平有效。是8255A向CPU发出的请求中断信号,要求CPU服务。当 IBF =1、STB# =1INTE =1时,INTR =1

3. 方式2——双向选通输入输出方式

特点:仅适用于PA口作双向端口(可输入也可输出),

      PC口主要作为联络线B口只能工作在方式0方式1

C口剩下的3条线可作为输入输出线使用或用作B口方式1之下的联络线

 说明:

INTE中断允许信号

输出时, INTEA是由用户对PC6按位置位实现的

输入时,PC4按位置位实现的。


3. 8255A的控制字

1.方式选择控制字

 例】 8255A的地址为60H63H。若规定端口A工作于方式1输入,端口B工作于方式1输出,余下的PC7PC6规定为输出则方式选择控制字为:10110100(即  0B4H

    初始化段指令为:

              MOV   AL,  0B4H

              OUT   63H, AL           ;写命令口,即写控制寄存器

【例】假设用8255A开发的并行接口的开始端口地址为300H

已知参与译码地址线10A9--A0),其中A1A0用于8255端口寻址,现要求:

  (1)设计其I/O地址译码电路,并画出其逻辑电路示意图;

  (2)编写8255初始化程序A组方式1输出B组方式0输出

【解】  (1)地址线的状态为:

 28255A的地址为300H303H。端口A为方式1,输出,端口B为方式0,输出,则方式选择控制字为:10100000(即  0A0H

    初始化段指令为:

              MOV   AL,  0A0H     命令内容AL

              MOV   DX,  303H     ;   命令(控制字)端口送DX

              OUT   DX, AL           命令口,即写控制寄存器


2.C口位操作控制

用于设置C口某一位的复位/置位操作。

【例】已知8255A的控制寄存器地址为63H,现要使用端口CPC5输出方波,设系统已提供延时子程序DELAY供调用。

【分析】可以通过对PC5这一位进行置位复位来实现,

      PC5置位控制字:    0 0 0 0, 1 0 1 1 =0BH

      PC5复位控制字:    0 0 0 0, 1 0 1 0 =0AH

 参考程序如下:

    L:  MOV   AL0AH

         OUT    63HAL  PC5端输出低电平

         CALL   DELAY                ;调用延时子程序

         

         MOV   AL0BH

         OUT    63HAL  PC5端输出高电平

         CALL   DELAY

         

         JMP     L

【例】已知8255A端口地址为300H--303H,工作在方式1

允许PA口输出时,产生中断请求,则必须设置INTEA=1,即置PC6=1

禁止它产生中断请求,则置INTEA=0,即置PC6=0

     其程序段为:

      MOV  DX303H               8255A命令口

      MOV  AL00001101B      ;置PC6=1,允许中断请求

      OUT   DXAL                    

      MOV  AL00001100B      ;置PC6a=0,禁止中断请求

      OUT   DXAL

     

8.2   定时器/计数器接口芯片8253

8.3   串行接口芯片8251A

8.4   模拟接口

8.5   多功能外围接口芯片82380

课后作业

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值