请问这段单片机计数器时间是多少?

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:42:05
void timer0() interrupt 1
{
TMOD=0x01;
TH0=0x29;
TL0=0x27;//(65535-15035)=55000次,单片机crystal=33MHz
//所以计数时间=55000*12/(33M)=0.2s
count++;
if(count==300)//0.2s*5=1s//秒++
{
count=0;
sec++;
jishi();
}

}

void jishi()
{
if(sec==60)
{
sec=0;
min++;
if(min==60)
{
min=0;
hour++;
if(hour==24)
{
hour=0;
day++;
week++;
if(week==8)
{
week=0;
}
if(year%4==0&&year%100!=0||year%400==0)
{
if(day==table1[mon]+1)
{
day=0;
mon++;
if(mon==13)
{
mon=0;
year++;
}
}
}
else
{
if(day==table2[mon]+1)
{
day=0;

void timer0() interrupt 1
{
TMOD=0x01; /////这句我建意你不要写在这里,初始化时赋值就行了,每次在这
//里赋值只会消耗CPU时间;
TH0=0x29;
TL0=0x27;//(65535-10535)=55000次,单片机crystal=33MHz
//所以计数时间=55000*12/(33M)=0.2s
//你的机器周期应该是0.3636us,55000次应该是19.998ms

if(++count>49)//
{
count=0;
sec++;
jishi();
}

}