定时器计数器问题

使用定时器T0的方式2对输入的脉冲进行计数,只计50个数所以不必使用T0的中断,因而ET0=0,EA=1,为什么呢?

第1个回答  2012-08-22
既然不用T0的中断了,ET0=0就可以,EA=1大概是有别的中断在使用,所以不能EA=0.
现在这种情况,T0大概是用查询方式了。追问

不使用T0的中断那要使用哪个中断?计数50个与计数多个有什么区别?
程序中就是普通的计数器,并没有应用成中断。
程序中也没有用到查询方式吧?
希望能够得到你的帮助。
#include
void main(void)
{
TMOD=0x06;
EA=1;
ET0=0;
TR0=1;
TH0=0;
TL0=0;
while(1)
P1=TL0;
}

追答

你这个程序里没用中断,也没有用查询,但也没有实现你所需要的计数50的功能,可以做如下的修改。
不使用T0的中断那要使用哪个中断?计数50个与计数多个有什么区别?
程序中就是普通的计数器,并没有应用成中断。
程序中也没有用到查询方式吧?
希望能够得到你的帮助。
#include
void main(void)
{
TMOD=0x06;
TR0=1;
TH0=0;
TL0=0;
while(1)
P1=TL0;
if (TL0=50) TL0=0;
}