微机原理与接口技术总结笔记(四)

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#下降沿清除。

    作输出接口时:

    img

    • OBF#:输出缓存满信号,接外设,表示CPU已经把数据送到指定端口
    • ACK#:外设响应信号,接外设,表示外设已经取走数据
    • INTE:中断允许信号
    • INTR:中断请求信号

控制字

  • 工作方式控制字:控制AB口工作方式和输入输出。
  • C口置位/复位字:在方式1中CPU可以通过这个控制字来使PC4置位,就不允许中断(屏蔽中断)。