精华内容
下载资源
问答
  • 51系列单片机的集成了两个可编程的定时器/计数器,即定时/计数器01,简称T0T1,有4种工作方式可供选择。单片机内部通过专用寄存器TMOD、TCON来设置定时/计数器工作的参数,例如方式选择、定时计数选择、运行...
  • 定时器计数器

    千次阅读 2016-08-21 21:30:41
    定时器和计数器在计算机系统中,尤其是工业控制系统中有着重要的作用。定时器和计数器的差别仅限于用途不同。定时器从本质上来讲其实就是一个计数器,每收到一个脉冲,计数器就会加/减1,如果脉冲的周期固定,那么...

           定时器和计数器在计算机系统中,尤其是工业控制系统中有着重要的作用。定时器和计数器的差别仅限于用途不同。定时器从本质上来讲其实就是一个计数器,每收到一个脉冲,计数器就会加/减1,如果脉冲的周期固定,那么脉冲数和时间成正比,这样就可以根据脉冲的固定周期将计数器作为计数器使用,比如单片机系统里的晶振产生的脉冲,就是一个脉冲周期固定的脉冲,根据脉冲的数量就可以计算时间;如果脉冲信号是无规律的,那么这个脉冲信号理想状况下可以作为一个计数器。

           1、以减法计数器为核心部件的定时器/计数器

            和大多数人喜欢使用倒计时的方法一样,大多数简单定时器/计数器的核心部件为减法计数器。减法计数器的特点是用一个计数值作为基数,然后每接收到一个脉冲就减1,当计数器的数值为0时就按事先设定的逻辑去触发事件,这就是简单定时器/计数器中断的思路。

           下图就是一个以计数器为核心部件的定时器/计数器的原理图

          预置计数基数通过总线存入预置数锁存器并送去减法器,当gate信号为“1”,时,减法计时器对脉冲信号clk进行减法计数。当减法计数器的值被减到0时,在out输出计数结束或计数时间时间到信号。

          2、以加法计数器为核心部件的定时器/计数器

          加法计数器应用更加广泛,所以在比较复杂的计数器里面一般都会使用加法计数器作为核心部件,简单的像51单片机只有一种加法计数模式,复杂点的像stm32单片机不仅有向计数,还有向下计数,还有双边计数等多种模式,都离不开加法器。下图是以加法计数器为核心部件的定时器/计数器

            为了能用一个计数器产生多个计数结果或者定时时间到信号,这种计数器/定时器通常会配置了多个预置数寄存器,但是多个锁存器中只有一个用来为计数器提供预置计数,而其他的只是对计数器的计数值进行监视,所以这些寄存器通常被叫做配置锁存器(寄存器)。在计数器收到脉冲进行计数的同时,当计数器的值与某个配置锁存器的预置数相等时,会产生一个计数到或者定时时间到的信号。由于有多个配置锁存器所以在计数过程中可能会产生多个时间节点,以使程序在这多个节点上实现多个功能。

           为了使程序可以随时捕获计数器计数过程中的数据,还可以配备若干个捕获寄存器,这些捕获寄存器可以随时捕获计数器在某个时刻的计数值。

           最后贴上一张STM32单片机的比较/捕获1的主电路帮助理解

    展开全文
  • 小时候总想着,自己要是可以...PLC中,定时器和计数器是两个非常主要的编程元件,是PLC程序编制不可或缺的环节。我在之前的文章中简单地扯了一下这两个元件,而现在就是揭秘时刻了,让我们一起来看看它们的庐山真面...
    150b654cec8a062df1f192611bd4d7fa.png

    小时候总想着,自己要是可以控制时间就好了,给时间按下暂停键,然后把班里的那个死对头打一顿哈哈哈哈哈嗝,做梦呢。虽然我不可以控制时间,但是我可以通过定时器控制PLC的程序执行呀,这也是从另一方面实现我控制时间的的梦想了,激动!

    PLC中,定时器和计数器是两个非常主要的编程元件,是PLC程序编制不可或缺的环节。我在之前的文章中简单地扯了一下这两个元件,而现在就是揭秘时刻了,让我们一起来看看它们的庐山真面目吧!

    一、定时器

    说到定时器,其实我们生活中就有很多它的应用,例如洗衣机的定时选择,烤箱的定时旋钮、空调的定时遥控、定时炸弹(这个还是算了)等。当然,还有电工朋友们比较熟悉的时间继电器也算是一种定时器。而PLC的定时器是一种编程元件,其实它就相当于继电控制系统中的时间继电器。为了便于学习PLC的定时器,我们先来了解一下时间继电器。

    3e3533357b4ff9a52d642471fbeff18d.png

    在继电控制电路中,如果要用到时间控制,就必须要用到时间继电器,其实我对时间继电器不熟悉,因为我对继电控制电路的接触本来就不多,但是我说过,我是专门去学习了接触器的,时间继电器和接触器有点类似,只不过接触器不能进行时间控制罢了。

    要驱动接触器的常开、常闭触点动作,就必须给接触器的线圈通电,同样的,在控制电路中,要使时间继电器的各种触点动作,也是需要驱动条件的,即线圈得电。这让我想起了我平时在家打游戏的时候,如果是其他人叫我吃饭,那我肯定是专注游戏,纹丝不动的,但如果是老妈的狮子吼,还管什么游戏,小命要紧,这里的老妈狮子吼就是驱动条件,而我去吃饭就是触点动作,可以说非常形象了。

    161d1840f2f800162ba11bda92ef518d.png

    根据变化的不同,时间继电器有三种类型触点:瞬时动作、通电延时、断电延时。结合时间继电器常开触点动作时序图,我们可以更为直观的看出其触点的动作过程,特别是"通电延时"和"断电延时"。

    通电延时,也就是线圈得电,但触点延时动作,线圈失电,触点马上动作。这就像是我们上课,上课铃响,大家磨磨蹭蹭的挪向教室,但下课铃声一响,大家就跟长跑运动员一样瞬时就不见人影了。断电延时,也就是线圈得电,触点马上动作,线圈失电,触点延时动作。这也像是上课,如果说通电延时是上数学课,那断电延时就是上体育课,上课铃响,大家奔向操场放飞自我,但下课铃响,大家像是七老八十一样慢慢挪回教室。这时的上课铃和下课铃就像线圈的得电与失电,而学生的上课和下课就是触点动作。

    a102f06615333b5c93394c0718c9e997.png

    在PLC中,定时器作用其实和时间继电器相差无几,都是用于对时间的控制,特别是延时控制,且都需要驱动条件,但PLC的定时器只能进行瞬时动作和通电延时的控制,要实现断电延时,就得通过程序编制。我在前面的文章说过,定时器是字(16位)元件,所以可以对时钟脉冲计数并保存数值,也因为它是16位元件,所以定时的时长是有范围的。

    三菱FX2N PLC的定时器分为通用型定时器和积算型定时器。通用型定时器又称非积算定型时器或常规定时器,积算型定时器又称断电保持型定时器。接下来,我们一起看看它们两者有什么不同吧。

    1、通用型定时器T0~T245

    通用型定时器根据计数时钟脉冲不同分为100ms定时器和10ms定时器。

    a79f0bdba6c2ff2cbc03b51c26787bbd.png

    从上图我们也可以看出,定时器的时钟脉冲是由它们的编号区分的,其中T0~T199为时钟脉冲100ms的定时器,共200个;T200~T245为时钟脉冲10ms的定时器,共46个。例如选用T20这个定时器,那就表示选用了时钟脉冲为100ms的定时器,K20表示十进制数的20,所以T20 K20就表示定时器的定时时间为20个脉冲,即20×100=2s。

    5675bc815f45a016092b648f3cde46d9.png

    因为PLC的定时器类似于继电控制电路的时间继电器,所以,在梯形图中,我们把定时器作为线圈处理,如上图所示,定时器的驱动元件为X1触点,当X1触点闭合,定时器T20(线圈)得电,经过定时时间2s后,定时器的常开触点闭合。

    定时器的脉冲数除了可以用十进制数表示外,还可以用数据寄存器D的内容来表示。D就像是一个口袋,里面装着一个数(16位的二进制数),这个数就是计数器的脉冲个数,例如T20 D0,D0里存的数是H10,转换为十进制就是16,这时计数器T20的定时时间就为16×100=1.6s。

    这里要注意的是,当通用计数器的驱动信号断开,此时不管计数器的计时时间是否达到设定值,计数器都会复位,计时清零,直到再次被驱动,才开始重新计时。这也是通用型定时器和断电保持型定时器的区别。

    2、积算型定时器(断电保持型定时器)T246~T255

    顾名思义,断电保持型定时器是指在定时过程中,当驱动信号断开,定时器虽然不能继续计时,但能保持当前计时值,等驱动信号再次恢复,定时器有在原来的计时基础上继续计时,直到累积时间达到设定值,对应触点开始动作。换句话说,就是断电保持型定时器不会自动复位,所以我们想要它复位时,只能用RST指令进行强制复位。

    d32de5a7fac96b9e1e98f8169178527c.png

    积算型定时器按时钟脉冲不同也可以分为两种。显然这个的数量比通用型的少很多,可能是它比较少用吧。

    37649eab75c293fbdebab123177baf39.png

    积算型定时器的工作原理图如上图所示,定时器T250的定时时间为60×100ms=6s,当驱动条件成立,也就是X1接通,定时器T250的线圈得电,开始计时,计到2s时X1断开,虽然定时器的线圈失电,但它的计时依然保持在2s;直到X1再次接通,定时器在2s的基础上继续计时,计到6s后,定时器的常开触点闭合。又因为定时器不会自动复位,所以,就是X1断开,定时器的线圈失电,但它的计时保持在6s,常开触点一直闭合,直到X2触点闭合,RST指令强制复位定时器,定时器的常开触点才会断开。

    总的来说就是,通用型定时器只需一个信号就可以控制线圈和触点的通断。而积算型定时器必须要两个信号加上RST指令才能控制其线圈和触点的通断,真麻烦,怪不得比较少用。

    定时器在梯形图中非常常用,所以在课程中,李老师举了好几个典型的实例,为了节省大家的阅读时间(并不是为了偷懒哦),我就抽其中一个例子吧。

    aa2148e611623fe0214b1e78f2fbf7bc.png

    每一个定时器的定时时间是有限制的,那么,如果我们需要的定时时间超过定时器的最长定时时间,怎么办呢?简单,一个不够,两个来凑。如下图所示,一个定时器最多可以累计32767个时钟脉冲,为了好看,我们就取3万个吧,然后把几个定时器进行接力。这时候,从X0闭合到线圈Y0得电,此间的定时时长就为30000×3×100ms=150min,也就是两个半小时,这也太久了吧。

    682bafadaec399069524c2a32502b96b.png

    定时器的各种玩法,我在这就不一一解说啦,大家感兴趣的,可以去看看李老师的课程,或者自己编程试试,反正是用软件编程,也玩不坏。看清了定时器的真面目,我们继续来"探索"计数器吧。

    252264682c9223ac591291e6c7f840d0.png

    二、计数器

    说到计数器,我本来想在淘宝上找一些计数器的图片,然后发现,刷出来的是算盘哈哈,所以,算盘也算是一种计数器吧,我们日常生活中,需要用到计数器的实例好像不多,但在PLC中,计数器的使用也是非常频繁的。

    596a0e9729e8e67dcf10e19ec9570fae.png

    三菱FX2N PLC的内部计数器分为普通计数器和高速计数器两类,课程只介绍了普通型的,所以我也只学了普通型,至于高速型的,可能以后在其他课程再学习了。

    在继电控制电路中,计数器作为一种仪表在电路中使用。其基本功能是对输入开关量信号进行计数。类似的,PLC中的计数器也是对内部编程元件(X、Y、M、S、T、C)的信号进行计数,当然,这些信号从接通到断开的时长应长过PLC内部的扫描周期。

    就普通计数器而言,PLC内部信号计数器也有两类:16位加计数器和32加/减位计数器。现在,我们就来一一欣赏它们。

    1、16位加计数器

    5b4d1a3cef48b1071717d1b1729cddb6.png

    16位加计数器又叫16位增量计数器,类似于定时器,也分为通用型和断电保持型,共200个。至于到底是通用型还是断电保持型,和定时器一样,也是通过计数器的编号来区分。而且计数器在梯形图中也是作为线圈处理,总而言之,计数器和定时器的工作原理差不多,区别只不过是在于:定时器计一般的是时钟脉冲信号的个数,而计数器计的是编程元件通断信号(触点脉冲信号)的个数。

    aa4002ebaad8a3bd95539bba2c0c2b1a.png

    如上图所示,C0计数器的设定值是K10,也就是说触点X11通断10次,计数器的触点才会动作。类似于定时器,当PLC断电,通用计数器会自动复位,但和定时器不同的是,定时器的驱动信号断开,定时器也会复位,当计数器前的触点断开,如上图的X11,计时器会进行计数,而不是复位。

    其实,16位加计数器和定时器的差别真的不大,所以,这里也不再赘述啦。

    2、32位加/减计数器

    32位加/减计数器又称双向计数器,它可以从0开始增1计数到设定值,也可以由设定值开始减1到0。和16位的一样,32位加/减计数器也有通用型和断电保持型两类,不过个数比较少,可能也是因为它比较少用吧。

    9fbb4b1a2eb06796de881b72bcd4f5fb.png

    和定时器一样,计数器的设定值除了可以用十进制数K来表示外,也可以用数据寄存器D的内容来表示,不过这里要注意的是,16位加计数器的设定值用一个D就可以寄存,而32位加/减计数器就需要两个相邻的D才行,如D0、D1,且D1为高位,D0为低位。因为D也是16位的,要寄存32位的数,也只能用两个D。

    既然32位加/减计数器可以双向计数,那怎样设定它的方向呢?这就要借用特殊辅助继电器M8×××了。怎么借用?别急,我们马上看看到底是什么回事。

    6a30462aaab061a21732cdb0e145080e.png

    如上图所示,该梯形图中用了计数器C200,所以特殊辅助继电器就是M8200。也就是说,特殊辅助继电器的编号要与计数器的编号一一对应,M8后面的编号要和C后面的编号相同。例如你用的计数器是C220,那么对应的特殊辅助继电器就是M8220,依次类推。

    当M8200断开(为OFF)时,C200作加法计数,当M8200接通(为ON)时,C200作减法计数。类似于开车,M8200就像是倒车挡,一旦挂倒挡,踩了油门,车子就后退,退出倒车挡,车子就恢复为前进。

    另外,32位加/减计数器还有不同于16位加计数器的一点是:在16位计数器中,当计数值达到设定值后,触点动作,就算此后信号脉冲依然在增加,计数器的计数值仍然保持在设定值不变,触点状态也保持不变;而在32位加/减计数器中,当计数值达到设定值后,触点动作,如果此后继续有信号脉冲输入,计数器也会继续计数,但触点状态保持不变。

    那32位加/减计数器什么时候触点状态才会再次变化呢?简单,我们还是以上图为例,信号脉冲持续输入,当计数器C200作加法计数达到设定值3后,其常开触点闭合,计数器继续计数3+1+1=5,常开触点保持闭合,此时接通M8200改变计数器的计数方向,计数器开始从5-1-1=3,计数器再次回到设定值3,其常开触点动作从而断开,计数器继续做减1计数,直到达到计数器的阈值或M8200断开。

    关于计数器的编程实例,李老师在课程中也列举了几个例子,可能是我脑子比较笨,我觉得这些例都好难理解啊,所以我还要多看几遍,在这里我就不班门弄斧了,以免被一些大神取笑。

    那么,这次的分享就到这里,各位读者,下次再会,告辞。

    0d81f8c75944f9137430279ffc58d577.png

    选自《三菱FX PLC编程与应用入门》第五章第17~19课时

    技成培训原创,作者:杨思慧,未经授权禁止转载。

    展开全文
  • 小时候总想着,自己要是可以控制时间就... PLC中,定时器和计数器是两个非常主要的编程元件,是PLC程序编制不可或缺的环节。我在之前的文章中简单地扯了一下这两个元件,而现在就是揭秘时刻了,让我们一起来看看它...

      

      小时候总想着,自己要是可以控制时间就好了,给时间按下暂停键,然后把班里的那个死对头打一顿哈哈哈哈哈嗝,做梦呢。虽然我不可以控制时间,但是我可以通过定时器控制PLC的程序执行呀,这也是从另一方面实现我控制时间的的梦想了,激动!

      PLC中,定时器和计数器是两个非常主要的编程元件,是PLC程序编制不可或缺的环节。我在之前的文章中简单地扯了一下这两个元件,而现在就是揭秘时刻了,让我们一起来看看它们的庐山真面目吧!

      一、定时器

      说到定时器,其实我们生活中就有很多它的应用,例如洗衣机的定时选择,烤箱的定时旋钮、空调的定时遥控、定时炸弹(这个还是算了)等。当然,还有电工朋友们比较熟悉的时间继电器也算是一种定时器。而PLC的定时器是一种编程元件,其实它就相当于继电控制系统中的时间继电器。为了便于学习PLC的定时器,我们先来了解一下时间继电器。

      

      在继电控制电路中,如果要用到时间控制,就必须要用到时间继电器,其实我对时间继电器不熟悉,因为我对继电控制电路的接触本来就不多,但是我说过,我是专门去学习了接触器的,时间继电器和接触器有点类似,只不过接触器不能进行时间控制罢了。

      要驱动接触器的常开、常闭触点动作,就必须给接触器的线圈通电,同样的,在控制电路中,要使时间继电器的各种触点动作,也是需要驱动条件的,即线圈得电。这让我想起了我平时在家打游戏的时候,如果是其他人叫我吃饭,那我肯定是专注游戏,纹丝不动的,但如果是老妈的狮子吼,还管什么游戏,小命要紧,这里的老妈狮子吼就是驱动条件,而我去吃饭就是触点动作,可以说非常形象了。

      

      根据变化的不同,时间继电器有三种类型触点:瞬时动作、通电延时、断电延时。结合时间继电器常开触点动作时序图,我们可以更为直观的看出其触点的动作过程,特别是"通电延时"和"断电延时"。

      通电延时,也就是线圈得电,但触点延时动作,线圈失电,触点马上动作。这就像是我们上课,上课铃响,大家磨磨蹭蹭的挪向教室,但下课铃声一响,大家就跟长跑运动员一样瞬时就不见人影了。断电延时,也就是线圈得电,触点马上动作,线圈失电,触点延时动作。这也像是上课,如果说通电延时是上数学课,那断电延时就是上体育课,上课铃响,大家奔向操场放飞自我,但下课铃响,大家像是七老八十一样慢慢挪回教室。这时的上课铃和下课铃就像线圈的得电与失电,而学生的上课和下课就是触点动作。

      

      在PLC中,定时器作用其实和时间继电器相差无几,都是用于对时间的控制,特别是延时控制,且都需要驱动条件,但PLC的定时器只能进行瞬时动作和通电延时的控制,要实现断电延时,就得通过程序编制。我在前面的文章说过,定时器是字(16位)元件,所以可以对时钟脉冲计数并保存数值,也因为它是16位元件,所以定时的时长是有范围的。

      三菱FX2N PLC的定时器分为通用型定时器和积算型定时器。通用型定时器又称非积算定型时器或常规定时器,积算型定时器又称断电保持型定时器。接下来,我们一起看看它们两者有什么不同吧。

      1、通用型定时器T0~T245

      通用型定时器根据计数时钟脉冲不同分为100ms定时器和10ms定时器。

      

      从上图我们也可以看出,定时器的时钟脉冲是由它们的编号区分的,其中T0~T199为时钟脉冲100ms的定时器,共200个;T200~T245为时钟脉冲10ms的定时器,共46个。例如选用T20这个定时器,那就表示选用了时钟脉冲为100ms的定时器,K20表示十进制数的20,所以T20 K20就表示定时器的定时时间为20个脉冲,即20×100=2s。

      

      因为PLC的定时器类似于继电控制电路的时间继电器,所以,在梯形图中,我们把定时器作为线圈处理,如上图所示,定时器的驱动元件为X1触点,当X1触点闭合,定时器T20(线圈)得电,经过定时时间2s后,定时器的常开触点闭合。

      定时器的脉冲数除了可以用十进制数表示外,还可以用数据寄存器D的内容来表示。D就像是一个口袋,里面装着一个数(16位的二进制数),这个数就是计数器的脉冲个数,例如T20 D0,D0里存的数是H10,转换为十进制就是16,这时计数器T20的定时时间就为16×100=。

      这里要注意的是,当通用计数器的驱动信号断开,此时不管计数器的计时时间是否达到设定值,计数器都会复位,计时清零,直到再次被驱动,才开始重新计时。这也是通用型定时器和断电保持型定时器的区别。

      2、积算型定时器(断电保持型定时器)T246~T255

      顾名思义,断电保持型定时器是指在定时过程中,当驱动信号断开,定时器虽然不能继续计时,但能保持当前计时值,等驱动信号再次恢复,定时器有在原来的计时基础上继续计时,直到累积时间达到设定值,对应触点开始动作。换句话说,就是断电保持型定时器不会自动复位,所以我们想要它复位时,只能用RST指令进行强制复位。

      

      积算型定时器按时钟脉冲不同也可以分为两种。显然这个的数量比通用型的少很多,可能是它比较少用吧。

      

      积算型定时器的工作原理图如上图所示,定时器T250的定时时间为60×100ms=6s,当驱动条件成立,也就是X1接通,定时器T250的线圈得电,开始计时,计到2s时X1断开,虽然定时器的线圈失电,但它的计时依然保持在2s;直到X1再次接通,定时器在2s的基础上继续计时,计到6s后,定时器的常开触点闭合。又因为定时器不会自动复位,所以,就是X1断开,定时器的线圈失电,但它的计时保持在6s,常开触点一直闭合,直到X2触点闭合,RST指令强制复位定时器,定时器的常开触点才会断开。

      总的来说就是,通用型定时器只需一个信号就可以控制线圈和触点的通断。而积算型定时器必须要两个信号加上RST指令才能控制其线圈和触点的通断,真麻烦,怪不得比较少用。

      定时器在梯形图中非常常用,所以在课程中,李老师举了好几个典型的实例,为了节省大家的阅读时间(并不是为了偷懒哦),我就抽其中一个例子吧。

      

      每一个定时器的定时时间是有限制的,那么,如果我们需要的定时时间超过定时器的最长定时时间,怎么办呢?简单,一个不够,两个来凑。如下图所示,一个定时器最多可以累计32767个时钟脉冲,为了好看,我们就取3万个吧,然后把几个定时器进行接力。这时候,从X0闭合到线圈Y0得电,此间的定时时长就为30000×3×100ms=150min,也就是两个半小时,这也太久了吧。

      

      定时器的各种玩法,我在这就不一一解说啦,大家感兴趣的,可以去看看李老师的课程,或者自己编程试试,反正是用软件编程,也玩不坏。看清了定时器的真面目,我们继续来"探索"计数器吧。

      

      二、计数器

      说到计数器,我本来想在淘宝上找一些计数器的图片,然后发现,刷出来的是算盘哈哈,所以,算盘也算是一种计数器吧,我们日常生活中,需要用到计数器的实例好像不多,但在PLC中,计数器的使用也是非常频繁的。

      

      三菱FX2N PLC的内部计数器分为普通计数器和高速计数器两类,课程只介绍了普通型的,所以我也只学了普通型,至于高速型的,可能以后在其他课程再学习了。

      在继电控制电路中,计数器作为一种仪表在电路中使用。其基本功能是对输入开关量信号进行计数。类似的,PLC中的计数器也是对内部编程元件(X、Y、M、S、T、C)的信号进行计数,当然,这些信号从接通到断开的时长应长过PLC内部的扫描周期。

      就普通计数器而言,PLC内部信号计数器也有两类:16位加计数器和32加/减位计数器。现在,我们就来一一欣赏它们。

      1、16位加计数器

      

      16位加计数器又叫16位增量计数器,类似于定时器,也分为通用型和断电保持型,共200个。至于到底是通用型还是断电保持型,和定时器一样,也是通过计数器的编号来区分。而且计数器在梯形图中也是作为线圈处理,总而言之,计数器和定时器的工作原理差不多,区别只不过是在于:定时器计一般的是时钟脉冲信号的个数,而计数器计的是编程元件通断信号(触点脉冲信号)的个数。

      

      如上图所示,C0计数器的设定值是K10,也就是说触点X11通断10次,计数器的触点才会动作。类似于定时器,当PLC断电,通用计数器会自动复位,但和定时器不同的是,定时器的驱动信号断开,定时器也会复位,当计数器前的触点断开,如上图的X11,计时器会进行计数,而不是复位。

      其实,16位加计数器和定时器的差别真的不大,所以,这里也不再赘述啦。

      2、32位加/减计数器

      32位加/减计数器又称双向计数器,它可以从0开始增1计数到设定值,也可以由设定值开始减1到0。和16位的一样,32位加/减计数器也有通用型和断电保持型两类,不过个数比较少,可能也是因为它比较少用吧。

      

      和定时器一样,计数器的设定值除了可以用十进制数K来表示外,也可以用数据寄存器D的内容来表示,不过这里要注意的是,16位加计数器的设定值用一个D就可以寄存,而32位加/减计数器就需要两个相邻的D才行,如D0、D1,且D1为高位,D0为低位。因为D也是16位的,要寄存32位的数,也只能用两个D。

      既然32位加/减计数器可以双向计数,那怎样设定它的方向呢?这就要借用特殊辅助继电器M8×××了。怎么借用?别急,我们马上看看到底是什么回事。

      

      如上图所示,该梯形图中用了计数器C200,所以特殊辅助继电器就是M8200。也就是说,特殊辅助继电器的编号要与计数器的编号一一对应,M8后面的编号要和C后面的编号相同。例如你用的计数器是C220,那么对应的特殊辅助继电器就是M8220,依次类推。

      当M8200断开(为OFF)时,C200作加法计数,当M8200接通(为ON)时,C200作减法计数。类似于开车,M8200就像是倒车挡,一旦挂倒挡,踩了油门,车子就后退,退出倒车挡,车子就恢复为前进。

      另外,32位加/减计数器还有不同于16位加计数器的一点是:在16位计数器中,当计数值达到设定值后,触点动作,就算此后信号脉冲依然在增加,计数器的计数值仍然保持在设定值不变,触点状态也保持不变;而在32位加/减计数器中,当计数值达到设定值后,触点动作,如果此后继续有信号脉冲输入,计数器也会继续计数,但触点状态保持不变。

      那32位加/减计数器什么时候触点状态才会再次变化呢?简单,我们还是以上图为例,信号脉冲持续输入,当计数器C200作加法计数达到设定值3后,其常开触点闭合,计数器继续计数3+1+1=5,常开触点保持闭合,此时接通M8200改变计数器的计数方向,计数器开始从5-1-1=3,计数器再次回到设定值3,其常开触点动作从而断开,计数器继续做减1计数,直到达到计数器的阈值或M8200断开。

      关于计数器的编程实例,李老师在课程中也列举了几个例子,可能是我脑子比较笨,我觉得这些例都好难理解啊,所以我还要多看几遍,在这里我就不班门弄斧了,以免被一些大神取笑。

      那么,这次的分享就到这里,各位读者,下次再会,告辞。

      

      选自《三菱FX PLC编程与应用入门》第五章第17~19课时

      技成培训原创,作者:杨思慧,未经授权禁止转载。

    展开全文
  • 【51单片机】定时器/计数器的工作原理结构 回看下单片机中断系统内部结构: 分析内部中断触发: 先看图 TCON:外部中断相比少了IT位设置触发方式 :1跳沿触发 0电平触发);此处我的理解是:就好像 ...

    【51单片机】定时器/计数器的工作原理和结构

    回看下单片机中断系统内部结构:

    在这里插入图片描述
    分析内部中断触发:
    先看图

    在这里插入图片描述
    TCON:和外部中断相比少了IT位设置触发方式 :1跳沿触发 0电平触发;此处我的理解是:就好像是内部刺激来进行触发。比如:中午人饥饿时,胃部的收缩刺激一样。
    TF0:定时器/计数器标志位,使用时给予一个初值超过,当超出终值时溢出,即存储设备的溢出,有模(极限)。当溢出的时候不仅仅是,超出的部分丢失,甚至在终值内未超出的部分,都丢掉啦。类比:喝酒喝吐
    IE:是中端允许寄存器,EA=1,总中断;开EA=0,总中断关;ET0=1,分中断开;ET0=0,分中断关。理解:EA相当于电闸的总闸,ET0相当于电源的分闸。
    PT0:定时器/计数器0优先级选择位,PT0=1,高优先级响应;PT0=0,低优先级响应。就是一个优先级排序的过程。

    我们通常采用以下三种方法来实现定时或计数:

    1. 硬件定时(采用时基电路定时):由硬件电路来实现定时的功能 。
    2. 软件定时占用了CPU的时间,降低了CPU的利用率。例如延时程序。
    3. 可编程定时/计数器:结合了软件定时精确和硬件定时电路独立的特点。

    这次说说其中一种的硬件定时,有关时序:单片机时序是指单片机执行指令时应发出的控制信号的时间序列。从而计算周期,最小的周期:振荡周期,也可以叫做:时钟周期。例子:12MHZ的单片机处理器:一个时钟中期83ns,状态周期2,寻址周期6,机器周期12。n就是乘n倍的意思。
    对于单片机来说,每次溢出的时间都是相同的,这就是定时器的原理。定时/计数器作定时功能可以理解为,对机器周期计数。

    定时器/计数器工作原理:

    1. 计数器的工作模式是外来触发,对外来脉冲进行计数,T0(P3.4)和T1(P3.5)为计数脉冲输入端,等计数输入引脚的脉冲发生负跳变时,计数器加1。(定时/计数器作为计数器时,外部事件脉冲必须从规定的引脚输入。且外部脉冲的最高频率不能超过时钟频率的1/24。)
    2. 定时器的工作模式是内部触发, 通过计数片内脉冲来实现定时功能:每个机器周期产生1个计数脉冲,即每经过1个机器周期的实践,计数器加1。

    定时器/计数器结构:
    在这里插入图片描述十六位,这时候就有人问了:51单片机是8位的,那十六位怎么用哪?没关系,分为低八位和高八位。
    上部分别为T1计数器和T0计数器,底下部分为控制单元。

    说一下TMOD:
    TMOD在内存RAM中位于特殊功能寄存器区的89H处,其高4位用于设置定时器/计数器T1的工作方式,低4位用于设置定时器/计数器T0的工作方式。
    T0和T1的方式字段一模一样,图片如下。
    在这里插入图片描述GATE : 门控位. GATE = 0 启动不受 /INT0或 /INT1的控制;GATE = 1 启动受 /INT0 或 /INT1 的控制。简单说,GATA=0代表关门,没人进来妨碍我。GATA=1有人进来妨碍我。
    C/T : 外部计数器 / 定时器方式选择位C/T = 0 定时方式;C /T = 1 计数方式。
    M1M0: 工作模式选择位(编程可决定四种工作模式)。
    在这里插入图片描述内部中断请求的过程如图所示,上面为计时器的过程,下面为计数器的过程。

    累了兄弟们,下周二在更新下个帖子。如有错误,欢迎交流指正!

    展开全文
  • 在51单片机的学习过程中,我们经常会发现中断、计数器/定时器、串口是学习单片机的难点,对于初学者来说,这几部分的内容很难理解。但是我个人觉得这几部分内容是单片机学习的重点,如果在一个学期的课堂学习或者...
  • 目录 1. S5PV210 PWM模块解析 ...1.3 启动PWM定时器步骤 1.4 PWM波形 1.5 输出电平控制 1.6 死区功能 2. S5PV210 PWM程序设计 2.1 蜂鸣器工作原理 2.2 核心寄存器解析 2.2.1 TCFG0 & TCFG
  • 今天结合救火车单片机实验室编写的小软件《定时器时间计算工具1.0》,来讲述定时器的工作过程。请到http://www.qm999.cn免费下载。我编这个小软件尽可能的模拟了51的定时器结构,相信你用过以后,一定会加深对定时器...
  • 定时器最基本的功能就是定时,比如说定时发送串口数据,定时采集AD数据,如果将定时器和IO结合起来就可以实现非常丰富的功能,可以测量输入信号的脉冲宽度,可以产生PWM方波,定时器产生PWM控制电机状态是工业控制的...
  • 定时器、看门狗RTC

    万次阅读 2016-10-10 23:58:12
    注:本文学习朱有鹏老师课程自己整理而成。方便今后查阅,感谢朱老师~ 什么是定时器(timer) 1.定时器是SoC中常见外设 1、定时器计数器计数器是用来计数的(每隔一个固定时间会计一个数);因为计数器的...
  • 计数器/定时器引言工作原理8253内部结构引脚信号初始化编程及门控信号8253工作方式8253应用产生定时波形LED灯的点亮熄灭计数功能8254拓展功能——读回命令 引言 计算机中的定时功能 DRAM的定时刷新 扬声器发声 ...
  • 在系统中,常常需要对事件进行定时或者计数,定时的方法... 软件定时:比如循环一段延时子程序,但是这种方式不同的机器所产生的延时不一样,而且程序会占用CPU时间。 不可编程的硬件定时:延长时间的长短固定,不...
  • 51单片机定时器

    千次阅读 多人点赞 2018-05-29 21:25:46
    而是存在于单片机内部的一个独立的硬件部分,依赖晶振产生固定的时间间隔,产生了一定量的固定时间间隔后会引发定时器中断(参见:《扯会儿单片机开发:中断》),从而将其产生的时间信息传送给由CPU执行的主程序中...
  • 准备工作 一. 定时器(timer) 1.1 什么是定时器(timer) 定时器是SoC中常见外设 (1)定时器计数器计数器是用来计数的(每隔一个固定时间会计一个数);...定时器可以让SoC在执行主程序的同时,可以
  • (1)定时器计数器计数器是用来计数的(每隔一个固定时间会计一个数);因为计数器的计数时间周期是固定的,因此到了一定时间只要用计数值×计数时间周期,就能得到一个时间段,这个时间段就是我们定的时间(这...
  • 定时器详解

    千次阅读 2020-02-21 13:14:08
    定时器常与计数器扯到一起,计数器也是soc当中的一个内部外设,计数器顾名思义是用来计数的,就我们的秒表一样,秒表实际上就是一个计数器,每隔一个单位走一个格(就是计一个数),因为计数器的计数时间周期是...
  • STM32F1xx官方资料: 《STM32中文参考手册V10》-第14章通用定时器   STM32的定时器 STM32F103ZET6一共有8个定时器,其中分别为: 高级定时器(TIM1、TIM8);通用定时器(TIM2、TIM3、TIM4、... 计数器模式 ...
  • (1)定时器计数器计数器每隔一个固定时间会计一个数;计数值 * 计数时间周期 = 一段时间。这个时间段就是我们定的时间。 (2)定时器/计数器作为SoC的外设,主要用来实现定时执行代码的功能。 ...
  • 什么是定时器(timer)定时器是SoC中常见外设(1)定时器计数器计数器是用来计数的(每隔一个固定时间会计一个数);因为计数器的计数时间周期是固定的,因此到了一定时间只要用计数值 × 计数时间周期,就能得到...
  • 1.什么是定时器(timer)1.1、定时器是SoC中常见外设(1)定时器计数器计数器是用来计数的(每隔一个固定时间会计一个数);因为计数器的计数时间周期是固定的,因此到了一定时间只要用计数值×计数时间周期,就能...
  • (1)定时器计数器计数器是用来计数的(每隔一个固定时间会计一个数);因为计数器的计数时间周期是固定的,因此到了一定时间只要用计数值×计数时间周期,就能得到一个时间段,这个时间段就是我们定的时间(这...
  • 51单片机 中断与定时器

    千次阅读 2020-06-23 11:45:27
    而52单片机51单片机的定时器是一样的,只是52比51多了一个定时器/计数器T2,它们的设置都大同小异 定时器T0与T1不同之处在于它们的工作方式3不同,方式0、1、2相同。 M1 M0 ...
  • 程序计数器是什么(PC)

    万次阅读 2019-08-19 19:45:45
    在学习操作系统的时候很多时候都可以看到程序计数器的身影,但是对于程序计数器的概念一直是模模糊糊,今天算是弄懂了何为PC,遂记录一篇博客。 程序计数器是什么 PC(program counter) 在百度中找到的解释是这样的: ...
  • 文章目录一、调试模块二、定时器模块 ...处于以上原因,单片机公司特别的推出了调试模式,只需要连接相应的调试接口,便可在相应的界面观看数值寄存器值变化的情况,以及可以让程序的几个部分独立的运行,
  • 标准的51单片机有5个中断源:两个外部中断、两个定时器/计数器中断。具体如下: 优先级 中断源 介绍 1st INT0——外部中断0 由P3.2端口引入,低电平或下降沿引起。 2nd INT1——外部中断1 由P3.3端口引入...
  • 定时器详解时钟源计数器定时器周期计算定时器初始化结构体详解程序设置 定时器(Timer)最基本的功能就是定时了,比如定时发送 USART 数据、定时采集 AD数据等等。如果把定时器与 GPIO 结合起来使用的话可以实现非常...
  • s5pv210——定时器理论与操作

    千次阅读 2017-05-17 11:21:44
    (1)定时器计数器计数器每隔一个固定时间会计一个数;计数值 * 计数时间周期 = 一段时间。这个时间段就是我们定的时间。 (2)定时器/计数器作为SoC的外设,主要用来实现定时执行代码的功能。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,775
精华内容 2,310
关键字:

定时器和计数器结合的程序