AT89C51单片机 用定时器1,方式0定时1s的C语言程序怎么写

如题所述

#include
<reg52.h>
#define
uint
unsigned
int
#define
uchar
unsigned
char
uchar
flag;
void
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
void
timer0()
interrupt
1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
flag++;
if(flag==20)//当定时到1秒时执行花括号里面的语句
{}
}
这是利用T0计时的,如果是T1只要把TMOD=0x01改成TMOD=0x11;把interrupt
1
改成interrupt
3
即可
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-09
(这是我同学编的,拿来给你)
#include
<reg51.h>
#include
<intrins.h>
unsigned
char
i;
void
main()
{
TMOD=0x00;
TH1=0x3c;
TL1=0xb0;
EA=1;
ET1=1;
TR1=1;
while(1)
{
if(i==20)
{
i=0;
//下面写你要处理的的其他程序,你只要了定时1s。
}
}
}
void
a(void)
interrupt
3
{
unsigned
char
i;
TH1=0x3c;
TL1=0xb0;
i++;
}
大家正在搜