一 AT89C51引腳圖
1.0 中斷
1.0.1 中斷源
AT89C51一共有5個中斷源
(1):外部中斷0,外部中斷請求信號由
引腳輸入,低電平或下降沿有效,中斷請求標(biāo)志位IE0。
(2):外部中斷1,外部中斷請求信號由引腳
輸入,低電平或下降沿有效,中斷請求標(biāo)志位IE1。
(3)T0:定時/計數(shù)溢出時發(fā)出中斷請求信號,中斷請求標(biāo)志位TF0(也就是之前說的溢出標(biāo)志位)。
(4)T1:定時/計數(shù)溢出時發(fā)出中斷請求信號,中斷請求標(biāo)志位TF1(也就是之前說的溢出標(biāo)志位)。
(5)串行口中斷:發(fā)出或接收1字節(jié)數(shù)據(jù)以后發(fā)出中斷請求信號,中斷請求標(biāo)志位發(fā)送時為TI,接收時為RI。
1.0.2 控制中斷特殊寄存器
控制中斷的特殊功能寄存器包括:
(1)定時/計數(shù)控制寄存器TCON,
(2)串行口控制寄存器SCON
(3)中斷允許寄存器IE
(4)中斷優(yōu)先級寄存器IP
1.0.3 中斷函數(shù)
中斷函數(shù)的格式:函數(shù)返回值類型 函數(shù)名(形式參數(shù)表) interrupt n using m
編寫AT89C51單片機中斷程序時,應(yīng)遵循以下規(guī)則:
(1)中斷函數(shù)沒有返回值,因此將中斷函數(shù)類型定義為void類型。
(2)中斷函數(shù)不包含任何形式參數(shù),形式參數(shù)表為空。
(3)在任何情況下都不能直接調(diào)用中斷函數(shù),否則會產(chǎn)生編譯錯誤。
(4)如果在中斷函數(shù)中再調(diào)用其他函數(shù),則被調(diào)用的函數(shù)所使用的寄存器區(qū)必須與中斷函數(shù)使用的寄存器區(qū)不同。
n是中斷號,對應(yīng)51單片機從外部中斷0到串行口的5個中斷向量,n的取值為0~4,編譯器從8 × n + 3地址處產(chǎn)生中斷向量
中斷源對應(yīng)的中斷號,中斷向量,和中中斷優(yōu)先級默認順序如下
AT89C51單片機在內(nèi)部RAM中可以使用4個工作寄存器區(qū),每個工作區(qū)包括8個工作寄存器(R0~R7)
C51拓展了一個關(guān)鍵字using,using后面的m用來選擇AT89C51的4個不同的工作寄存器區(qū)。
using是一個選項,如果不選用該選項,中斷函數(shù)中所用工作寄存器的內(nèi)容將會保持到堆棧中。
關(guān)鍵字using對函數(shù)目標(biāo)代碼的影響如下:在中斷函數(shù)的入口處將當(dāng)前工作寄存器區(qū)的內(nèi)容保護到堆棧中,函數(shù)返回之前將被保護的寄存器區(qū)的內(nèi)容從堆棧中恢復(fù)。使用關(guān)鍵字using在函數(shù)中確定一個工作寄存器區(qū)時必須十分小心,要保證任何工作寄存器區(qū)的切換都只在指定的控制區(qū)域中發(fā)生,否則將產(chǎn)生不正確的函數(shù)結(jié)果;
不正確的結(jié)果舉例:如果一個低優(yōu)先級中斷正在被執(zhí)行,這個中斷使用的工作寄存器區(qū)是0,另外一個高優(yōu)先級中斷產(chǎn)生并且工作寄存區(qū)也0,這個時候就會產(chǎn)生數(shù)據(jù)紊亂。
1.0.4 中斷優(yōu)先級
低優(yōu)先級中斷可以被高優(yōu)先級中斷打斷:一個低優(yōu)先級中斷正在執(zhí)行,此時一個高優(yōu)先級中斷產(chǎn)生,那么會先執(zhí)行高優(yōu)先級中斷,執(zhí)行完高優(yōu)先級中斷再執(zhí)行低優(yōu)先級中斷。
同級中斷不能相互打斷
低優(yōu)先級中斷不能打斷高優(yōu)先級中斷文章來源:http://www.zghlxwxcb.cn/news/detail-740554.html
1.0.5 外部中斷實驗
1.0.5.1 電路圖
文章來源地址http://www.zghlxwxcb.cn/news/detail-740554.html
1.0.5.2 代碼
#include<reg51.h>
sbit P1_0 = P1^0;
int main()
{
IT1=1;//設(shè)置中斷觸發(fā)方式,下降沿觸發(fā)
EX1=1; //開啟開外部中斷1
EA=1;//開啟總中斷
while(1);
}
void int_1() interrupt 2 //外部中斷函數(shù)1,中斷號為2,使用工作寄存器區(qū)為0
{
P1_0=!P1_0;
}
2.0
到了這里,關(guān)于51單片機(80951系列)引腳功能說明的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!