微机原理第七章 可编程定时器

微机原理笔记分享
课程链接:https://www.bilibili.com/video/BV1qv411Y7AA?share_source=copy_web

可编程定时器

概述

定时与计数是微机系统中经常使用的功能

实现定时与计数的方法有三种:

  • 软件法

    • 编写程序实现延时/计数
    • 特点:节省费用,灵活方便;但浪费CPU时间
  • 硬件法

    • 采用硬件电路实现定时/计数
    • 特点:不占CPU时间;不可程序控制调节,精度低
  • 软硬结合

    • 采用8253等可编程定时/计数器
    • 特点:定时期间不占CPU时间,程控调节定时时间,精度高

8253工作方式

工作方式

  • 结构与引脚

    在这里插入图片描述

    • 3个相同且独立的通道

      在这里插入图片描述

    • 每个通道有一个16位减法计数器

    • 每个通道可设定6种工作方式

      在这里插入图片描述

  • 8253-定时与计数

    • 8253工作过程

      • 对CLK引脚上的脉冲按二进制或BCD格式计数。每来一个脉冲,内部计数器减1,减至0,从OUT端输出一个脉冲。

      • 定时:对等间隔脉冲计数即可实现定时。

        • 定时时间=脉冲周期×计数次数
      • 计数:只计脉冲个数,可不等间隔。

    • CLK引脚输入脉冲的频率

      • 8253: fCLK≤2MHz
      • 8254: fCLK≤5MHz~10MHz
    • 门控信号GATE

      • 通常:

        在这里插入图片描述

控制字

在这里插入图片描述

初始化编程

  • 写控制字:

    • 选择通道,工作方式,计数格式等
  • 写计数初值:

    • 初值8位:OUT一次即可
    • 初值16位:OUT两次.先低位后高位
    • 例:设8253口地址分别为3FOH, 3F2H, 3F4H, 3F6H。要求通道0工作于方式3,计数初值n=1234H(BCD)。试编写初始化程序。

      在这里插入图片描述

6种工作方式-方式0

  • 1.方式0—计数结束中断

    在这里插入图片描述

    • 设定方式0,写入控制字, OUT立即变低
    • 设GATE=1,写入计数初值n后,再来一个CLK脉t:n丁具.正装入计数器。之后,每来一个CLK(下降沿),计数器减1,减至0后, OUT由低变高,可请求中断。
    • 若GATE=0,暂停计数;GATE=1,继续进行。
    • 应用:定时/计数。定时/计数结束后,可请求中断
  • 方式1-可编程单稳脉冲

    在这里插入图片描述

    • 设定方式1,写入控制字后, OUT立即变高
    • 写入n后,并不开始计数,直至GATE出现上升沿,则在下一个CLK到来时, OUT变低并开始计数
    • 计数结束, 0UT变高
    • 负脉冲宽度=TOLK×n
    • 可重复触发:计数未结束, GATE又来上升沿,则n重新装入并计数
    • 应用:作单稳态触发器,暂态宽度可调节
  • 方式2-负脉冲发生器/分频器

    在这里插入图片描述

    • 设定方式2,写入控制字后,0UT立即变高
    • 设GATE=1,则写入初值后的下一个CLK开始计数
    • 当计数值减至1时,OUT变低,减至0时, OUT又变高,同时将n的初值自动重新装入并重复上述过程
    • OUT端输出一系列连续的负脉冲,频率=fclk/n
    • 若计数过程中写入新的n值,则本次计数结束后按新的n值进行
    • GATE=0,禁止计数,OUT变高;GATE变高, n自动装入并工作
    • 应用:作分频器/负脉冲序列发生器
  • 方式3-方波发生器

    在这里插入图片描述

    • 设定方式3,写入控制字后, OUT立即变高
    • 与方式2相同之处:产生连续的脉冲,频率= fclk/n
    • 与方式2不同之处:输出脉冲为正负对称的方波(n为偶数)
    • 若n为奇数,输出脉冲的负脉宽比正脉宽少一个CLK周期
    • 应用:作方波发生器/分频器
  • 方式4-软件触发选通

    在这里插入图片描述

    • 设定方式4,写入控制字后, OUT立即变高
    • 设GATE=1,写入n后的下一个CLK开始计数,当计数值减为0时, OUT变低,一个TCLK后,又变高,形成一个负脉冲
    • 软件触发(即:装入n值)一次,仅输出一个负脉冲
    • GATE=0,停止计数,GATE变高后,重新装入n,开始计数
    • 应用:(定时)产生选通脉冲(软件触发)
  • 方式5-硬件触发选通

    在这里插入图片描述

    • 设定方式5,写入控制字后, OUT立即变高
    • 写入n后,并不开始计数,直至GATE出现上升沿,则在下一个CLK到来时开始计数,计数值减为0后,OUT输出一个TcLR的负脉冲,并自动再装入n,等待GATE再来上升浴触发
    • 硬件(GATE)触发一次,仅输出一个负脉冲
    • 若计数过程中GATE又来上升沿,则重新装入n,开始计数若计数
    • 过程中写入新的n值,则在下次GATE上升沿装入新n值并计数
    • 应用:(定时)产生选通脉冲(硬件触发)

8253工作方式总结

在这里插入图片描述

8253应用例子

例1定时功能之一:产生各种定时波形

在这里插入图片描述

在这里插入图片描述

  • 编写初始化程序

    在这里插入图片描述

    在这里插入图片描述

例2定时功能之二:长延时

在这里插入图片描述

  • 设8253口地址:81H, 83H, 85H, 87H

    • 欲输出方波:T=20s,f=0.05Hz

    • 分频系数

      • n=2M/0.05=40,000,000
    • 通道0、1串联:

      • n0=5000, n1=8000

    在这里插入图片描述

例3.计数功能

  • 设8253口地址:FOH, F2H, F4H, F6H对工件计数,每500个中断一次

    在这里插入图片描述

    在这里插入图片描述

    • 应用场合:卷烟,高速车辆,统计人数等
    • *8254可一次锁存多个计数器值
      在这里插入图片描述

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值