剪了一段程序你试试吧:
#include
#define uint unsigned int
#define uchar unsigned char
#define u_s 50000//12MHz晶振
sbit LED=P1^0; //LED出端
uchar count,second=0; //标志变量
/***************************************************
定时器0中断子函数
12T芯片,12MHz晶体,定时50MS
***************************************************/
void clock_T0(void) interrupt 1
{
TH0=(65536-u_s)/256;
TL0=(65536-u_s)%256;
if(count++==20) //1S
{
count=0; //次数归0
second++; //秒标志加1
if(second==3)
{
second=0; //60S后秒标志归0
LED=~LED;
}
}
}
main()
{
IE=0x8a; //开启总中断允许定时器0/1响应中断
TMOD=0x11; //设置定时器0/1的工作于Mode1模式计数满值65536
TH0=(65536-u_s)/256; //计数器高8位填值
TL0=(65536-u_s)%256; //计数器高8位填值
while(1)
{
TR0=1;
}
}