新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机中断举例

单片机中断举例

作者:时间:2016-11-26来源:网络收藏

单片机中断举例


本文引用地址:http://www.eepw.com.cn/article/201611/321780.htm

单片机多任务执行。P1口LED灯闪烁、P3口按键输入,两任务“同时”执行。

方案一:在主程序中循环调用P1口LED灯闪烁子程序,P3口按键扫描子程序;

缺点:可能造成P3口按键输入不灵的现象;

方案二:主程序一直循环调用P1口LED灯闪烁子程序,P3口按键程序采用中断执行。

以下程序将两个外部中断全部打开,同学们可以在proteus中验证。

//********************************

//51单片机中断嵌套程序演示

//作者:曾宪阳

//网址:http://hi.baidu.com/zxymcu

//********************************

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

voiddelay_ms(uintt)

{

ucharx,y;

for(t;t>0;t--)

{

for(x=0;x<114;x++)

for(y=0;y<1;y++);

}

}

voidLED(void)

{

ucharx;

P1=0XFE;

for(x=0;x<8;x++)

{

delay_ms(500);

P1=_crol_(P1,1);

}

}

voidLED_0(void)interrupt0using1

{

ucharx;

P0=0XFE;

for(x=0;x<8;x++)

{

delay_ms(500);

P0=_crol_(P0,1);

}

}

voidLED_1(void)interrupt2using2

{

ucharx;

P2=0XFE;

for(x=0;x<8;x++)

{

delay_ms(500);

P2=_crol_(P2,1);

}

}

voidmain(void)

{

EA=1;EX0=1;EX1=1;

IT0=1;IT1=1;

while(1)

{

LED();

}

}




关键词: 单片机中断举

评论


技术专区

关闭