希望我的程序能对大家的实验起到帮助,下面我们就来说一说关于单片机延时1秒计算公式?我们一起去了解并探讨一下这个问题吧!

单片机延时1秒计算公式(15单片机延时1s的计算方法)

单片机延时1秒计算公式

用c语言写1s延时方法——定时器查询方式

希望我的程序能对大家的实验起到帮助。

//*************定时器查询方式12MHz 1s延时

void DELAY(void)

{

unit i=0;

TMOD=0X00;//设置为定时器1(T1)工作于方式0

TH1=0X3C;//高4位

TL1=0XB0;//低4位

TR1=1;//启动定时器

while(i<20)

{

if(TF1==1)//查询T1溢出标志

{

TF1=0;

i ;

}

}

}

TMOD=0X00首先设置为定时器1(T1)工作于方式0

定时时间:t=(2^(16)-定时器的初始值)*系统时钟周期*12^(1-T1x12)

即当T1x12=0时系统为12分频计数脉冲周期系统时钟周期的12倍(12MHz时1个计数脉冲周期时间为t=1us)

当设置定时时间为50ms时:定时器的初始值T=2^(16)-50*(10^3)=15536。15536转换为16进制后为3CB0(h).设置定时器的初始值的方法TH1为高4位(TH1=0X3C),TL1为低4位(TL1=0XB0)。

每当定时器的值从15536(定时器的初始值)加到65536( 2^(16) )时会溢出,这时TF1=1,然后定时器从15536重新开始加。

while(i<20):while循环让定时器循环20次,每次循环时间为50ms,即定时时间为t=50*20=1000ms=1s.

15单片机定时器实验——查询方式

,