match07 发表于 2010-8-8 10:00

关于c8051f340外中断,只能进一次

小弟不才,用c8051f340接了一个输出为脉冲信号(方波)的风速传感器。通过外部中断0计算脉冲个数来实现对风速的测量,但是用外中断计数时,只会进入外中断一次。程序如下:
void Interrupts_Init()
{
   TCON    = 0x41;//允许定时器1,外中断0为边沿触发
    IP      = 0x01;//外中断0优先级最高
    EIE2    |= 0x02;//允许串口1中断
    IT01CF    = 0x0f;//外中断在p0.7,高电平触发
    IE      = 0x90;//允许所有中断以及串口1中断,程序中用到了串口0,1

}
void int0_isr( void ) interrupt 0 using 1
{

pulse_count++; //中断服务程序,对脉冲计数。问题在这里,只能进入一次中断。
}
麻烦高手们帮助解答。

match07 发表于 2010-8-8 11:33

对c8051f系列单片机熟的大侠们,帮帮忙啊。在线等,qq:386677659

g1234567 发表于 2010-8-10 11:52

暂时还没看到打开INT0中断:
IE |= 0X01;    //????????

genhaosan8587 发表于 2010-9-6 17:51

顶你下。。。

zhangshaoyan 发表于 2010-9-7 08:13

1、打开外部中断
2、最好在中断服务程序中先disable再enable,防止中断嵌套。

airwill 发表于 2010-9-7 12:09

IE      = 0x90;//允许所有中断以及串口1中断,程序中用到了串口0,1

这一句,好像没有允许外部中断吧?
页: [1]
查看完整版本: 关于c8051f340外中断,只能进一次