刚才写了半天提交不成功白写了。
#include "reg51.h"
uint Time[2][2],T65mS;
uchar N;
ulong Tlong[2];
//timer init
void initTimer(void)
{
TMOD=0x1;
TH0=0x0;
TL0=0x1;
}
//timer0/counter0 interrupt
void timer0(void) interrupt 1
{
//add your code here.
T65mS++;
}
//int0 interrupt 65毫秒乘以65536约等于4000秒,肯定够你用了
void int0(void) interrupt 0
{
//add your code here
Time[N][1]=T65mS;
Time[N][0]=T0;
Tlong=Time[N][1];
Tlong<<=16;
Tlong+=Time[N][0];
}
//the main fun
void main(void)
{
ulong tttt,ffff;
IT0=1; //INT0下降沿中断
EX0=1; //允许INT1中断
initTimer();
TR0=1;
ET0=1;
EA=1;
tttt=Tlong[N]-Tlong[n^1];// 周期
ffff=60*1000*10/tttt;// 1分钟算成600000个0.1微秒,除以周期tttt微秒,得到1分钟有多少个脉冲。多乘个10是保留1位小数。
}