打印

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

[复制链接]
2978|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
match07|  楼主 | 2010-8-8 11:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟不才,用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++; //中断服务程序,对脉冲计数。问题在这里,只能进入一次中断。
}
麻烦高手们帮助解答

相关帖子

沙发
xuyaqi| | 2010-8-8 14:56 | 只看该作者
不应该用电平触发,而应该用边沿触发。

使用特权

评论回复
板凳
match07|  楼主 | 2010-8-8 15:04 | 只看该作者
这样的话,就把IT01CF改为0x07吧?
2# xuyaqi

使用特权

评论回复
地板
xuyaqi| | 2010-8-8 22:12 | 只看该作者
“只能进入一次中断”结论的依据是什么。

使用特权

评论回复
5
yuyetufu| | 2010-8-9 08:42 | 只看该作者
1、应该用下降沿中断
2、EX0=1?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

20

帖子

0

粉丝