微机原理与接口技术总结笔记(四)
2019-06-06
复习笔记
上一节:接口I/O技术基础
可编程定时器8254
8254是和8086同年代Intel公司推出的配套计数器/定时器 。如图,8254拥有三个独立的计数器和一个控制字寄存器。
引脚
- D7~D0:数据总线
- CS#:片选线
- RD#/WR#:读写信号
- A1~A0:地址线,所以有4个地址,分别对应3个计数器以及控制字寄存器
- CLK2~0:时钟输出信号
- GATE2~0:计数器门选通信号
- OUT2~0:计数器输出信号
工作方式
8254的工作方式主要是区别于计数是否重复、是否可重触发、输出方波还是脉冲等
- 方式0:计数到0产生中断
- 方式1:硬件可重触发单稳方式
- 方式2:n分频方式,产生固定频率的脉冲
- 方式3:方波发生器,最常用的方式,奇数初值会产生不均分的方波
- 方式4:软件触发选通
- 方式5:硬件触发选通
控制字
- 方式控制字:选择工作方式;是否BCD计数;
- 读出控制字:读某个计数器的值,用的并不多
可编程并行接口8255
8255是和8086配套推出的外设并行接口,可以和外设进行并行数据传输。并行即有多根数据线,一次能传输多位数据。由图可知,在内部8255将外部数据线PA7~PA0分为A组和B组,有独立的控制模块,可以选择不同的工作模式。
引脚
- D7~D0:8位数据线(CPU端)
- PA7~PA0,PB7~PB0,PC7~PC0:3口8位数据线(外设端)
- CS#:片选信号
- RD#/WR#:读写信号
- A1~A0:2位地址线,所以8255有4个地址,分别对应ABC口和控制寄存器
工作方式
-
方式0:简单输入/输出方式,很少用。只能用在CPU很了解外设,且只有一个外设的情况下用查询方式进行IO。
-
方式1:选通输入/输出方式,只能单向传输,最常用的方式。不论作输入还是输出,C口都有6位作为和外设的握手线。此种方式是以中断形式进行接口IO,更具有实用性。
作输入接口时:
- STB#:选通输入信号,接外设,有效时外设输入数据
-
IBF:输入缓冲器满信号,接外设
- INTE:中断允许信号,接CPU,CPU通过控制字(C口置位/复位字)来设置此位
- INTR:中断请求信号,STB#,IBF,INTE均为高电平时触发,由RD#下降沿清除。
作输出接口时:
- OBF#:输出缓存满信号,接外设,表示CPU已经把数据送到指定端口
- ACK#:外设响应信号,接外设,表示外设已经取走数据
- INTE:中断允许信号
- INTR:中断请求信号
控制字
- 工作方式控制字:控制AB口工作方式和输入输出。
- C口置位/复位字:在方式1中CPU可以通过这个控制字来使PC4置位,就不允许中断(屏蔽中断)。