微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254

  • 总结微机原理课学习的若干芯片
  • 教材——《微机原理与接口技术》

〇、思维导图

在这里插入图片描述

一、定时/计数 概述

  • 实际应用中,经常用到定时或计数控制,如定时中断、定时检测、定时扫描、各种计数等。
  • 实现定时控制的三种基本方法
    在这里插入图片描述
  • intel的8253/8254是微机系统中应用较多的定时计数器,8253工作频率最高2.6MHz;8254工作频率为10~12MHz,二者除了频率和少数几处不同外几乎没有差别。

二、8253/8254 内部结构及引脚信号

  • 8254具有3个功能相同又相互独立的16位减法计数器,每一个计数器可以进行二进制计数和BCD码计数,每个计数通道具有6钟功能各异的工作方式。

1. 主要功能

在这里插入图片描述

2. 内部结构和外部引脚

(1)结构图

在这里插入图片描述

(2)组成

  1. 数据总线缓冲器

    1. 通用可编程接口芯片的共有部分,用来和系统数据总线相连的8位双向三态驱动器,8253/8254可以通过他读写总线数据
  2. 读写逻辑

    1. 通用可编程接口芯片的共有部分,接受cpu发来的控制信号、片选信号或命令选择信号等,再通过它产生对内部各部件的读写
    2. 相关引脚
      在这里插入图片描述
      在这里插入图片描述
  3. 控制寄存器

    1. 用于存放CPU发来的控制字,以确定计数器的工作方式
  4. 3个计数器

    1. 计数器0/1/2是相互独立的16位减法计数器。既可进行二进制计数,又能进行十进制(BCD)计数,这由控制字决定。
    2. 计数器引脚
      在这里插入图片描述

三、8253/8254的工作方式

1. 方式0:中断信号发生器

  1. 写完初值N,经过N+1个CLK脉冲后,OUT变化
  2. 计数器不会自动重装初值,也不会重新计数
    在这里插入图片描述

2. 方式1:单稳负脉冲信号发生器

  1. 初始值设为N,产生N个clk宽度的负脉冲
  2. 计数器不会自动重装初值,也不会重新计数
    在这里插入图片描述

3. 方式2:速率信号发生器

  1. 初始值设为N,产生N个clk宽度的连续波信号
  2. 自动重装并重新计数
    在这里插入图片描述

4. 方式3: 方波信号发生器

  1. 初始值设为N,产生周期为N倍时钟周期的方波信号(占空比等于或约等于1:1)

  2. 自动重装并重新计数

    在这里插入图片描述

5. 方式4:软件触发的选通信号发生器

  1. 在N个clk的延时后生成一个clk宽度的负脉冲(选通信号)
  2. 不自动重装,不计数

在这里插入图片描述

6. 方式5:硬件触发的选通信号发生器

  1. 在N个clk的延时后生成一个clk宽度的负脉冲(选通信号)
  2. 不自动重装,不计数(和方式4的区别仅在于触发方式不同)

在这里插入图片描述

四、8253/8254编程方法

1. 控制字

在这里插入图片描述

2. 初始化

在这里插入图片描述

3. 示例

  1. 题目:
    在这里插入图片描述
  2. 分析:
    1. 计数初值分析
      在这里插入图片描述
    2. 控制字
      (1)OUT0(计数器0)输出方波(方式3),计数值80(低8位写80,二进制计数):0001 0110B
      (2)OUT1(计数器1)输出连续脉冲(方式2),计数值4000(16位写4000,二进制计数):0111 0100B
      (3)OUT2(计数器2)输出单个脉冲(方式1),计数值0(16位写0,二进制计数):1011 0010B
  3. 代码:
    在这里插入图片描述

五、8253应用(典型PC机应用实例)

(1)示例1:

  • 8088微机中使用了一片8253,用OUT0产生时钟信号,OUT1产生DMA通道0用于DRAM刷新控制信号,OUT2产生方波信号,通过驱动和滤波器后推动扬声器,相关原理图如下,编写8253初始化程序
    在这里插入图片描述

  • 分析:

    1. OUT0产生时钟信号,就是方波,工作方式为3。GATE恒高电平满足。要求55ms产生一次中断,即每秒约18.206次,又fclk输入为1.19318MHz,所以计数值为1.19318*10^6/18.206 = 65536,所有计数初值写0,用16位长二进制计数
    2. OUT1产生连续脉冲,工作方式为2。GATE恒高电平满足。要求每15.08us启动刷新DRAM,计数初值为1.19318*15.08 = 18,低8位二进制计数即可
    3. OUT2产生1KHz方波,工作方式为3。GATE恒高电平,即8255PB0输出高电平发声,输出低电平静音。计数初值1.19318M/1K = 1193,16位二进制计数
  • 示例代码:
    在这里插入图片描述

(2)示例2:

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

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云端FFF

所有博文免费阅读,求打赏鼓励~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值