美文网首页
stc-51定时器

stc-51定时器

作者: 三文五略 | 来源:发表于2019-01-01 18:10 被阅读0次

一,什么是定时器

      1.1  时钟周期:时钟周期T是时序中最小的时间单位,具体的计算方法就是1/时钟源频率,我们通常用的晶振为11.0592M,那么对应的时钟周期就为 = 1/11059200秒。

      1.2 机械周期:我们单片机完成一个操作的最短时间就是一个机械周期,机械周期主要是针对汇编语言而言的,在汇编语言下程序的每一条语句都是机械周期的整数倍,而且语句执行所用的时间都是可以计算出来的,而c语言一条语句的时间是不确定的,受到诸多因素的影响。51单片机系列,在其标准架构下一个机械周期,是12个时钟周期,也就是12/11059200秒。当然还有很多列外,随着科技的发展,现在也不缺乏很多增强型的51单片机,其速度都比较块,有的1个机械周期等于4个时钟周期。

二,定时器的寄存器

        2.1 标准的51单片机内部都有T0和T1这俩个定时器,T就是Timer的缩写,现在也有很多51系列的单片机还会增加额外的定时器,在这里,我们先讨论一下T0 和T1俩个定时器。

        2.2大家可能大都了解过,对于单片机的每一个功能模块,都是由它的SFR(特殊功能寄存器)来控制的,与定时器有关的特殊功能寄存器有一下几个,我们用的时候直接来参考就可以了(具体的,还是参考相关资料更全面):



在这里,我们只需要注意注意到表中,TF0和TF1(溢出标志位)还有TR0 和TR1(使能标志位)

    2.3溢出

       所谓的溢出,就像我们用杯子装水一样,水装满了肯定就溢出来了的道理是一样的。定时器中的溢出,就是定时器计数位(5-1)达到了最大值后的一种表现。在这里,定时器每隔一个机器周期时间(12/110592)加1.

在51单片机中,定时器一般有俩个计数位,TL和TH,分别是低位和高位。当我们把定时器配置为一个16位定时器时,就是TL和TH一起组合成一个16位定时器(65536)。当TL溢出时(加到255最大值时溢出),硬件自动清理TL,TH自动加1.当TH加到255,TL加到255时,此时产生一个中断溢出,即产生一次中断,TF置1,由图5-3可知有软件和硬件俩种清零方式。

三,定时器的使用

       3.1 ,我们在对定时器的相关寄存器进行简单的了解后,在使用定时器时,就只需要根据自己想要实现的功能来配置相关的寄存器就可以啦。

       3.2,在这里我们需要注意的是,在配置寄存器时,得弄清楚哪些寄存器是可位寻址,哪些是不可位寻址。比如比我们的TCON寄存器就是一个可位寻址(可以把它里面的位单独拿出来操作),不可位寻址:比如我们的TOMD寄存器就是一个不可位寻址(只能操作整个寄存器,不可以单独操作里面的某一位)。

       3.3 ,接下来就是定时器的使用啦,我们都知道定时器有一个定时功能,那么怎么去使用呢?在这里,我们可以利用定时器来计数,即使用它的TL或TH来帮助我们进行计数(因为TL是每1个机械周期自加1的)。我们也可以利用定时器中断来执行某些操作,比如你想每隔1ms刷新一次数码管,每2s闪烁一次led等。

       3.4,定时器的配置: 

                    TMOD = 0x01;

                     TH0 = 0xfc;

                     TL0 = 0x67;

                      ET0 = 1;//使能T0中断

                      TR0 = 1;

 这里需要注意的是,我们使用哪一个定时器,就配置哪一个定时器,上面是是用脑定时器TO,你也可以使用T1;要根据自己的需求,使用相关 的配置。

         3.5定时器中断函数,我们在需要使用定时器中断时,需要编写定时器中断函数;函数名可以按照自己的规范来,但函数小括号后面必须加intrrupt 0;这里,单词后面的数字代表的是你使用的是哪一个中断。中断函数所对应的数值,在单片机的详细资料里面有写。


您给出的意见,是大家成长的粮食。谢谢!!

生前何图享受?死后必定长安!

相关文章

  • stc-51定时器

    一,什么是定时器 1.1 时钟周期:时钟周期T是时序中最小的时间单位,具体的计算方法就是1/时钟源频率,我们...

  • 2017.12.21学习总结

    下午学习了定时器,定时器分为高级定时器、通用定时器和基本定时器,我们主要研究通用定时器。 定时器中断实现步骤:...

  • javascript笔记6

    定时器-间歇性定时器 定时器-延时定时器 认识DOM 间歇性定时器var time = window.setInt...

  • 定时器弹框、定时器基本用法、定时器动画、时钟

    定时器弹框: 定时器基本用法: 定时器动画: 时钟:

  • 无标题文章

    iOS NSTimer使用详解-开启、关闭、移除 定时器定时器详解ios定时器关闭定时器NSTimer 1、要使用...

  • 定时器

    1.倒计定时器(setTimeout) clearTimeout清除定时器2.循环定时器(setInterval)...

  • 第十三节 JavaScript 定时器 单线程

    一、定时器 1. JS存在两种定时器 setTimeout() 延迟定时器 setInterval() ...

  • 定时器 - OC

    定时器的定义 创建一个定时器并启动这个定时器 停止定时器 后续了解:NSTimer invalidate不起作用h...

  • 定时器 类型转换 封闭函数

    定时器定时器在javascript中的作用1、制作动画2、异步操作3、函数缓冲与节流 定时器类型及语法 /*定时器...

  • STM32--------定时器

    STM32F103一共有11个定时器,其中: 2个高级定时器 4个普通定时器 2个基本定时器 2个看门狗定时器 1...

网友评论

      本文标题:stc-51定时器

      本文链接:https://www.haomeiwen.com/subject/czhnlqtx.html