您的位置 首页 制造

怎么了解单片机中的定时器和计数器

如何理解单片机中的定时器和计数器-定时器实际上也是工作在计数方式下,只是计数的是固定周期的脉冲,由于脉冲周期固定,由计数值可以计算时间,有定时功能定时和计数只是触发来源不同(时钟信号和外部脉冲)其他方面是一样的。

  守时器实际上也是计数器,仅仅计数的是固定周期的脉冲守时/计数器很简单了解的啊。

  守时器实际上也是作业在计数方法下,仅仅计数的是固定周期的脉冲,因为脉冲周期固定,由计数值能够核算时刻,有守时功用守时和计数仅仅触发来历不同(时钟信号和外部脉冲)其他方面是相同的。

  单片机里的寄存器能够当作一个个电子开关,用来切换不同的功用、信号。

  51里经过TMOD里的T/C 位切换计数信号的来历

  当T/C作业在守时器时,对振动源12分频的脉冲计数,即每个机器周期计数值加1,计数频率为1/12fosc,当晶振频率6MHZ时,计数频率为500KHz,每2us计数值加1;晶振12MHZ便是每1us加1 了。

  当T/C作业在计数器是,计数脉冲来自外部脉冲输入管脚T0(P3.4)或T1(P3.5),当T0或T1脚上负跳变时计数值加1 ,辨认管脚负跳变需求2个机器周期,即24个振动周期。所以T0或T1脚输入的可计数的外部脉冲的最高频率为1/24fosc,当晶振12MHZ时,最高计数频率为500KHz,高于此频率将计数犯错。

 

  至于赋初值便是杯子原理了,因为51只能加计数,且只能在杯子刚刚满的那一刻宣布中止,触发中止程序,所以咱们就往杯子里先放好必定的豆子,再来相应数量的豆子就满了,然后中止程序就主动作业了。

  留意:

  守时和计数仅仅触发来历不同(时钟信号和外部脉冲)其他方面是相同的。

  假定咱们要守时一守时刻(100个机器周期),咱们就置初值为(溢出值-100)就行了,假定咱们要计件100个,实际上也是置初值为(溢出值-100),然后将输入脉冲设为外部输入就能够了说:守时和计数仅仅触发来历不同(时钟信号和外部脉冲)其他方面是相同的。

  在中止里置初值是为下一个循环作预备,没什么好说的,看需求定了。

  因为守时计数器的值也能够随时读出来,所以咱们也能够从0开端计数,然后核算一段时刻或必定脉冲的数量哦,这是照样能够翻开中止,中止时就阐明现已又计数了(守时器溢出值)个脉冲哦,在中止里进行溢出处理,就能够核算出远远大于(守时器溢出值)的数字了此刻也要留意一点:51读数时除了T/C2的捕捉功用,直接读TH和TL但是不断改变的哦,详细的仍是看书。当你了解了守时计数器后,咱们乃至还能够将计数值置为(溢出值-1),然后完成主动单步(守时形式)或作为外部中止(计数形式)用哦,细心想想吧,呵呵;-)

  至于中止中的需求维护现场的原因,是为了避免不小心修改了其他程序的参数,然后影响其他程序的运转,所以要且只需维护中止程序自己动过的数据,将动过的那些存储器在退出中止时康复到进入时的状况,就不会影响被中止的程序了。

  汇编需求自己保存现场,横竖程序便是自己编的嘛,全部尽在把握中;C的话编译器会主动进行掩盖剖析,主动保存需求保存的变量,一般应用时尽可定心,当然,假如你很了解编译器做了什么,也能够嵌入汇编天马行空自由发挥啊,但新手可不主张这样哦,仍是交给编译器吧。

  其实这些能够说都是基础知识啊,假如不明白肯定是你的书看的不行细心哦。
责任编辑;zl

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/343276.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部