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 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 从头开始学51单片机之6:定时器/计数器 -> 正文阅读

[嵌入式]从头开始学51单片机之6:定时器/计数器

6.1 定时器/计数器的结构及工作原理

1. 51单片机定时器/计数器功能

  • 用单片机实现定时的途径
1软件定时

利用循环程序、靠执行指令消耗时间,实现时间延迟

无需硬件电路,方便、经济

占用CPU时间,适合实现较短时间定时

2硬件定时

利用硬件电路实现定时

不占用CPU时间,可实现较长时间定时

调整定时时间需改变元件参数,缺乏灵活性

2可编程定时器定时

通过对系统时钟脉冲计数实现定时

计数值可通过程序灵活设定

  • 定时器/计数器功能
    • 定时器:利用MCU自身的工作时钟
    • 计数器:利用外部输入的时钟信号

2. 定时器/计数器结构

  • 51单片机共有2个可编程定时器/计数器——T0和T1
  • T0和T1均为16位加法计数结构
  • 每个定时器/计数器均由THx、TLx两个8位计数单元组成

  • T0和T1具有定时和计数两种工作方式
  • 当作为计数器方式时,T0对来自P3.4(T1对来自P3.5)引脚脉冲信号进行计数(下降沿有效)
  • 当作为定时器方式时,T0、T1对经过12分频的时钟周期(即机器周期T)进行计数

3. 定时器/计数器的控制字

  • 定时器/计数器共有2个控制寄存器TCON和TMOD
  • TMOD用于选择定时方式,可实现4种工作模式
  • TCON用于控制定时器启停,反映计数单元溢出状态
  • 复位后TCON和TMOD所有位清零
D7D6D5D4D3D2D1D0
TCON (88H)TF1TR1TF0TR0IE1IT1IE0IT0
TR0

T0启动控制位:

1:启动T0计数,计数单元在脉冲作用下进行加1计数

0:停止T0计数,计数单元保持原数据

TR1

T1启动控制位:

1:启动T1计数,计数单元在脉冲作用下进行加1计数

0:停止T1计数,计数单元保持原数据

D7D6D5D4D3D2D1D0
TMOD (89H)GATE\small C/\bar{T}M1M0GATE\small C/\bar{T}M1M0
T1T0
GATE

门控位

0:不门控,定时器/计数器工作仅受启动位TR0(或TR1)控制

1:门控功能,T0(或T1)计数不仅受TR0(或TR1)控制,同时还受外部中断输入引脚控制,当其为高电平时,计数单元才能计数,否则停止计数

\small C/\bar{T}

定时器/计数器方式选择位

0:定时器方式,对\small f_{osc}12分频进行计数

1:计数器方式,对外部输入信号进行计数

M1&M0

工作模式选择

工作模式M1M0定时器方式
模式00013位定时器/计数器
模式10116位定时器/计数器
模式2108位自装载定时器,当溢出时将THx存放的值装入TLx
模式211T0作为双8位定时器/计数器,T1关闭

6.2 定时器/计数器的工作模式

1. 模式0

  • 13位定时器/计数器结构,由THx的8位和TLx的低5位构成,TLx的高3位不用,当13位计数值溢出时(\small 2^{13}),置位TFx标志位

?2. 模式1

  • 16位定时器/计数器结构,由THx和TLx两个8位寄存器组成,当16位计数值溢出时(\small 2^{16}),置位TFx标志位,工作过程同模式0

?3. 模式2

  • 一个可自动重新装入计数值的8位定时器,TLx作为8位计数器,THx作为常数寄存器。当TLx溢出时,一方面置位TFx标志位,同时将THx中的数值重新装入TLx寄存器,使计数器重新开始计数
  • 特点:初始值由硬件自动装入,无需软件干预,可以获得较高精度的定时

?4. 模式3

  • 该模式仅适用于T0,T1不工作
  • T0分成两个独立的8位计数器结构,分别通过TH0和TL0进行计数。此时TL0工作过程与模式0相当;TH0只能作为一个8位定时器使用,其运行控制和溢出标志借用T1的TR1和TF1

?6.3 计数器模式下对输入信号的要求

  • 当输入信号产生由1至0的跳变(即负跳变)时,计数器的值增1
  • 确认一次负跳变需要2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率位系统振荡频率的1/24
  • 例如:若选用6MHz频率的晶振,允许输入脉冲频率最高为250kHz;若选用12MHz频率的晶振,则可输入最高频率为500kHz的外部脉冲
  • 占空比:为确保某一给定电平在变化前能被采样一次,这一电平至少要保持一个机器周期

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:58:04  更:2022-10-08 20:58:46 
 
开发: 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:55:39-

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