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

   日期:2021-01-05     浏览:100    评论:0    
核心提示:8255可编程并行接口内部结构(1)数据总线缓冲器(2)3个8位端口PA/PB/PC(3)A组和B组控制电路(4)读写控制逻辑四个端口:PA口,PB口,PC口,控制口。8255引脚功能比较简单这里就不浪费笔墨了8255工作方式方式0 基本输入输出每一个端口都定义为输入口或输出口端口C可作为两个独立的4位端口使用,并可定义为输入口或输出口方式1 选通输入输出端口A和端口B可工作在方式1,每一个端口都定义为输入口或输出口;端口C的某些引脚分别作为端口A和端口B的联络信号,有

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输入输出的组合

控制字

方式选择控制字

D7 D6 D5 D4 D3 D2 D1 D0
1 a口工作方式 a口工作方式 a口输入输出 c口高8位输出输出 b口工作方式 b口输入输出 c口低8位输出输出

C口按位置/复位控制字

D7 D6 D5 D4 D3 D2 D1 D0
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控制器

杂项

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

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服