• 【微机接口】可编程定时器/计数器8254


    计算机中的定时和延时控制、对外部事件或信号的计数

    8254是可编程定时器/计数器

    8254内部结构:

    8254内部有3个独立的16位计数器,每个计数器有6种工作方式,计数初值的数值可设定为二进制或BCD码

    数据总线缓冲器:

    与系统总线D7~D0相连。

    3个基本功能:

    (1)CPU通过数据总线缓冲器向8254写入确定工作方式的命令字;

    (2)向某一计数器写入计数初值;

    (3)从某一计数器读取当前计数器

    读写逻辑:

    8254内部的控制电路

    CS非为片选信号输入端。当CS非为0时,由A1,A0确定内部寄存器,由RD非和WR非确定读写操作

    控制字寄存器:

    初始化编程时,由CPU写入控制字,以决定计数器的工作方式,设置读出命令。此寄存器只能写入,不能读出。

    计数器:

    8254有3个独立的计数器,每个计数器结构完全相同

    每个计数器有3个引脚,GATE为门控信号输入端,CLK为计数脉冲输入端,OUT为输出信号端。

    GATE=1时,每一个CLK信号的下降沿使减1计数器减1,当计数值减到某个规定的数值时,OUT端产生输出信号。

    计数脉冲可以是有规律的时钟信号,也可以是随机脉冲信号,用于计数。

    计数初值N计算公式为 N = F clk(i) / Fout(i)

    初始化编程时,程序员向计数初值寄存器写入计数初值。

    8254端口地址:

    在CS非=0下

    A1A0=00,选中0#计数器

    A1A0=01,选中1#计数器

    A1A0=10,选中2#计数器

    A1A0=11,选中控制字寄存器

    8254工作方式:

    方式2:分频器(连续单脉冲发生器),初值自动重装

    方式3:方波发生器,初值自动重装

  • 相关阅读:
    关于 obdeploy 部署脚本中的 Oceanbase 相关密码的理解
    mysql 8.0 date、datetime time, timestamp的区别
    9.2.tensorRT高级(4)封装系列-自动驾驶案例项目self-driving-深度估计
    python --监听鼠标事件
    ArrayBlockingQueue源码分析
    搭建卷积神经网络实现训练、预测实战
    js基础知识整理之 —— 五种输出方式
    seaborn学习2:displot()
    SQL之SQL索引
    SpringMVC请求(下)-文件上传
  • 原文地址:https://blog.csdn.net/m0_52043808/article/details/127636609