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

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-06 03:21
没有输入捕获功能吗?测占空比用输入捕获功能更方便。
小滑头520
2楼-- · 2020-02-06 07:40
 精彩回答 2  元偷偷看……
小滑头520
3楼-- · 2020-02-06 07:49
avrstm32 发表于 2012-6-15 10:28
没有输入捕获功能吗?测占空比用输入捕获功能更方便。

这个没想到这个方法··  求解! 谢谢!
小滑头520
4楼-- · 2020-02-06 07:59
lcw_swust 发表于 2012-6-15 10:27
你用的"电平中断"还是"边沿中断"?
是否需要软件清标志?

我用的是边沿中断 当进入中断后 我就把这个中断标志关闭了
barryliu
5楼-- · 2020-02-06 13:53
用查询法不是更好吗
我开心
6楼-- · 2020-02-06 18:07
我觉得应该可以!

一周热门 更多>