jqfsjt 发表于 2019-3-14 20:47:28

STC8A2K08S2外部中断只有上升沿吗?

用STC8A2K08S2做了个低功耗的产品,用外部中断0(光控),外部中断1(按键)。两个中断管脚都有240K上拉电阻,并104电容。

设置如下时,按下按键,或者遮住光敏三极管,不能触发中断,只有释放按键,或者去掉遮盖物,才能触发中断。说明只有上升沿中断?
        IT0 = 0;        //设置INT0的中断类型 (1:仅下降沿 0:上升沿和下降沿)
        IT1 = 0;        //设置INT1的中断类型 (1:仅下降沿 0:上升沿和下降沿)
        EX0 = 1;    //开外部中断0,光控
        EX1 = 1;    //开外部中断1,按键
        EA = 1;               //开总中断

用下面程序测试,按下两次按键,第2次按下能触发中断。遮盖,去掉遮盖物两次,才能触发中断。

        IT0 = 1;        //设置INT0的中断类型 (1:仅下降沿 0:上升沿和下降沿)
        IT1 = 1;        //设置INT1的中断类型 (1:仅下降沿 0:上升沿和下降沿)
        EX0 = 1;    //开外部中断0,光控
        EX1 = 1;    //开外部中断1,按键
        EA = 1;               //开总中断

啥原因,请版主看下,谢谢。

jqfsjt 发表于 2019-3-15 07:09:44

顶一下。

jqfsjt 发表于 2019-3-22 09:38:28

顶一下,请版主看下。谢谢。

modbus 发表于 2019-3-22 13:02:12

中断管脚和光敏三极管之间是怎么连的

国学芯用 发表于 2019-3-22 14:26:52

jqfsjt 发表于 2019-3-22 22:15:09

modbus 发表于 2019-3-22 13:02
中断管脚和光敏三极管之间是怎么连的

3.3V----244电阻-----INT0----3DU5 ---GND

jqfsjt 发表于 2019-3-22 22:16:30

国学芯用 发表于 2019-3-22 14:26


#include "reg51.h"
#include "intrins.h"

sbit    P10         =   P1^0;
sbit    P11         =   P1^1;

void INT0_Isr() interrupt 0
{
    if (INT0)                                 //判断上升沿和下降沿
    {
      P10 = !P10;                           //测试端口
    }
    else
    {
      P11 = !P11;                           //测试端口
    }
}

void main()
{
    IT0 = 0;                                    //使能INT0上升沿和下降沿中断
    EX0 = 1;                                    //使能INT0中断
    EA = 1;

    while (1);
}

这个中,if (INT0) ,这个INT0不能理解。

modbus 发表于 2019-3-23 10:40:40

jqfsjt 发表于 2019-3-22 22:15
3.3V----244电阻-----INT0----3DU5 ---GND

电阻是多大

jqfsjt 发表于 2019-3-24 15:18:04

modbus 发表于 2019-3-23 10:40
电阻是多大

240K,244

su33691 发表于 2019-3-24 16:13:27

硬件消抖,244电阻太大,104电容太小。
软件也要有消抖。不要有问题就怪单片机。{:shocked:}

weavr 发表于 2019-3-24 17:53:01

jqfsjt 发表于 2019-3-22 22:16
#include "reg51.h"
#include "intrins.h"



#include "reg51.h"中定义了 INT0= P3^2;

vc8fans 发表于 2019-4-27 09:03:29

STC 确实有 外部 ,上升 及下降 沿触发,,,减少一个反相不错,,单有个奇怪 问题STC8A64S4A12LQPF48脚的 INI0 接外部中断就复位??换成 DIP40封装 的都没问题 ,,其他 INI1, INT2, INT3 都正常 ,LQPF48封装INT0 有问题白思不得其解, PCB改为INI1,INT2..
好有静功耗 8mA有CR230电池 是不可能的了,,今后期望有1~2mA 真正低功耗 ,,只是奢望{:lol:}

小李非刀 发表于 2019-5-2 23:30:10

INT0 INT1可以设置成上升、下降沿中断。也可以用PCA的捕捉功能当外部中断用,可以单独使用上升、下降沿中断,或同时允许。
页: [1]
查看完整版本: STC8A2K08S2外部中断只有上升沿吗?