IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 微机原理第七章 可编程定时器 -> 正文阅读

[嵌入式]微机原理第七章 可编程定时器

微机原理笔记分享
课程链接: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可一次锁存多个计数器值
      在这里插入图片描述

请添加图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:07:48  更:2022-09-30 01:10:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:48:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码