A. 51单片机用定时器计时应该如何计算求大神支招
这个其实很简单的,你只需要知道一个条件即可:晶振频率。
因为51单片机的机器周期计算公式是12/晶振频率MHz,若晶振为12MHz,则机器周期就是12/(12×10^6)=1us,也就是说计数器没1us计数一次。
那么有了这个条件就好办多了,一般来说,12MHz晶振下,16位定时器满计数是65536次,每次1us,最大就能计时65.536ms,则65536减去多少就是定时多少,如(65536-X)/256,就是定时X微秒。
那么如果晶振不是12MHz,就要把上述的X乘以12/晶振,得到的值就是定时时长。原理相同。
有不懂的地方随时回复我。
希望我的回答能帮助到你。
B. 51单片机的定时器计时怎样计算
51但单片机的定时,要先计算,然后根据要求编写程序,计算会用到公式:t=Tc×(2L-TC)=12/f×(2L-TC) t是定时时间 Tc是机器周期 fs是晶振频率 L是计数器的长度 对于T0,T1有下面三种方式: 方式0:L=13 方式1:L=16 方式2:L=8 对于T2:L=16 然后剩下的就是按照算出的常数编写程序了,就靠你自己了。。。。
C. 51单片机定时器定时时间t的影响因素有哪些
单片机的定时器,是对系统时钟脉冲进行计数的,因此定时器的最小定时时间,即响应时间,受制于系统时钟频率。
定时器的响应,大都是通过中断例程来实现,因此,运行起来就包括进入退出中断例程的基本耗时,以及用户的应用耗时,都在现实中影响到定时器的最小时间设定。
看见,影响定时器的根本是系统时钟频率,可操作的机会不大,在中断例程中抠点时间吧,主要还是在用户应用目的上,因此,代码效率很重要。
不要什么都放在中断例程中运行,可通过设置标记,让大部分代码在中断例程外运行。
D. 51单片机定时器2的最短定时时间怎么有限制
51单片机定时器,晶振是12MHZ、12分频,理论上最短定时时间1微秒,
但是,CPU 运行指令 需要时间,只要中断服务程序 的运行时间 不超过定时器 定时时间,
并且 有些余量,则就不成问题,如果没有余量,则中断结束 又进入 中断,
如果 超过定时器 定时时间,则来不及 处理 定时也就不准确了。
用 C 语言编程,有可能 定时时间 过短 会有问题,有不好 计算中断用去多少时间。
如果用 汇编语言 编程,晶振是12MHZ、12分频,只是产生一个方波信号,30KHz 频率没有问题。
当然你要检测 准确性 加入计数程序后 会占用时间,
一般编程时, 在中断 服务程序中 尽量少占用时间,能不在中断服务程序中处理的 事尽量 不在
中断服务程序中 处理。
E. 51单片机定时寄存器定时也不到一秒钟,如果想定时1分钟该如何定时,
51单片机定时工作在方式1,是16位计数方式,如果晶振频率是12M,机器周期
是1us,那么最大的定时时间也只有65.536ms,要直接定时1秒是不可能的。但是,可以定时50ms,采用中断方式,每50ms定时到,要中断一次的,在中断程序就对中断计数,中断20次的时间就是50msX20=1000ms=1秒。有了1秒计时,那1分钟就容易了,对1秒再计数啊,60秒就是1分啦。可能你没有写过时钟程序吧,电子钟程序就是这种方法,再计60分为1小时,24小时为一日,依此,可以计年月日呢。这有什么难的。关键是对中断计数,就可以解决长时间定时了。
F. 51单片机T0定时器4种方式的定时时长分别是多少
模式0:8192
模式1:65536
模式2:256(自动重装载模式,波特率发生器必须是这个模式)
模式3:256(该模式用处不大,将定时器分成两个8位定时器)
G. 51单片机长定时怎么做
当晶振频率为12MHZ时,51单片机定时器一次最长定时时间是65.536ms,要想实现长定时,可以多次定时累加,例如,要让实现10S定时,可以让定时器定时50ms,并声明一个变量,专门累计中断次数,定时器每中断一次,该变量加1,当变量值为200时,总定时时间就是10S。
H. 51单片机如何计算定时时间
如果只是计算定时而无需理论根据,可下载一个MCUtool.exe小工具,可很方便地得出。此工具还有其它 如延时时间计算,波特率计算,汉字编码查询等诸多功能 。
I. 51单片机的定时器的时间怎么算
51单片机1个机器周期=12个时钟周期,频率为12MHZ,则一个机器周期为1US,具体到定时器程序就是,假如你想定1MS,那么单片机每次加一个一,就要过1US,那么1MS就要加1000次,所以用65535-1000=64535;再把64535换成16进制为FC17,把FC付给TH0,17给TLO,即可定时1MS,因为65535他就溢出进入中断。