【微机原理与接口技术】

一、可编程并行接口芯片8255A

四个端口(ABC和控制端口)

A端口:一个8位输出锁存器和8位输入锁存器
B端口:一个8位输出锁存器和8位输入锁存器
C端口:一个8位输出锁存器和8位输入缓存器
A端口和C端口的高位构成A组;B端口和C端口的地位构成B组,AB组分别有自己的逻辑控制器。
ABC都可以当输入输出口,要在方式字中体现。

三方式

方式0基本输入输出方式:
ABC都可以输入输出,不需要联络信号,常用于无条件传输和查询方式
方式1选通输入输出方式
需要联络信号,只有AB才可以进入方式1,AB口分别需要C口的3个线路用作联络。常用于查询和中断传输方式
方式2双向选通方式
方式1的升级版本,只有A可以进入方式2,需要C口的5个线路。常用于查询和中断传输以及双向数据传输方式。

数据传输方式

无条件、查询、中断、DMA

方式字

程序填空√
特征位的0和1,决定是对方式的确定还是对C口的编写控制

二、中断控制器8259A

中断过程

中断请求、中断排队、中断响应、中断服务、中断返回。
中断请求:INT引脚发送中断请求,/INTA信号是中断允许信号。
中断排队:用于确定有中断请求并且优先级最高的中断,并返回
中断响应:进入中断服务程序入口的过程就是中断响应

中断服务过程

保护现场、开中断、中断处理、关中断(保证恢复现场过程不会被打断)、恢复现场、开中断(允许中断嵌套)

中断源

中断源分为内部(软)中断和外部(硬)中断
内部中断有:除法错误(类型0)、单步中断(类型1)、断点中断(类型3)、溢出中断(类型4)、INT n(类型5)
除了单步中断的内部中断都是非屏蔽中断(引脚NMI、类型2)
外部中断分为可屏蔽中断(INTR引脚)和非屏蔽中断(NMI引脚)
优先级是:除法错误、断点、溢出 INT n>NMI>INTR>单步中断

中断类型码获取

专用中断:自动填入,类型码
INT n:第二字节给出
外部可屏蔽:数据逻辑线给出

中断向量表

只是中断服务程序的入口地址,并不能显示中断的具体内容

内部器件

IRR:中断请求寄存器(连接中断请求输入线)
PR:优先权判别电路
ISR:中断服务寄存器
IMR:中断屏蔽寄存器
INT:中断请求线
INTA:中断响应线

8259A工作过程

①中断请求送到8259A的引脚
②IRR接收请求并相应为置位
③结合IMR的屏蔽情况确定请求是否要被屏蔽(普通屏蔽和特殊屏蔽(低优先级也可以得到响应))
④没有进入PR判别优先级(普通全嵌套和特殊全嵌套(主片)),并且把结果返回给INTA
⑤如果IF=1,那么发出INTA信号,ISR相应置位、IRR清空避免重复
⑥CPU发送第二个INTA的时候发送类型码
⑦结束(自动结束方式、普通结束方式、特殊结束方式(指明清除哪一位))

控制字

ICW1-4:初始化命令字:按照顺序写,ICW1、2必须写,3、4根据要求可写可不写,只在开始的时候写入
OCW1-3:控制命令字:可以不按照顺序写,整个过程中都可以更新
ICW1:偶地址,其余ICW为奇地址;OCW1为奇地址,其余OCW是偶地址
ICW1基本方式、ICW2中断类型码、ICW3主从片、ICW4结束嵌套方式等
OCW1中断屏蔽、OCW2控制优先权和中断结束方式、OCW3读IRR和ISR,确定是否使用特殊屏蔽、确定是否使用中断查询

三、可编程计数器/定时器8253

定时方法

①软件定时
确定指令的执行周期是固定的,循环来实现定时
②硬件定时
专门的定时电路
③可编程芯片

三计数器

计数器0、1、2:
CLK、GATE、OUT
CLK:时钟信号
GATE:门控信号、高电平有效
OUT:输出

内部器件&寻址

初值寄存器、减一计数器、输出锁存器、控制寄存器、控制逻辑电路
0 写通道0寄存器
1 写通道1寄存器
2 写通道2寄存器
3 写控制寄存器
4 读通道0
5 读通道1
6 读通道2

六方式

方式0

当写入控制字的时候,OUT变低,写入初值之后,GATE为高电平,开始计数,计数结束的时候,OUT变高。如果中途改变了GATE,计数暂停,OUT不变,GATE变高之后继续计数。如果计数过程中改变了初值,那么将按照改变后的初值重新进行计数。一次性计数,结束之后需要自己再写入初值计数

方式1

可触发的单脉冲
写入控制字之后,OUT变高,写入初值之后,当GATE为高有效的时候才开始计数,并且OUT变低,计数结束的时候,OUT变高。计数过程中GATE变低,计数暂停,当GATE变高的时候,计数开始,但是重新计数。过程中改变初值,只要GATE没有改变,就不会影响到计数。自动重复计数

方式2

分频器,N-1个空位
写入控制字之后,OUT变高,写入初值之后,当GATE为高有效的时候才开始计数,当计数到N-1的时候输出一个OUT负脉冲。计数过程中GATE变低,那么后续要重新开始计数。如果计数过程中改变了初值,那么会在下一次计数中起作用。自动重复计数

方式3

分频器,实现方波,(N+1)/2 N/2
写入控制字之后,OUT变高,写入初值之后开始计数,在计数到N/2或者(N+1)/2的时候OUT变低,结束的时候OUT变高。计数过程中GATE=0时,暂停,=1时开始。重复计数

方式4

软件触发的选通脉冲发生器
写入控制字之后,OUT变高,写入初值之后开始计数,经过N个CLK,输出一个负脉冲。计数过程中改变初值,则按照初值开始计数。一次性计数

方式5

硬件触发的选通脉冲发生器
写入控制字之后,OUT变高,当GATE为高有效的时候开始计数,经过N个clk输出一个负脉冲。GATE重新触发则重新计数。

四、可编程串行接口8251A

串行与并行

串行使用单条线路传送,慢,节省数据线,适合远距离
并行使用多条线路传送,快,较多数据线,适合近距离(指一台计算机内部)

数据的传送方式

①单工通信:数据是单向传送的
②半双工通信:数据在宏观上是双向传送的,但是在某一时刻只能接收或者发送,也就是接收和发送是交替进行的
③全双工通信:数据的接收和发送是同时的

串行通道中的同步传送和异步传送

异步传送中必须确定字符格式和波特率(单位时间内传送的位数)。
1–>0开始
发送端和接收端的波特率必须一致
同步传送是需要同步字符的(单同步字符和双同步字符)

调制与解调

发送端将信号转换成模拟信号(调制)
接收端将模拟信号转换成信息(解调)

联络信号

TXRDY发送准备好信号
RXRDY接收准备好信号

寄存器&方式字

数据寄存器(可读可写)
状态寄存器(可读)
控制字寄存器(可写)
控制寄存器中有方式控制字和命令控制字
其中方式控制字只写一次,命令控制字可以写多次;先写方式控制字,再写命令控制字。
同步方式下要记得同步字符的写入

五、DMA8237A

外设与内存的数据传输方式

查询、中断、DMA
DMA(直接存储器存取):大批数据的传输、硬件自动完成,不需要软件介入

DMA执行过程

分为申请阶段、响应阶段、数据传送阶段、结束
①外设向DMA发送请求DREQ
②DMA向CPU发送总线控制请求HRQ
③总线向DMA做出回应HLDA
④DMA获得控制权
⑤DMA向外设发出DACK回应,并选中外设
⑥AB送地址,DB送数据
⑦传输结束,DMA向外设发出EOP信号,并归还总线控制权

8237A内部结构

基地址寄存器(内存首地址)、当前地址寄存器(随时改变)、基字节计数器(传送的字节长度)、当前字节计数器(减一改变)
可以实现循环

8237A传送方式

8237A不允许嵌套,4个通道
传送方式:单字节、数据块、请求、级联
单字节:每次只传送一个字节
数据块:在DACK有效之前传送一整块数据
请求传输:每传完一个字节都要查询一下DACK是否还有效
级联传输:多个芯片构成主从式
DMA的操作是以内存为准

软命令

清除高低位触发器命令:0:操作低;1:操作高(写CH)
主清除命令:都置0,屏蔽寄存器为1(写DH)
清屏蔽寄存器命令:4个通道的屏蔽位都清0(写EH)
寻址线地址再字节、命令、请求、屏蔽、模式、CH、DH、EH、写屏蔽所有位

8237A编程步骤

主清除、起始地址、传输字节、工作方式、命令寄存器、屏蔽寄存器、请求寄存器

六、DAC0832和ADC0809

DAC:数字信号转换成模拟信号
ADC:模拟信号转换成数字信号

0832工作模式

单缓冲模式和双缓冲模式
单缓冲:只有一级锁存
双缓冲:输入寄存器和DAC寄存器都锁存
可以实现多个DAC同步转换输出

0832应用

①锯齿波
inc 之后置0
②三角波
inc 之后dec
③方波
最大位延时

0809内部组成

8路模拟开关
8位A/D转换器
三态门输出锁存器

0809工作过程

①ADDA ADDB ADDC选择哪一路模拟信号
②ALE控制模拟信号进入比较器
③START启动A/D
④EOC变低,正在转换
⑤EOC变高,转换结束
⑥OE高,输出数据

判断转换结果的方法

①软件延时(不需要EOC)
效率低
②软件查询EOC状态
③EOC中断
效率高

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值