用C8051F340单片机时器2定时,但是定时时间是可以根据自己的需要改变的,公式是什么啊,定时单位为us

如题所述

TH2=(65535-你定时的时间x(12MHz/单片机频率))/256;
TL2=(65535-你定时的时间x(12MHz/单片机频率))%256;

如果减出来的为负数,则不能完成该定时,需要定时多次来累积时间追问

我用的是系统时钟48MHZ,时钟周期与机器周期相等的,也是这样计算吗

追答

如果时钟周期和机器周期相等就肯定不是这样了,因为我上面的式子是按机器周期为时钟周期的12倍计算(大部分51单片机都这样),另外还要注意下你的定时器为机器周期的几分频,有寄存器可以设置的,是几分频就把12MHZ的12改成几。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-26
很简单啊 当你需要改变定时值的时候 只要写一个子函数 给定时器初始值重新赋值即可了。时间的算法:如12M晶振 那面1个机器周期是1/12所以1us=12个机器周期 固5uS= 5*12
相似回答