0
点赞
收藏
分享

微信扫一扫

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


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

文章目录

  • ​​〇、思维导图​​
  • ​​一、定时/计数 概述​​
  • ​​二、8253/8254 内部结构及引脚信号​​
  • ​​1. 主要功能​​
  • ​​2. 内部结构和外部引脚​​
  • ​​(1)结构图​​
  • ​​(2)组成​​
  • ​​三、8253/8254的工作方式​​
  • ​​1. 方式0:中断信号发生器​​
  • ​​2. 方式1:单稳负脉冲信号发生器​​
  • ​​3. 方式2:速率信号发生器​​
  • ​​4. 方式3: 方波信号发生器​​
  • ​​5. 方式4:软件触发的选通信号发生器​​
  • ​​6. 方式5:硬件触发的选通信号发生器​​
  • ​​四、8253/8254编程方法​​
  • ​​1. 控制字​​
  • ​​2. 初始化​​
  • ​​3. 示例​​
  • ​​五、8253应用(典型PC机应用实例)​​
  • ​​(1)示例1:​​
  • ​​(2)示例2:​​

〇、思维导图

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

  • 导图使用mindmaster绘制
  • ​​下载地址​​

一、定时/计数 概述

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

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

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

1. 主要功能

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

2. 内部结构和外部引脚

(1)结构图

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

(2)组成

  1. 数据总线缓冲器
  1. 通用可编程接口芯片的共有部分,用来和系统数据总线相连的8位双向三态驱动器,8253/8254可以通过他读写总线数据
  1. 读写逻辑
  1. 通用可编程接口芯片的共有部分,接受cpu发来的控制信号、片选信号或命令选择信号等,再通过它产生对内部各部件的读写
  2. 相关引脚
  1. 控制寄存器
  1. 用于存放CPU发来的控制字,以确定计数器的工作方式
  1. 3个计数器
  1. 计数器0/1/2是相互独立的16位减法计数器。既可进行二进制计数,又能进行十进制(BCD)计数,这由控制字决定。
  2. 计数器引脚

三、8253/8254的工作方式

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

  1. 写完初值N,经过N+1个CLK脉冲后,OUT变化
  2. 计数器不会自动重装初值,也不会重新计数
  3. 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254_初值_04


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

  1. 初始值设为N,产生N个clk宽度的负脉冲
  2. 计数器不会自动重装初值,也不会重新计数
  3. 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254_8254_05


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

  1. 初始值设为N,产生N个clk宽度的连续波信号
  2. 自动重装并重新计数
  3. 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254_8253_06


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

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

  2. 自动重装并重新计数

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

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

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

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

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

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

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

四、8253/8254编程方法

1. 控制字

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

2. 初始化

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

3. 示例

  1. 题目:
  2. 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254_8253_12


  3. 分析:
    1. 计数初值分析
    2. 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254_引脚_13


    3. 控制字
      (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​
  4. 代码:
  5. 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254_8254_14


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

(1)示例1:

  • 8088微机中使用了一片8253,用OUT0产生时钟信号,OUT1产生DMA通道0用于DRAM刷新控制信号,OUT2产生方波信号,通过驱动和滤波器后推动扬声器,相关原理图如下,编写8253初始化程序
  • 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254_引脚_15

  • 分析:

    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)—— 可编程定时/计数接口芯片 8253/8254_8253_16

(2)示例2:

微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254_选通信号_17


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




举报

相关推荐

USB HID接口芯片

0 条评论