定时器2是一个16位定时器/计数器,通过设置特殊功能寄存器T2CON中的C/T2位可将其设置为定时器或是计数器;通过设置T2CON中的工作模式选择位可将定时器2设置为三种工作模式,分别为捕获、自动重新装载(递增或是递减计数)和波特率发生器。

知识点一定时器2的控制寄存器T2CON(可按位寻址)*

D7位--TF2:定时器2溢出标志位。用于请求中断(必须由软件清0)

D6位--EXF2:定时器外部标志位。当外部信号使能时,发生外部负跳变时置位请求中断(必须由软件清0)

D5位--RCLK:接受时钟标志位。默认情况下串行口中模式1和模式3的时钟是由定时器1的溢出率提供,若该位置位,则由定时器2提供。

D4位--TCLK:发送时钟标志位。原理同上

D3位--EXEN2:定时器2的外部使能标志位。定时器2没有作为串行口时钟时,若将该位置位时,将允许T2EX的负跳变产生捕获或重装

D2位--TR2:定时器2启动/停止控制位。

D1位--C/T2:定时器2的定时器/计数器选择位(在reg52头文件中定义为了C_T2,请注意,下面相同)

D0位--CP/RL2:捕获/重装标志位。

知识点二  定时器2的模式控制寄存器T2MOD(不可按位寻址)

该寄存器在单片机的头文件reg2.h中可能没有被定义,自己定义吧!

D1位—T2OE:定时器2输出使能位

D0位—DCEN:向下计数使能位     

知识点三:定时器2的三种模式*

*1、捕获模式*

在"CP/RL2=1"&&"TR2=1"时进入捕获模式。通过对控制寄存器T2CON的外部使能标志位EXEN2的置位和清0,又可以有分为如下两种工作模式:

<1>EXEN2=0:

此时定时器2作为一个16位的定时器/计数器(由定时器/计数器选择位C/T2位选择)使用,实验已通过。

<2>EXEN2=1:

此时定时器在前者的基础上,增加一个特性,即允许接受外部输入T2CON的负跳变,此负跳变使定时器2中的TH2和TL2中的值存入陷阱寄存器RCAP2H和RCAP2L中,并将外部标志位EXF2置位,引起中断。该中断与前者中的中断同时存在并共用同一中断程序(在中断中可检测TF2和T2EX位确定是哪一个引起的中断)。除此之外该模式下,当中断是T2EX位引发的时,虽然引发了中断,但是由于不是溢出,并且计数器没有停止计数,因此,此时TH2和TL2不用重新装载值。

实验证明在此模式下可以实现:用溢出中断输出方波,用线接入T2EX(P1^1),在T2EX的中断中使蜂鸣器响起来,理论和实践一样,蜂鸣器响的频率是方波的两倍(因为它只捕捉负跳变)

2、自动重装模式(递增/递减计数器)*

16位自动重装模式中,定时器2可通过C/T2位配置为定时器/计数器,根据外部使能标志位EXEN2的置位和清0,可分为两种情况:

<1>EXEN2=0时

定时器2为16位自动重装的普通定时器,由陷阱寄存器提供重装的值,只需要预设一下即可,可用于定时精度要求高,定时时间长(16位)的情况。

<2>EXEN2=1时,根据递减计数使能位DCEN的置位和清0可分为两种情况:

A1、T2MOD=0x00(DCEN=0;默认情况);

与上一种情况相比,此时16位自动重新装载可由外部T2EX的负跳变,和溢出任意一种触发,并都能产生中断。

A2、T2MOD=0x01(DCEN=1);

此时允许T2EX控制计数的方向;T2EX=0时,重装的值为0FF和0FF,递减计数与陷阱寄存器预存值相等时,置位TF2产生中断。T2EX=1时;自动重装值为陷阱寄存器中的值,溢出时置位TF2产生中断。

3、波特率发生器模式

T2CON的TCLK和RCLK位为0(默认)时,串行口发送和接受的波特率由定时器1提供;置位为1时,由定时器2提供。可以一个通过定时器1,一个通过定时器2,这样可以获得发送和接受时不同的波特率。

注意的地方: 定时器2作为定时器时,递增频率为晶振频率的12分频,而定时器2作为波特率发生器时,它的递增频率为晶振频率的2分频。

模式1和模式3的波特率=(振荡器频率/32)  *  (65535-N)

定时器2为计数模式时,外部时钟信号由T2(P1^0)引脚进入。

定时器2作为波特率发生器的时候,TH2溢出并不会置位TF2,所以此时可以不用禁止定时器2中断,若是EXEN2位被置位时,可以将T2EX作为附加的外部中断。

定时器2作为波特率发生器的时候,不要对TH2和TL2读写,可以读陷阱寄存器,但是也不要写。当对定时器2的陷阱寄存器进行访问时,应关闭定时器(TR2清0)。

4、可编程时钟输出

52系列单片机,可设定定时器/计数器2通过T2(p1^0)引脚输出时钟。

P1^0除了可以作为普通I/O口外,还可以作为定时器2的外部计数输入和时钟信号输出。

C/T2=0并且T2MOD的T2OE位为1时,可将定时器2选为时钟信号发生器,自动装初值。设置公式:

时钟信号输出频率=(振荡器频率/4)* (65535-N)

在时钟输出模式下,计数器溢出不会产生中断请求。这种功能相当于定时器2可同时作为波特率发生器和时钟发生器。

**因为此时外部中断并没有被暂用,若是在设置上不冲突的话可能同时还可以响应T2EX引入的外部信号,这个只是猜想,还没有用实验证明过,哈哈***

知识点三,单片机对于外来脉冲信号具有计数功能,但是有要求:

计数脉冲的最高频率=振荡器的频率/24

并且为了确保给定电平在电平变化之前能被采样一次,则这个电平至少要维持一个机器周期。

C52单片机定时器2介绍相关推荐

  1. 51单片机入门基础介绍

    51单片机入门基础介绍 文章目录 51单片机入门基础介绍 前言 常用元器件 发光二极管 数码管 LED数码管的显示方式 按键 定时计数器 串行口控制寄存器SCON 中断系统 中断源及中断请求 中断允许 ...

  2. MPU6050开发 -- 在 C52 单片机上测试

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78616706 用了三篇文章,从 MPU6050的初识,相关基本概念,到 I2 ...

  3. 单片机定时器实验两位倒计时秒表_第5章 定时器与数码管基础

    第5章 定时器与数码管基础 通过上节课的实验,大家会发现,我们逐渐进入比较实质性的学习了,需要记住的内容也更多了,个别地方可能会感觉吃力.但是大家不要担心,要有信心.这个跟小孩学走路一样,刚开始走得不 ...

  4. 单片机消抖c语言程序,基于单片机定时器软件消抖C51程序研究

    向兵 杨述凯 摘 要:随着电子技术的发展,单片机的应用在教学及科技开发中越来越普遍,而针对单片机的开发环境而言,大多采用C51语法进行设计.按键的使用在大多数硬件设计里相当频繁,而按键的干扰处理可以使 ...

  5. 51单片机的串行接口介绍

    51单片机的串行接口介绍 串行口结构 设置工作方式(串行口控制寄存器SCON) 设置波特率 51单片机内部集成1~2个可编程通用异步串行通信接口(即UART),采用全双工制式.该通信接口有四种工作方式 ...

  6. 【单片机】C52单片机上用两个以上按键实现流水灯控制

    [单片机]C52单片机上用两个以上按键实现流水灯控制 一.proteus电路图设计 二.程序控制代码 三.结果测试用例 本文主要介绍在C52单片机中断中,如何使用两个以上的外部按键实现流水灯控制! 在 ...

  7. 【单片机】C52单片机之4X4矩阵键盘和数码管联动

    各位读者好,本文主要介绍在C52单片机上如何设计矩阵键盘并与数码管联动. 在你拥有以下条件时,学习效果最佳: 1.开发环境中安装了keil(单片机程序开发工具).proteus(仿真软件) 2.有一定 ...

  8. C51单片机与C52单片机内部的资源区别

    C52单片机可以理解为是C51单片机的增强版 • 两个方面有差异,存储空间和定时器计数器方面有区别○ C52单片机的内部ROM为8KB:C51单片机的内部ROM为4KB○ C52单片机的内部RAM为2 ...

  9. 步进电机-STM32单片机定时器正弦波输出

    前面的文章介绍了单片机控制步进电机四相四拍.四相八拍的方式.用的是持续电平驱动,这种驱动方式电机的噪音大,震动明显,下面介绍正弦波驱动方式,这种方式能很好的解决噪音和震动问题. 首先需要准备下stm3 ...

最新文章

  1. apache日志设置方法:按时间、按大小记录
  2. Sympy含pi等表达式转浮点数形式
  3. 【计算机网络笔记】计算机网络体系与参考模型
  4. SAP Spartacus里的routerLink测试
  5. java类里的包路径报错_[ERROR] 致命错误: 在类路径或引导类路径中找不到程序包 java.lang...
  6. 中小企业 DevOps 从 0 到 1
  7. cookie、session、sessionid 与jsessionid之间的关系
  8. WebGIS开发之用openlayers加载离线百度地图
  9. Atitit m4a文件元数据结构 目录 1. 一、基本概念 1 2. MP4文件由若干称为Atom(或称为box)的数据对象组成, 2 2.1. MP4文件概述 2 2.2. M4A没有视频流而已
  10. CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统
  11. 地图学类毕业论文文献包含哪些?
  12. 《12个工作的基本》读书分享
  13. 大学生必备APP,让你玩出更多花样
  14. 饶天亮到访深圳时空梭,区块链技术与名人明星产业碰撞出新火花
  15. 重磅!中国电信物联网用户超4亿
  16. 有哪些思维导图或其他软件适合画人物关系图?
  17. 国外的FLAG是指什么?
  18. 资源:区块链上的编程所有权
  19. 合理的进度安排--人月
  20. sae php 短信,中国电信翼聊短信PHP发送类实现详细代码

热门文章

  1. 用matplotlib.pyplot实现正态分布函数的图像绘制
  2. AutoCAD Civil 3D-部件-自定义部件、装配、创建曲面(石料场开挖边坡)
  3. Qt/C++编写自定义控件48-面板窗体控件
  4. Salesforce 动态审批
  5. 基于Android平台开发的手电筒Light
  6. 船长的AppFuse2.0学习进程
  7. linux内核学习10.1:Linux内核ARM7架构异常中断向量表
  8. 请领款与签约账户、授权账户
  9. 【毕业设计】深度学习乳腺癌医学图像分类算法研究与实现 - python 卷积神经网络
  10. C语言中字符串相关的拷贝函数