;测量外部脉冲周期
CLR TR0
MOV TL0,#0
MOV TH0,#0
MOV R0,#100
T00:JNB P_16,T00
T01:JB P_16,T01
SETB TR0
T02:JNB P_16,T02
T03:JB P_16,T03
DJNZ R0,T02 ;然后处理TL0,TH0
偶才学习C51。不知道这个循环怎么编。请教各位大侠
sbit Pulse = P1^0;//假设脉冲入口为P1.0
void main(void)
{
unsigned char i;
TR0=0; //STOP T0
TL0=0x00; //CLEAR
TH0=0x00;
while(Pulse==0);
while(Pulse==1); //等待脉冲的起始
TR0=1; //开始计时
for(i=0;i<100;i++) //累计100个脉冲周期
{
while(Pulse==0);
while(Pulse==1);
}
//处理
}