51單片機各個引腳功能
IO口引腳:
中斷系統的主要功能:處理隨機突發事件
中斷系統結構:
什么是中斷系統:
數據的輸入/輸出傳送方式:
中斷傳送方式特點:
51系統允許的5個中斷源:
51單片機中斷系統內部結構圖:
允許中斷:
配置中斷方式:
編寫中斷處理函數:
5個中斷源的中斷入口及中斷級別:
中斷使用步驟:
代碼實現由外部中斷控制P1口的電平高低:
#include<reg52.h>
#include<intrins.h>#define uint unsigned int
#define uchar unsigned charsbit key_s2 =P3^0;//獨立按鍵s2
sbit flag =P3^7;//外部中斷信號產生腳void delay(void) //誤差 -0.000000000001us
{unsigned char a,b;for(b=15;b>0;b--)for(a=152;a>0;a--);
}
//外部中斷1初始化
void init1()
{EA=1;//開總中斷EX1=1;//開外部中斷1IT1=1;//設置觸發方式(下降沿觸發)
}
//中斷處理函數,當P3^3由高到低時就會產生一個下降沿,進入到該函數
void delinit1() interrupt 2
{P1 = ~P1;//中斷產生一次燈的狀態就會改變一次
}void main()
{init1();while(1){if(key_s2==0){delay();//按鍵消抖if(key_s2==0){flag=1;flag=0;//產生下降沿 while(!key_s2);//松手檢測}}}
}