【汇编与接口】常用接口芯片总结

8255可编程并行接口

内部结构

在这里插入图片描述
(1)数据总线缓冲器
(2)3个8位端口PA/PB/PC
(3)A组和B组控制电路
(4)读写控制逻辑
四个端口:PA口,PB口,PC口,控制口。

8255引脚功能

比较简单这里就不浪费笔墨了

8255工作方式

方式0 基本输入输出

  1. 每一个端口都定义为输入口或输出口
  2. 端口C可作为两个独立的4位端口使用,并可定义为输入口或输出口

方式1 选通输入输出

  1. 端口A和端口B可工作在方式1,每一个端口都定义为输入口或输出口;
  2. 端口C的某些引脚分别作为端口A和端口B的联络信号,有确定的意义,不能用软件重定义。
输入(以pa口为例,pb口对应PC2 PC1 PC0)

在这里插入图片描述
S T B ‾ \overline{STB} STB:输入选通信号,有效时,将输入的数据信号送入A口的数据寄存器(通俗一点就是,我只是把数字送上来了,但是你接没接收就不管我的事了)
I B F IBF IBF:输入缓冲器满信号,有效时,通知外设输入的数据已经写入到输入寄存器。
I N T R INTR INTR:中断请求信号,当 S T B ‾ \overline{STB} STB I B F IBF IBF, I N T E INTE INTE都为高电平时,使得 I N T R INTR INTR为高电平,CPU响应中断,响应中断时, R D ‾ \overline{RD} RD下降沿自动使 I N T R INTR INTR复位(转为低电平), R D ‾ \overline{RD} RD上升沿自动使 I B F IBF IBF复位(转为低电平),此时外设得知输入缓冲器为空,可进行下一个字节的传输。
I N T E INTE INTE:中断允许信号,A口为 P C 4 PC_4 PC4,B口为 P C 2 PC_2 PC2

输入过程:当外设准备好数据后,送出数据的同时,送出一个选通信号 S T B ‾ \overline{STB} STB。8255的A口数据锁存器在 S T B ‾ \overline{STB} STB的下降沿下将数据锁存。向外设送出高电平IBF,表示锁存数据已完成,不要再送数据。如果 P C 4 PC_4 PC4为1,这时就会使得 I N T R INTR INTR为高电平,向CPU发出中断请求,执行IN指令时, R D ‾ \overline{RD} RD开始时的下降沿清除中断请求,而 R D ‾ \overline{RD} RD结束时的上升沿使得IBF复位到零,外设检测到 I B F IBF IBF为0可进行下一个字节的传输。

输出(pa口为例,pb口对应PC2,PC1,PC0)

在这里插入图片描述
O B F ‾ \overline{OBF} OBF:输出缓冲器满信号,有效时表明CPU已经将数据送到的外设(外设接没接收同样不管我事)
A C K ‾ \overline{ACK} ACK:响应信号,外设送来,有效时表明8255的数据已经被外设所接受。
I N T R INTR INTR:中断请求信号,向CPU发出中断请求
I N T E INTE INTE:中断允许信号,A口为 P C 6 PC_6 PC6设置,B口为 P C 2 PC_2 PC2设置

输出过程:可类比输入过程。

方式2 双向选通输入输出

为方式1输入输出的组合
在这里插入图片描述

控制字

方式选择控制字

D7D6D5D4D3D2D1D0
1a口工作方式a口工作方式a口输入输出c口高8位输出输出b口工作方式b口输入输出c口低8位输出输出

C口按位置/复位控制字

D7D6D5D4D3D2D1D0
0无效无效无效c口位选择c口位选择c口位选择置位1/复位0

8251可编程串行接口

功能特点

  1. 可用于同步或异步传送。
  2. 同步传送5~8位/字符,能自动插入同步字符。
  3. 异步传送5~8位/字符,波特率可调。
  4. 可产生1位、1.5位以及2位的停止位。
  5. 全双工、双缓冲发送和接收器。
  6. 具有奇偶、溢出和帧格式错误检测功能。

内部结构

在这里插入图片描述
发送命令缓冲器:用于存放CPU送来的数据/命令。
接收输出缓冲器:用来存放8251A收到的数据。
接收器:接收串行数据,并按照相应的格式将串行数据变成并行数据,经内部总线送到接收数据缓冲器。
发送器:将CPU送来的数据转换成串行数据并发送出去。

引脚功能

modem控制信号

D T R ‾ \overline{DTR} DTR:输出,数据终端准备好信号,向外设输出表示CPU准备就绪。
D S R ‾ \overline{DSR} DSR:输入,表示数据装置准备好。
R T S ‾ \overline{RTS} RTS:输出,请求发送信号
C T S ‾ \overline{CTS} CTS:输入,清除发送信号

发送器有关信号

T X D T_XD TXD:发送数据。
T X R D Y T_XRDY TXRDY:发送器准备好信号
T X E T_XE TXE:发送器缓冲空标志
T X C ‾ \overline{T_XC} TXC:输入控制发送器数据速率的时钟。

接收器有关信号

R X D R_XD RXD:接收数据
R X R D Y R_XRDY RXRDY:接收器准备好标志
R X C ‾ \overline{R_XC} RXC:接受时钟输入端
S Y N D E T / B R K D E T SYNDET/BRKDET SYNDET/BRKDET:同步和间断检测

工作原理

接收器

异步

  1. 通过RxD检测起始位。
  2. 接收器采样并装配字符。
  3. 将并行数据送至接收数据缓冲器。

同步

  1. 接收器实现同步。
  2. 接收器采样并装配字符。
  3. 将并行数据送至接收数据缓冲器。

发送器

异步
按照规定加上起始位、奇偶校验位和停止位,形成一桢,逐位从TxD线上发送出去。

同步
在发送数据前插入1~2个同步字符,然后在TxD线上发送数据块。

汇编就送大家到这里了,感觉写这个还是很费时间,而且我可能要复习不完了
多写多练程序可以的。

8253可编程定时器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数模(0832)/模数(0809)转换器

0832

在这里插入图片描述

0809

在这里插入图片描述

8259中断控制器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8237可编程DMA控制器

在这里插入图片描述

杂项

补充资料:锁存器、触发器、寄存器和缓冲器的区别

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值