搜索
bottom↓
回复: 10

430下降沿中断干扰问题(图)

[复制链接]

出0入0汤圆

发表于 2011-7-16 10:54:33 | 显示全部楼层 |阅读模式
程序使单片机处于休眠状态  只有按键有按下的时候进入中断程序唤醒单片机做事  但现在发现用金属触碰红色箭头处   就会进入中断程序   如果把上啦电阻去掉  用手碰都会进入中断程序  怎么办呢?  谢谢高手回答



金属触碰红色箭头处就会进入中断程序 (原文件名:未命名.JPG)

相应程序如下:
/*I0口初始化*******************************************************************/
void Init_Port(void)
{
    // 将中断寄存器清零
    P1IE = 0;
    P1IES = 0;
    P1IFG = 0;
    P1IE |= BIT6+BIT0;       
    P1IES |= BIT6+BIT0;       
    _EINT();//打开中断
}
/******************************************************************************/

/*处理来自端口 1 的中断********************************************************/
#if __VER__ < 200
    interrupt [PORT1_VECTOR] void PORT_ISR(void)
#else
    #pragma vector=PORT1_VECTOR
    __interrupt void PORT_ISR(void)
#endif
{
   if(mode!=1)
   {
     P3SEL |=0xf0;
     fen=0;
     jclose=1;
   }
//    if(P1IFG & BIT6)
//    {           
            P1IFG &= ~(BIT6);// 清除中断标志位
        P1IFG &= ~(BIT0);
//    }
    if(mode!=1)
    LPM3_EXIT;
}
/******************************************************************************/

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-7-16 11:20:21 | 显示全部楼层
加了电容问题解决了  就是不知道这样设计合理不?  会不会使功耗增大?

(原文件名:未命名.JPG)

出0入0汤圆

 楼主| 发表于 2011-7-16 12:00:13 | 显示全部楼层
ddddddddddddddddddddddddddddddddddddddddd

出0入0汤圆

发表于 2011-7-16 14:08:16 | 显示全部楼层
回复【1楼】ms80c51
-----------------------------------------------------------------------

有按键动作时功耗会大点点.

出0入0汤圆

发表于 2011-7-16 15:03:21 | 显示全部楼层
加的多大电容,效果很好么,有没有多试几次呢,分享下

出0入0汤圆

发表于 2011-7-16 15:21:24 | 显示全部楼层
我觉得还是不要用P1IFG设置吧,有时是不准确的,前一段,我就用的明明设置,上升沿或下降沿,结果都会置位
现在改成这样
P1_state=~P1IN & 0xFF;
这样即使中断进去也不会执行,我现在电流大,电流串扰很严重,不过这样写到时很好,只有真正按下键,才触发程序.

出0入0汤圆

 楼主| 发表于 2011-7-18 11:39:08 | 显示全部楼层
回复【4楼】gold2073
加的多大电容,效果很好么,有没有多试几次呢,分享下
-----------------------------------------------------------------------
电容我用的是104的   目前看来效果还不错  就是不知道以后到现场了效果好不


回复【5楼】wjackson
我觉得还是不要用p1ifg设置吧,有时是不准确的,前一段,我就用的明明设置,上升沿或下降沿,结果都会置位
现在改成这样
p1_state=~p1in &amp; 0xff;
这样即使中断进去也不会执行,我现在电流大,电流串扰很严重,不过这样写到时很好,只有真正按下键,才触发程序.
-----------------------------------------------------------------------
不是太明白 你可以说的具体点吗

出0入0汤圆

发表于 2011-7-18 13:05:24 | 显示全部楼层
用0.1uf就够了,软件上加消抖程序也行

出0入0汤圆

发表于 2011-7-18 14:04:23 | 显示全部楼层
回复【6楼】ms80c51
-----------------------------------------------------------------------

你可以在watch下看到,P1IFG并不是准确的,尤其是电磁干扰非常大的情况下,但是P1IN只有闭和就复位,通过窗口可以自己看看,可能是我理解错了吧,呵呵

出0入0汤圆

发表于 2011-7-19 13:29:36 | 显示全部楼层
电源退耦~

出0入0汤圆

发表于 2011-7-21 08:39:53 | 显示全部楼层
有这种干扰是必然的,电容+软件消抖
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 23:53

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表