51教程(5)-定时器及其寄存器介绍

发布者:eta17最新更新时间:2022-04-21 来源: eefocus关键字:定时器  寄存器 手机看文章 扫描二维码
随时随地手机看文章

定时器是什么


什么时间做什么事,是微控制器处理的基本原则,时间分为绝对时间和相对时间,一般做单片机开发都是使用相对时间,就是上一句执行完成后的多长时间执行下一句,而负责管理和统计时长的内部结构就叫做定时/计数器。


02


定时器的应用


当一个程序执行过程中,经常会用到一定量时间的延时,例如超声波传感器,需要一个触发电平开始工作,而这个电平需要持续一段时间,否则判为误触,这时候就需要延时,精确的延时需要用到硬件延时,就会用到定时/计数器。


03


定时器的工作参数


工作模式:主时钟为12Mhz,对主时钟进行12分频,使得12Mhz的频率降到1Mhz每次计数时长为1μs,这是定时器的时间基。


模式0:计数器由长度为13位的二进制寄存器组成,最大计数时长为8912μs,向上计数溢出中断。


模式1:计数器由长度为16位的二进制寄存器组成,最大计数时长为65535μs,向上计数溢出中断。


模式2:计数器由长度为8位的二进制寄存器组成,最大计数时长为256μs,向上计数溢出中断,有自动重装载机制。


模式3:计数器由长度为8位的二进制寄存器组成,最大计数时长为256μs,向上计数溢出中断,将计数器分成两个计数器扩充资源。


04


相关函数的编写


void Tx-init() //x代表定时器序号由自己需要配置。


{undefined


TMOD=0X--; //模式配置


THx=0X--;    


TLx=0X--;    //预置数配置


EA=1;    //中断总开关


ETx=1;    //定时器中断使能


TRx=1;    //启动定时器


}


Void name() interrupt 中断号 using n


{undefined


  中断服务;


}


Name可自定义,但是新手建议使用中断名进行命名,防止记混中断号造成编写错误,中断号分别为:INT0-0 T0-1 INT1-2 T1-3,using n 是指定工作寄存器区域用的,省略及默认分配,新手可省略。


05


定时器相关寄存器的介绍


TMOD (89H)


从低位开始


BIT0-1(低两位)为T0模式选择00方式零01方式一以此类推。


BIT2-c/t T0的定时器/计数器方式选择,主要是选择输入计数源是内部时钟还是外部引脚输入的信号。


BIT3 T0的GATE位,控制计数是仅由TRx控制还是和INTx有关,换句话说是否多一个外部开关。


BIT4-7 和BIT0-3一样不过控制是T1的。


TMOD


THx和TLx


为计数的自加8位寄存器,初始化时可进行提前预置数,控制计数次数,在模式二中高位存储着自动装载的值,低位进行计数,记满后高8位的值赋给低8位,方式三时T0分为两个计数器,低8位由TR0控制可设置GATE,高8位由TR1控制,没有GATE。


—— E N D ——


关键字:定时器  寄存器 引用地址:51教程(5)-定时器及其寄存器介绍

上一篇:C51单片机学习思维导图
下一篇:51教程(3)-I/O控制代码分析

推荐阅读最新更新时间:2024-11-16 21:01

一个X25045的C51读写程序
  * x25045的读写程序 用c51写的 */   #define CS P2.7 /*单片机p2.7为片选 可以改为你的实际引脚 */   #define SO P2.6 /*数据输出 */   #define SK P2.5 /* 时钟 */   #define SI P2.4 /* 数据输入*/   /* here is the instrution of x25045*/   #define WREN 0x06   #define WRDI 0x04   #define RDSR 0x05   #define W RS R 0x01   #define READ0 0x03   #define READ1 0x0b
[单片机]
一个X25045的C<font color='red'>51</font>读写程序
基于厨房定时器的设计应用过程
厨房 定时器 设计用于倒计时设置的时间,并在倒计时信号结束时发出初步和结束的声音信号。时间由增量编码器设置。时间显示在带有OA的2位7段显示器上。计时器由3节AA电池供电,总电源电压为4.5V。在不工作时, 定时器 处于睡眠模式,仅消耗几微安。在运行中,根据设置的亮度和点亮的部分,它大约消耗2-10 mA的电流。 菜单: -通过编码器设置安装步骤/计时:1秒-1分钟。 -显示亮度设置:10秒后自动变暗,手动模式从1到30。 -设置第一个前置声音信号:关。/从1分钟起。长达9分钟。 -设置倒数结束时的信号数:关。/从1到99。 -设置声音的频率。信号:1至4 kHz(可选)。 -设置不活动时自动关闭之前的时间:10到99秒。 -将所
[嵌入式]
基于厨房<font color='red'>定时器</font>的设计应用过程
基于AT89C2051单片机的六位数显多路定时电子钟
这里介绍的电子钟,电路可称得上极简,它仅使用单片的20引脚单片机完成电子钟的全部功能,而笔者见到的其它设计方案均采用二片以上的多片IC实现。 一片20引脚的单片机STC2032(引脚排列与AT89C2051完全相同)为电子钟主体,其显示笔画数据从P1口分时输出,P3口则输出对应的六位选通信号。由于LED数码管点亮时耗电较大,故不能使用AT89C2051单片来完成,但是可以可以用STC89C2032来完成。另外,本站制作时用超高亮的发光二极管代替昂贵的大数码管,成本低,效果独特。 本电子钟设计有三个轻触式按键,这里我们分别命名为:模式设定键K1、加调整键K2、减调整键K3。由于STC89C2032内部已经集成有复位电阻,所以,复
[单片机]
基于AT89C20<font color='red'>51</font>单片机的六位数显多路定时电子钟
STM32L051上使用RT-Th (二、CubeMX配置)
前言 上篇文章我们仅仅是开了个头,使用 RT-Thread Studio 新建了一个基于 STM32L051 的 RT-Thread Nano 工程,本文我们就在在这个工程的基础上使用 STM32CubeMX 做STM32的基本配置。 ❤️ 本 RT-Thread 专栏记录的开发环境: RT-Thread记录(一、RT-Thread 版本、RT-Thread Studio开发环境 及 配合CubeMX开发快速上手) RT-Thread记录(二、RT-Thread内核启动流程 — 启动文件和源码分析) ❤️ RT-Thread 内核篇系列博文链接: RT-Thread记录(三、RT-Thread 线程操作函数及线程管理与 FreeR
[单片机]
STM32L0<font color='red'>51</font>上使用RT-Th (二、CubeMX配置)
51单片机一个输出口显示多位输出
电路图 #include reg51.h sbit LE0=P3^0; sbit LE1=P3^1; sbit LE2=P3^2; sbit LE3=P3^3; int i,j,k; int xx ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void yanchi(int ms) { while(ms--) { for(i=0;i 100;i++); } } void main() { while(1) { for(j=0;j 10000;j++) { P2=xx ;//千 LE
[单片机]
<font color='red'>51</font>单片机一个输出口显示多位输出
低电压放大器AD8517
1 AD8517的主要特点 AD8517是AD公司生产的低电压放大器,它可在低至1.8V的电源电压下工作,由于它能在大多数普通电池的放电电压终止的情况下工作,所以这种放大器对于那些用电池供电的应用场合是很理想的。 AD8517在电源电压低于1.8V的情况下具有非凡的轨至轨输入和输出特性,在放大器的电源范围定到1.8V时,如果把共模电压定到1.8Vp-p,就能使输出摆到电源的上下轨迹上而不会出现削波现象。 AD8517可以在给定的从1.8V到5V的全部电源电压范围内获得良好的轨至轨特性。AD8517低电压放大器还具有很低的总谐波失真,这使得该放大器在音频应用方面也很理想。在同相组态下,当增益为1时,对于Vs 3V的情况,
[半导体设计/制造]
基于51单片机仿真器的设计
1 概 述   SST89C54/58(简称89C54/58)是美国SST公司推出的多用途51系列单片机,片内集成了20 kB/36 kB的SuperFlashE''PROM程序存储器,分为BLOCK0(16kB/32kB)和BLOCKl(4kB)两块。其中,BLOCKl可以映射(Mapping)到64kB存储空间的最高端或最低端,而且,对于程序计数器来说可以是不可见的。由于其存储结构上独特的优点,使得89C54/58非常适合于用做单片机仿真器。 2 SST89C54/58的程序存储结构 2.1 存储器结构   89C54/58片内的存储块BLOCK0占据从0000H到3FFFH/7FFFH的存储空间,BLOCKl占据从F
[单片机]
基于<font color='red'>51</font>单片机仿真器的设计
51单片机T0做精确时钟
用T0做精确时钟,为了做到尽量精确,必须减少中断的次数,所以选择使用方式1,它最多可以计数65536次。但是,方式1中断后需要重新给定时器赋初值,这样就要耽误几个机器周期,很难保证时钟的精确。 有两个方法可以解决这个问题。 第一个方法:你可以计算出中断处理时重新给定时器赋初值所用的机器周期数,在你计算出的初值里除去这几个机器周期,作为补偿。这个方法,只是在每次定时器中断后,都可以按时得到执行时很精确,但事实上中断什么时候执行谁都说不准,所以这个方法,只能做到尽量精确。 第二个方法:计算出一个凑巧的初值,使TL0正好等于0x00,这样每次中断溢出后,TL0都从0x00开始计数,即使中断没有得到执行,TL0也会继续计数。利用这一点,
[单片机]

推荐帖子

国际化RFID常用协议标准
射频标签的通信标准是标签芯片设计的依据,目前国际上与RFID相关的通信标准主要有:ISO/IEC18000标准(包括7个部分,涉及125KHz,13.56MHz,433MHz,860-960MHz,2.45GHz等频段),ISO11785(低频),ISO/IEC14443标准(13.56MHz),ISO/IEC15693标准(13.56MHz),EPC标准(包括Class0,Class1和GEN2等三种协议,涉及HF和UHF两种频段),DSRC标准(欧洲ETC标准,含5.
火辣西米秀 RF/无线
红外温度传感器近红外和远红外工作频率的特性
 红外温度传感器是一种广泛应用于工业、医疗、环境监测等领域的传感器。它能够测量物体表面的温度,并通过红外辐射来实现非接触式测温。而红外温度传感器的工作频率对于其测温精度和应用范围有着重要影响。 工作频率是指传感器所使用的红外辐射的波长范围。不同波长的红外辐射在物体表面的吸收和反射特性不同,因此选择合适的工作频率对于准确测量温度非常关键。 常见的红外温度传感器工作频率有两种:近红外和远红外。近红外通常指的是波长范围在0.75-3微米之间的红外辐射,而远红外则指的是波长范
小红花888 分立器件
直流电流检测
本帖最后由paulhyde于2014-9-1508:53编辑问一下,电路中直流检测有哪几种,采样电阻差动运放的pass,想用霍尔的,不过网上怎么清一色都是UGN-3501M,各位朋友你们说说你们怎么做的啊~直流电流检测本帖最后由paulhyde于2014-9-1508:53编辑采样电阻差动运放为什么PASS呢?本帖最后由paulhyde于2014-9-1508:53编辑采样电阻是最常用的啊本帖最后由paulhyde于
asd89757 电子竞赛
【分享】如何由51快速转到MSP430的学习过程
作为想学MSP430单片机的初学者,或者,你是刚转到电子硬件嵌入式开发,如果你的电子基础课程已经完成,想尽快掌握MSP430单片机,又纠结于怎样尽快闯入MSP430学习过程的问题,现总结整理出新手开始学习MSP430的一些问题,和学习中有关注意事项和方法。供有心学习MSP430单片机的童鞋参考吧。当然,闯入MSP430学习,你需要有一些单片机的理论基础,和比较强的C语言功底,学习MSP430单片机最好的方法是文武并进:“文”指学好片内模块的资源知识;“武”则指动手能能力。基础知
在路上的旁观者 微控制器 MCU
【STEVAL-WESU1】第一周 开箱
#1.计划第一周:开箱;第二周:基础功能测试;第三周:体验一周,写体验感受;第四周:针对传感器进行二次开发;第五周:二次开发和优化;第六周:根据二次开发后的内容,制作手机端应用程序。第七和八周:开发体验和心得#2.传感器介绍STEVAL-WESU1是一款经过开发和优化的参考设计,旨在帮助设计人员在可穿戴和便携式应用中实施最新技术。硬件的小外形尺寸使其可以封装在表带中,因此用户可以体验真正的活动监测系统并立即开始欣赏传感器数据采集以及所有嵌入式硬件和固件功能,也感谢
许大锤 测评中心专版
这边设计的反激式开关电源,在输出端带满载的时候,下电后会出现回闪问题
上述是电源主要电路,使用的UC2844芯片搭建的。就是+5V电压输出带满载的时候,下电后会出现一个脉冲,其余输出绕组也受这个影响存在这种复电。然后测试了UC2844芯片的VCC引脚供电电压波形和直流母线电压P波形,发现VCC在下电后不是一直下降,而是有一个类似回冲的电压波形,正好出现时间和输出电压复电脉冲一致。这是什么原因导致的呢?这边设计的反激式开关电源,在输出端带满载的时候,下电后会出现回闪问题在模拟版面你发过相同内容的一帖。在那帖的22楼我问你:你
西里古1992 开关电源学习小组
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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