当外部中断0按下后,cw0=1这时如果按键再一次按下去之前来了脉冲(外部中断1)那么将cw0=0
你说的外部中断1不能触发是不正确的。因为外部中断1不触发的话意味着cw0为高电平。 但实际仿真不是这样的
你把你Q告诉我 我们一起探讨
在主函数里void main()
{
TMOD=0x01//设置T0计时器为工作方式一
TL0=(65536-50000)%256//50000为50mS
TH0=(65536-50000)/256
EA=1//打开总中断开关
ET0=1//打开定时器0的开关
TR0=1启动定时器,从此以后,50mS一到,定时器就让CPU执行下面的语句(这是CPU可能在干别的是,可能什么也没干)
if(i==20)//定时为20*50=1000MS=1S
{......}
}
..........
...........
void time() interrupt 1//中断函数
{
TL0=(65536-50000)%256
TH0=(65536-50000)/256
i++
}
另外你想定时器到那里不要起作用了,你就在哪里写TR0=0;你想定时器到那里要起作用,你就在哪里写TR0=1;
T1用法请仿照T0
另外注意向TMOD,EA...这些要大写
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)