1. 程式人生 > >外部中斷0——51程式

外部中斷0——51程式

51微控制器中一共有5箇中斷方式:

①外部中斷0

②定時器中斷0

③外部中斷1

④定時器中斷1

⑤串列埠中斷

5箇中斷優先順序從  高  到  低


void int0_init()                    //外部中斷0初始化函式
{
	EA = 1;     //開啟總中斷
	IT0 = 1;    /*設定中斷觸發方式:
                                    ITx = 0;  //  低電平觸發
                                    ITx = 1;  // 下降沿觸發
                    */
	EX0 = 1;    //開啟外部中斷
}

void int0_isr(void) interrupt 0    //外部中斷0服務函式
{
	EX0 = 0;           //開啟外部中斷
	delay_ms(10);
	if(0 == key1)
	{
		while(!key1);
		delay_ms(10);

                            //中間做你想做的事
        }
	EX0 = 1;           //關閉外部中斷
}