新聞中心

單片機(jī)中斷舉例

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏

單片機(jī)中斷舉例


本文引用地址:http://butianyuan.cn/article/201611/321780.htm

單片機(jī)多任務(wù)執(zhí)行。P1口LED燈閃爍、P3口按鍵輸入,兩任務(wù)“同時(shí)”執(zhí)行。

方案一:在主程序中循環(huán)調(diào)用P1口LED燈閃爍子程序,P3口按鍵掃描子程序;

缺點(diǎn):可能造成P3口按鍵輸入不靈的現(xiàn)象;

方案二:主程序一直循環(huán)調(diào)用P1口LED燈閃爍子程序,P3口按鍵程序采用中斷執(zhí)行。

以下程序?qū)蓚€(gè)外部中斷全部打開,同學(xué)們可以在proteus中驗(yàn)證。

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

//51單片機(jī)中斷嵌套程序演示

//作者:曾憲陽(yáng)

//網(wǎng)址: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();

}

}




關(guān)鍵詞: 單片機(jī)中斷舉

評(píng)論


技術(shù)專區(qū)

關(guān)閉