作业帮 > 综合 > 作业

52单片机T2定时计数器装载计数值是如何计算

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/06/11 06:27:09
52单片机T2定时计数器装载计数值是如何计算
要公式啊,感激不敬.比如12M的晶振,我要1s定时时间该怎么做
跟T1、T0完全一样的.T2也是16位的定时器,你要定时1S,那就是20个50ms循环,也就是定时50mS,T0T1你应该会算吧,一模一样,2^16-(定时时间/机器周期),50ms的常数还是3CB0(当然是16进制的).
下面是我以前程序中的一段.
(以下是初始化中的)
TH2=0x3C;/**T2定时初值,50ms**/
TL2=0xB0;
T2CON=0x00;/**T2工作模式,16位定时器**/
RCAP2H=0x3C;/**T2自动重装值,每次溢出后,自动将设置数值重新装入**/
RCAP2L=0xB0;
ET2=1;/**T2中断允许**/
EA=1;
TR2=1;/**T2启动**/
(以下是中断程序的一部分)
void Timer2(void) interrupt 5/**T2中断响应程序**/
{
TR2=0;/**停止T2计数器**/
TF2=0;/**清除T2中断标志,必须**/
con1s++;/**秒计数器加1**/
if(con1s==20)/**当秒计数器计到20,代表1秒,50ms*20=1秒**/
{
con1s=0;
second++;
.
TR2=1;
}
T2最有意思的地方是,可以自动重装载,不过它的中断标志必须人工清除,与T0T1不同.
后两者是初值必须人工装载,但中断标志可以自动清除,刚好相反.
再问: 还有那个d是什么寄存器,怎么设置,不同模式下是不是T2的时钟频率不同啊,是不是相当于分频器呢。
再答: d是分频用的,这个是STC独有的东西,我用的是AT89S52,没有这个东西。这个也不是在程序里面设置的,跟你烧写软件里面的设置有关系。