51单片机入门 - 定时/计数器原理及结构(T0和T1)

发布者:delta14最新更新时间:2022-05-27 来源: eefocus关键字:51单片机  定时  计数器 手机看文章 扫描二维码
随时随地手机看文章

定时/计数器结构(T0和T1)

16位寄存器T0、T1分别由TH0、TL0和TH1、TL1四个8位计数器组成

  • 定时器的区别:

    • T0可分成2个独立的8位定时器,而定时器1则不能;

    • T1可作为串口的波特率发生器,而定时器0则不能。

  • 工作原理

    注:T0或T1都不能同时既做定时器也做计数器

    补充:

    • 计数器工作原理:

      用作计数器时,对T0或T1引脚的外部脉冲计数,如果前一个机器周期采样值为1,后一个机器周期采样值为0 ,则说明有一个脉冲,计数器加1。

      在每个机器周期的S5P2期间采样引脚输入电平。新的计数初值于下一个机器周期的S3P1期间装入计数器。

      此种方式需要两个机器周期来检测一个1->0负跳变信号,因此最高的计数频率为时钟频率的1/24。

    • S5P2:

      S5P2指的是第5个时钟周期的相位2。

      晶体振荡器的振荡信号从XTAL2端输入到片内的时钟发生器上,时钟发生器是一个二分频触发器电路,它将振荡器的信号频率除以2,向CPU提供了两相时钟信号P1和P2。时钟信号的周期称为机器状态时间S,它是振荡周期的2倍。在每个时钟周期(即机器状态时间S)的前半周期,相位1(即P1信号)有效,在每个时钟周期的后半周期,相位2(即P2信号)有效。

    • 定时器:脉冲来源是由系统的时钟晶振器输出脉冲源提供

    • 计数器:脉冲来源是由T0或T1引脚(P3.4或P3.5)输入的外部脉冲源提供

    • 用途:定时器和计数器

    • 核心:加1计数器

    • 原理:每来一个脉冲则加1计数器加1,当加到全1时再来一个脉冲使加1计数器归零,同时加1计数器的溢出使TCON寄存器中的TF0(或TF1)置1,向CPU发出中断请求

    • 脉冲来源:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

使用的寄存器

  • TCON控制寄存器:启动和停止定时/计数器的计数,并控制定时器的工作状态,不能按位寻址

       

  • TMOD方式寄存器:设置定时器的工作方式,选择定时或计数的功能,可以按位寻址。(和中断共用寄存器,高四位为定时计数器使用,低四位为中断使用)

    注:GATE逻辑结构此处略过,详见书P100

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

工作方式:

  • 方式0

    • 计算公式:

    • 最大计数:8192个机器周期

    • 工作原理:

      13位计数器,使用TL0的低5位和TH0的高8位组成,TL0的低5位溢出时向TH0进位。TH0溢出时发出中断请求。

  • 方式1

    • 计算公式:

    • 最大计数:65536个机器周期

    • 工作原理:

      16位计数器,TL0作为低8位,TH0作为高8位

  • 方式2:自动重装初值的8位计数方式

    • 计算公式:

      p.s.晶振频率必须选择12的整数倍,因为定时器的频率是晶振频率的1/12。

    • 最大计数:256个机器周期

    • 优点:

      适合做比较精准的脉冲信号发生器

    • 缺点:

    • 工作原理:

      计数器溢出后,计数器自动将上次设置的初值重装。

         

  • 方式3:p.s.只能用于定时/计数器T0,T0工作在方式3时,T1不要使用在有中断的场合。通常该种情况下T1用作串口波特率发生器

    • 工作原理:

      将T0分成两个独立的8位定时/计数器TL0和TH0。

      TL0为正常的8位定时/计数器,计数器溢出后置位TF0,申请中断,之后重装初值。

      TH0也是8位定时/计数器,但由于TL0占用了TF0和TR0,因此TH0占用定时器TF1和TR1(所以T1不能用)

   

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

时钟周期/机器周期计算:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

定时/计数器初始化

  • 对TMOD赋值,确定T0和T1的工作方式

  • 计算初值,并将其写入TH.x和TL.x

  • 使用中断方式时对IE寄存器赋值开发中断

  • 使TR0或TR1置位,启动定时/计数器


关键字:51单片机  定时  计数器 引用地址:51单片机入门 - 定时/计数器原理及结构(T0和T1)

上一篇:51单片机入门 - 串口通信实验(模拟串口通信/多机通信实例)
下一篇:51单片机入门 - 串口工作原理知识点汇总

推荐阅读最新更新时间:2024-11-11 10:09

51单片机-按键
矩阵按键: 实现功能按一个键,相应的灯亮。 左边的是普通二极管,右边的是发光二极管。左边的二极管如果想导通,则右边要比左边电平低。如果导通就是按键可以控制灯亮,那么按键左下的都为低电平,系统复位时默认I/O是高电平,所以给垂直方向的I/O拉低,这样如果按键按下,电路导通,那么垂直方向I/O的低电平会把水平方向的拉低。这样就可以通过检测水平方向哪个I/O为低电平来检测哪个键被按下。 开始时对程序的错误想法:被按下的键两边肯定都是低电平,把它们存在一个数组里,然后检测。这样是不对的,用一个临时变量去存P0的值,不会有相同的,开始P0的值为oxff,这样即使按下按键,那么两边的引脚还是高电平,所以失败了。 #
[单片机]
<font color='red'>51单片机</font>-按键
基于ADC0809和51单片机的多路数据采集系统设计方案
“数据采集”是指将温度、压力、流量、位移等模拟物理量采集并转换成数字量后,再由计算机进行存储、处理、显示和打印的过程,相应的系统称为数据采集系统。 本文的主要任务是对0~5V的直流电压进行测量并送到远端的PC机上进行显示。由于采集的是直流信号,对于缓慢变化的信号不必加采样保持电路,因此选用市面上比较常见的逐次逼近型ADC0809芯片,该芯片转换速度快,价格低廉,可以直接将直流电压转换为计算机可以处理的数字量。同时选用低功耗的LCD显示器件来满足其在终端显示采集结果的需求。终端键盘控制采用尽可能少的键来实现控制功能,为了防止键盘不用时的误操作,设计时还设置了锁键功能,在键盘的输入消抖方面,则采用软件消抖方法来降低硬件开销,
[单片机]
基于ADC0809和<font color='red'>51单片机</font>的多路数据采集系统设计方案
ARM定时器的学习
LPC2000型ARM定时器的特性? 答:LPC2000系列都有二个32位的定时器,定时器0和定时器1,这二个定时除了外设基地址不同外,其它都相同,定时器对外设PCLK进行 计数,根据4个匹配寄存器的设定,可执行中断和其它动作它还包含四个捕获输入,用于在输入信号发生跳变时捕获定时器的当前值,并可 选择产生中断: 1.二个32位定时器/计数器各含有一个可编程32位预分频器 2.具有多达4路捕获通道 3.4个32位匹配寄存器存器 4.4个对应于匹配寄存器的外部输入 定时器的工作流程? 答:1.定时器内部的预分频器对定时器时钟源进行分频
[单片机]
AVR单片机定时器T0的基本中断使用ICCAVR
#include iom128v.h void main(void) { TCNT0=0x83; TCCR0=0x07; TIMSK=0x01; SEI(); DDRC=0xff; PORTC=0; OCR0=0X00; while(1); } #pragma interrupt_handler Timer0:iv_TIMER0_OVF void Timer0() { TCNT0=0x83; PORTC=~PORTC; } 得出一个结论:别指望巧合。
[单片机]
WPF与51单片机之间的串口通信
WPF部分: (1)建立WPF工程,步骤略 下面是MainWindow.xaml.cs的内容 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Windows; 5 using System.Windows.Controls; 6 using System.Windows.Data; 7 using System.Windows.Documents; 8 using System.Windows.Input; 9 using System.Windows.Media; 10
[单片机]
WPF与<font color='red'>51单片机</font>之间的串口通信
c51单片机实用通信协议
一、基本格式: 通信头- 巴克码- 地址字- 长度字- 命令字- 信息位- 校准字 1. 通信头:占1~8个字节,表通信开始(0x00、0xff不能用作通信头); 2.巴克码:占1字节,一般为0x72,表通信头结束; 3.地址字:表终端的地址,占1字节(0x00作为广播地址); 4.长度字:占1字节,表示从地址字到信息位之间的字节数; 5.命令字:占1字节,指示终端的不同操作; 6.信息位:不定长,从0~252字节; 7.校验位:两个字节,采用和校验及CRC校验。 二、应答 1.如果终端接收正确,则应答ACK;如果终端接收错误,则应答NAK; 2.发送方收到ACK,此次通信结束; 3.发送方收到NAK,重发刚
[单片机]
简述AVR单片机定时
AVR定时器的要点介绍 M16的T1 16位定时器一共有15种工作模式,其他2个8位定时器(T0/T2)相对简单,除了T2有异步工作模式用于RTC应用外 (可以利用溢出中断和比较匹配中断作定时功能) 分5种工作类型 1 普通模式 WGM1=0 跟51的普通模式差不多,有TOV1溢出中断,发生于TOP时 1 采用内部计数时钟 用于 ICP捕捉输入场合---测量脉宽/红外解码 (捕捉输入功能可以工作在多种模式下,而不单单只是普通模式) 2 采用外部计数脉冲输入 用于 计数,测频 其他的应用,采用其他模式更为方便,不需要像51般费神 2 CTC模式 WGM1=4,12 跟51的自动重载模式差
[单片机]
STM32F407ZGT6芯片SysTick定时器模块介绍
本文参考资料《ARM Cortex™-M4F技术参考手册》-4.5章节SysTick Timer(STK),和4.48章节SHPRx,其中STK这个章节有SysTick的简介和寄存器的详细描述。因为SysTick是属于CM4内核的外设,有关寄存器的定义和部分库函数都在core_cm4.h这个头文件中实现。所以学习SysTick的时候可以参考这两个资料,一个是文档,一个是源码。 SysTick简介 SysTick——系统定时器是属于CM4内核中的一个外设,内嵌在NVIC中。系统定时器是一个24bit的向下递减的计数器,计数器每计数一次的时间为1/SYSCLK,一般我们设置系统时钟SYSCLK等于168M。当重装载数值寄存器的值递
[单片机]
STM32F407ZGT6芯片SysTick<font color='red'>定时</font>器模块介绍

推荐帖子

51单片机中ALE管脚是什么意思
为什么一直都是高电平,如何才是低电平51单片机中ALE管脚是什么意思RAM当访问外部RAM或外部取指时,LAE输出锁存信号。系统扩展时用来把先送出的地址锁存起来,等到高8位地址送出后再一起送给外扩的RAM地址使能锁存信号在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,
yhb123 嵌入式系统
贴片二三极管查询起来就是烦,有没有汇总查询手册,大家分享下
贴片二三极管查询起来就是烦,有没有汇总查询手册,大家分享下贴片二三极管查询起来就是烦,有没有汇总查询手册,大家分享下撒狗叼来,比什么手册查询都强嘛。仙猫老师,啥叫撒狗叼来?呵呵回复沙发仙猫的帖子“狗”=狗狗=google  对已知型号的可以撒狗找,如是设计选型,型号未知的,俺搅得查Digi-Key是个好办法,它可以输入条件检索。呵呵,又找到个好的网站港还找到个PDF,看着也可以吧,分享了帖片元件的代码实在让人头疼啊。。。派睿网上那个查询系统好像也不错吧网址?呵
simonprince 模拟电子
用定时器实现DA功能
我现在正在做一个无线对讲,想用定时器实现DA功能,两块板的单片机都是MSP430F2012,A板用AD采咪头信号,采到的数据再通过CC2500无线发出去,另一块B板子接收,MSP430F2012是没有DA功能的,我想B板通过定时器来实现DA功能,把接到的数据赋值R1,改变PWM的脉宽来还原咪头信号。我现在做到了,A板的AD采样和两板通信都已经正常,定时器来实现DA功能部分还有问题,我不知道频率该怎么设置,或者是还有很多地方没有注意到的,请大家帮帮忙谢谢!
wangyg007 嵌入式系统
说一下开关电源的测量
电子器件的电源测量通常情况是指开关电源的测量(当然还有线性电源)。讲述开关电源的资料非常多,下面讨论的内容为PWM开关电源,而且仅仅是作为测试经验的总结,为大家简述容易引起系统失效的一些因素。因此,在阅读本文之前,已经假定您对于开关电源有一定的了解。1开关电源简述开关电源(SwitchingModePowerSupply,常常简化为SMPS),是一种高频电能转换装置。其功能是将电压透过不同形式的架构转换为用户端所需求的电压或电流。开关
qwqwqw2088 模拟与混合信号
最后一天!有奖直播|瑞萨电子 R-Car 先进驾驶辅助系统方案
直播时间9月22日(周四)上午10:00-11:30直播主题瑞萨电子R-Car先进驾驶辅助系统方案直播简介瑞萨电子在汽车领域有丰富的产品线,本次直播介绍瑞萨电子针对汽车电子AD(自动驾驶)/ADAS相关R-CarSoC产品线的概况,以及针对前视智能摄像头,中央域控制器等应用的产品信息以及其应用场景。报名直播直播讲师应毅辰汽车电子市场部副经理于2014年加入瑞萨电子汽车部门,负责汽车部门R-CarA
EEWORLD社区 汽车电子
转一篇文章:卷积神经网络CNN完全指南。写的蛮好的。
转自:https://www.toutiao.com/article/71491300338386048341】导论先来说一写题外话...研究生入学后就被导师逼着学习神经网络,一开始非常盲目,先是在网上搜了一大堆的资料,各种什么一文读懂卷积神经纹网络,叫你三分钟搭建属于自己的神经网络框架,五分钟速读神经网络全解,之类的文章层出不穷。看了太多导致的结果是,学了很久都没能真正意义上地入门。而后自己艰辛摸索才慢慢了解了卷积神经网络的真谛。(好官方啊哈哈哈哈哈哈)
freebsder 嵌入式系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved