单片机计数器计算,单片机计数器计算方法
大家好,今天小编关注到一个比较有意思的话题,就是关于单片机计数器计算的问题,于是小编就整理了5个相关介绍单片机计数器计算的解答,让我们一起看看吧。
- 单片机计数值怎么算?
- 单片机工作主频12MHz,定时器计数器T0工作方式1,计算定时10ms的初值是多少?
- 单片机定时计数器最大定时时间怎么算?
- 单片机中定时计数器的TH0和TL0的值如何计算?
- 单片机的计数器,每计数一次是多少时间?
单片机计数值怎么算?
一般最直接的想法就是,指定一个计时值x,然后从0开始累加计数,计数到x表示时间到,可以处理事务了。这种处理方法,需要一个数值比较器,每计一次数,就比较一下。这对单片机或者说硬件电路来讲,一个8位计数器就需要包含一个8位数值比较器,实在不够简便。
第二种想法,是指定一个计时值x,然后进行减计数,减计数到0表示时间到。这也要一个比较器,只不过是个0值比较器,硬件电路上比上一种要简单一些,但减计数器还是不常用。我们知道累加器才是最简便的硬件电路之一。
单片机工作主频12MHz,定时器计数器T0工作方式1,计算定时10ms的初值是多少?
(2^16—计数初值)╳1/(12╳10^6)╳12=10Ms=10*10^(-3)S
计数初值=2^16—10^4=55536=D8F0H
TH0=D8
TL0=F0
单片机定时计数器最大定时时间怎么算?
单片机定时计数器最大定时时间取决于所用时钟周期T和定时器位长,比如T=10mS,定时器位长8位(也就是数字最大设置为255),每个时钟到来时,定时计数器***用减1操作,那么定时计数器最大定时时间为:255X10=2550毫秒
单片机中定时计数器的TH0和TL0的值如何计算?
单片机在不同的工作方式下,计数器的位数不同,因而最大计数值也不同。现在设最大计数值为M,那么在各方式下的M值如下;
方式0:M=2^13=8192
方式1:M=2^16=65536
方式2:M=2^8=256
方式3:定时器0分为两个8为定时器,所以两个M均为256.
因为定时器是做加1计数,并在计满溢出时产生中断,因此初值X可以这样计算:
X=M-计数值
现在举例说明定时处置的计算方法,若80C51主频为6MHz,要求产生1ms的定时,计算初值。
在6MHz的主频下,计数器每加1所需的时间是2uS。若果要产生1ms的计时就需要“加1” 500次。那么500即为计数值,如果要求在方式1下工作,则计数初值X=M-计数值=65536-500=65036=FE0CH
单片机的计数器,每计数一次是多少时间?
定时器/计数器本质上都是计数器,只不过数的东西不一样.
定时器/计数器做为定时器来用的时候,是数的单片机时钟的脉冲个数,也就是说,单片机的时钟做为定时器/计数器的时钟源,因为单片机的时钟一般比较固定,因此,我们就知道一个脉冲占多长时间,因为根据脉冲的个数,就能推算出时间,就能做定时器用.
比如:12MHz的传统51单片机,一个脉冲周期是1us,如果定时器数了10个脉冲周期就中断了,说明10us时间到了.
而作为计数器的时候,数的是来自引脚上的脉冲,也就是说,是引脚上的脉冲做为定时器/计数器的时钟源,如果这个脉冲是规律的,周期是固定的,那么,也可以实现定时,比如,如果引脚的脉冲是10KHz的,那么,一个脉冲周期是100us,如果定时器/计数器数了10个脉冲周期就中断,说明1ms时间到了.
但是,如果引脚上的脉冲频率不固定,时高时低,那么,就没办法根据脉冲个数算出时间来,此时,就只是单纯的计数功能.
总而言之,定时器/计数器本质都是对脉冲计数,只是作为定时器,数的是内部的脉冲,做为计数器,数的是外部的脉冲,如果脉冲固定,外部脉冲也可以用来定时.赞同0|评论
到此,以上就是小编对于单片机计数器计算的问题就介绍到这了,希望介绍关于单片机计数器计算的5点解答对大家有用。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.onosokkii.com/post/14277.html