本帖最后由 小滑头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;
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
谢谢!我把两个外部中断分别设置为上升沿 下降沿 触发 理论上应该同一个信号输入到两个中断中应该没问题的(自己想的) 我是用来检测一个方波的占空比 上升时间 的所以需要算出上升沿到下降沿的时间··
一周热门 更多>