【微机原理及接口技术】可编程计数器/定时器8253

news/2024/9/24 12:02:25/

【微机原理及接口技术】可编程计数器/定时器8253

文章目录

  • 【微机原理及接口技术】可编程计数器/定时器8253
  • 前言
  • 一、8253的内部结构和引脚
  • 二、8253的工作方式
  • 三、8253的编程
  • 总结


前言

本篇文章就8253芯片展开,详细介绍8253的内部结构和引脚,8253的工作方式以及8253的编程。


定时器和计数器

  • 定时控制在微机系统中极为重要
    定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔。
  • 计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器

定时功能的实现方法

  • 软件延时
    ——利用微处理器执行一个延时程序段实现

  • 不可编程的硬件定时
    ——采用分频器、单稳电路或简易定时电路控制定时时间

  • 可编程的硬件定时
    ——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路

8253定时计数器

  • 3个独立的16位计数器通道
  • 每个计数器有6种工作方式
  • 按二进制或十进制(BCD码)计数

一、8253的内部结构和引脚

在这里插入图片描述
计数器结构示意图
在这里插入图片描述

  • 计数初值存于计数初值寄存器
  • 在计数过程中
    减1计数寄存器的值不断递减,
    而计数初值寄存器中的预置内容不变
  • 当前计数输出寄存器用于写入锁存命令时,
    锁定当前计数值。

计数器的3个引脚

CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1
GATE门控输入信号——控制计数器工作,可分成高电平触发和上升沿触发两种类型
OUT计数器输出信号——当一次计数过程结束(计数值减为0或1),OUT引脚上将产生一个输出信号


二、8253的工作方式

  • 方式0: 计数结束中断
    在这里插入图片描述

①写入控制字
②写入计数初值
④计数初值送减1计数寄存器
⑤计数过程
⑥计数结束

  • 方式1: 可重触发单稳态

在这里插入图片描述

①写入控制字
②写入计数初值
③硬件启动
④计数初值送减1计数寄存器
⑤计数过程
⑥计数结束

  • 方式2: 频率发生器(分频器)

在这里插入图片描述

  • 方式3: 方波发生器

在这里插入图片描述

  • 方式4: 软件触发选通信号
    在这里插入图片描述

  • 方式5: 硬件触发选通信号
    在这里插入图片描述


三、8253的编程

  • 8253加电后的工作方式不确定
  • 8253必须初始化编程,才能正常工作
  • 8253编程包括:
  • 初始化编程
    (1) 写入控制字
    (2) 写入计数值
    读取计数值
    (1) 锁存当前计数值
    (2) 读取当前计数值

1、写入方式控制字
控制字写入控制字端口地址(A1A0=11)
在这里插入图片描述

2、写入计数值
计数值写入计数器各自的端口地址

  • 选择二进制时
    计数值范围:0000H~FFFFH
    0000H是最大值,代表65536
  • 选择十进制(BCD码)
    计数值范围:0000~9999
    0000代表最大值10000

8253的端口地址
在这里插入图片描述
3、读取计数值
读取计数值,要注意读写格式和计数数制

  • 对8位数据线,读取16位计数值需分两次
  • 计数在不断进行,应该将当前计数值先行锁存,然后读取:
    向控制字端口地址:写入锁存命令
    从计数器端口地址:读取锁存的当前计数值

例1:要求计数器0工作于方式3,输出方波的频率为2KHz,计数脉冲的频率为2.5MHz,采用二进制计数,试写出初始化程序段。

  1. 8253的端口地址为:80H,81H,82H,83H。
  2. 计数初值计算:TC = 2.5MHz/2KHz=1250
  3. 8253的方式控制字为:00 11 011 0
  4. 初始化程序段:
    MOV AL,00110110B
    OUT 83H,AL
    MOV AX, 1250
    OUT 80H,AL
    MOV AL, AH
    OUT 80H,AL

例2:硬件如图所示,利用8253的通道0和通道1,设计并产生频率为1Hz的方波。设通道0的输入时钟频率为1MHz,8253所占端口为90H~93H。(写出计算过程,并初始化芯片)
在这里插入图片描述
通道0计数初值:1MHZ/100HZ=10000
通道1计数初值:100HZ/1HZ=100
MOV AL,00110100B
OUT 93H,AL
MOV AX,10000
OUT 90H,AL
MOV AL,AH
OUT 90H,AL
MOV AL,01010110B
OUT 93H,AL
MOV AL,100
OUT 91H,AL


总结

到这里这篇文章的内容就结束了,谢谢大家的观看,如果有好的建议可以留言喔,谢谢大家啦!


http://www.ppmy.cn/news/1464529.html

相关文章

端口扫描利器--nmap

目录 普通扫描 几种指定目标的方法 TCP/UDP扫描 端口服务扫描 综合扫描 普通扫描 基于端口连接并响应(真实) ​ nmap -sn 网段(0/24)-sn 几种指定目标的方法 单个IP扫描 IP范围扫描 扫描文件里的IP 扫描网段,(排除某IP) 扫描网段(排除某清单IP) TCP/UDP扫描 -sS …

Linux部分漏洞处理

1、ICMP timestamp请求响应漏洞 ICMP timestamp请求响应漏洞是指,当网络设备接收到ICMP timestamp请求时,它会返回当前时间戳作为响应,这可能导致设备的时间戳被暴露,进而可能被用于计算机时间戳协议(TLS)的…

Linux服务器配置ssh证书登录

1、ssh证书登录介绍 Linux服务器ssh登录有密码登录和证书登录两种。如果使用密码登录,容易遭受密码泄露或者暴力破解,我们可以使用ssh证书登录并禁止使用密码登录,ssh证书登录通过公钥和私钥来完成整个连接过程,公钥保存在服务器…

java中的工具类

以下是我们到现在学的三个类 在书写工具类的时候我们要遵循以下的规则 类名见面知意是为了知道这个工具类的作用 私有化构造方法的作用是为了不让外界不能创造这个类的对象吗,因为工具类不是描述一个事物的,它是一个工具。 方法定义位静态是为了方便调用…

现货白银交易点差是多少

现货白银投资者通过交易平台进行买卖操作的时候,平台会以“点差”的形式向投资者收取一定的交易费用。所谓的点差,也就是平台所报出的买入价和卖出价之间的固定差额,由于现货白银的报价是“成对”的,所以点差的存在也是其交易模式…

建议大家少用点儿网站测速工具

春节休息期间明月有接了几个服务器代运维的业务,期间就发现不少新手站长们还在用 17ce、站长工具等等这些网站测速工具来评判站点访问速度的,感觉很有必要给大家聊聊这个事儿,因为这毕竟也是一个涉及服务器安全的一个重要环节了。 其实&#…

C++【缺省参数|函数重载|引用】

目录 1 缺省参数 1.1 全缺省 1.2 半缺省 注意 1.3 应用 2 函数重载 函数重载的概念 1、参数类型不同 2、参数个数不同 3、参数类型顺序不同 3 引用 3.1 引用概念 3.2 引用特性 3.3 常引用 3.4 使用场景 3.5 传值、传引用效率比较 3.6 引用和指针的区别 1 缺…

CCF-GESP 等级考试 2023年3月认证C++一级真题

2024年03月真题 一、单选题(每题2分,共30分) 第 1 题 以下不属于计算机输入设备的有( )。 A. 键盘B. 音箱C. 鼠标D. 传感器 第 2 题 计算机系统中存储的基本单位用B来表示,它代表的是( &#x…