打印

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

[复制链接]
3362|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
match07|  楼主 | 2010-8-8 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟不才,用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 | 只看该作者
顶你下。。。

使用特权

评论回复
5
zhangshaoyan| | 2010-9-7 08:13 | 只看该作者
1、打开外部中断
2、最好在中断服务程序中先disable再enable,防止中断嵌套。

使用特权

评论回复
6
airwill| | 2010-9-7 12:09 | 只看该作者
IE        = 0x90;  //允许所有中断以及串口1中断,程序中用到了串口0,1

这一句,  好像没有允许外部中断吧?

使用特权

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

本版积分规则

6

主题

20

帖子

0

粉丝