一个信号能同时被单片机上的两个中断检测到吗?

2020-02-05 09:00发布

本帖最后由 小滑头520 于 2012-6-15 11:00 编辑

c8050f020单片机 有上升沿 下降沿触发  假如有一个方波 当上升沿来的时候中断1执行 当下降沿来的时候中断2执行 把信号同时接到这两个中断口 可以不? 谢谢大家···
附上 信号上升沿 下降沿测试程序
#include <c8051f020.h>
#define uchar unsigned char
#define uint unsigned int
uchar num1,num2;
void PORT_Init()
{
XBR2 =0X40;
P74OUT =0X00;
}
///中断初始化////
void INT67_Init(void)
{
   EIE2 |=0X30;
   P3IF |=0XC4;//把p3.6设置成上升沿触发 p3.7设置成下降沿触发
}

void INT6_ISR(void) interrupt 18
{  
  
   P3IF&=~0x40;         //关闭外部中断6标志
   num1=1;
   
}

void INT7_ISR(void) interrupt 19
{
//  P3IF&=~0x40;
  P3IF&=~0x80; //关闭外部中断7标志
  num2=1;
}
void main()
{
WDTCN = 0xde;         // Disable watchdog timer
WDTCN = 0xad;
PORT_Init();
INT67_Init();
EA =1;
while(1)
{
   if(num1==1)
     {
          num1=0;
          P4=0xfc;
         }
         if(num2==1)
     {
         // num1=0;
          num2=0;
          P4=0xf3;
         }
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
avrstm32
1楼-- · 2020-02-05 09:45
上升沿和下降沿可以分别配置吗?如果不能分别配置,得在中断里面加电平判断。
小滑头520
2楼-- · 2020-02-05 11:03
avrstm32 发表于 2012-6-15 10:00
上升沿和下降沿可以分别配置吗?如果不能分别配置,得在中断里面加电平判断。 ...

谢谢!我把两个外部中断分别设置为上升沿 下降沿 触发 理论上应该同一个信号输入到两个中断中应该没问题的(自己想的)  我是用来检测一个方波的占空比 上升时间 的所以需要算出上升沿到下降沿的时间··
lcw_swust
3楼-- · 2020-02-05 14:02
 精彩回答 2  元偷偷看……
小滑头520
4楼-- · 2020-02-05 18:07
lcw_swust 发表于 2012-6-15 10:15
可以

但是检测上升沿那个中断为什么一直跳不出来呢? 进入中断后我就把这个中断关了·· 头痛啊! 既然得 我再试试  谢谢啦!
mored
5楼-- · 2020-02-05 21:23
可以的
不过用8051系列,用INT0控制计数+中断不是更好么?
lcw_swust
6楼-- · 2020-02-06 00:11
小滑头520 发表于 2012-6-15 10:20
但是检测上升沿那个中断为什么一直跳不出来呢? 进入中断后我就把这个中断关了·· 头痛啊! 既然得 我再 ...

你用的"电平中断"还是"边沿中断"?
是否需要软件清标志?

一周热门 更多>