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

如题

(这是我同学编的,拿来给你)
#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++;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-27
#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 即可