MCS—51系列單片機內(nèi)部只需兩個外部接連源輸入端,當外部接中斷連源多于兩個時,就必須進行拓寬,下面介紹幾種簡略的拓寬辦法:
一、選用硬件央求和軟件查詢的辦法:
這種辦法是:把各個接連源通過硬件“或非(高有用,如CD4002)”(與,低有用)門引進到單片機外部接連源輸入端(INT0或INT1),一同再把外部接連源送到單片機的某個輸入輸出端口,這么當外部接連時,通過“或非”(與)門致使單片機接連,在接連效能程序中再通過軟件查詢,進而轉(zhuǎn)相應的接連效能程序。
明顯,這種辦法的接連優(yōu)先級取決于軟件查詢的次第。其硬件銜接和軟件編程如下:
Void zhongduan (void) interrupt 0 using 3 //接連函數(shù)
{
EX0=0;//關(guān)接連
If(P0_0=1) { *****}//接連查詢
If(P0_1=1) { *****}//接連查詢
If(P0_2=1) { *****}//接連查詢
EX0=1;開接連
}
二、用一般二極管構(gòu)成接連選擇
四種拓寬51單片機接連的辦法
拓寬的8個外部接連源均通過二極管向I N T(x=0或I)央求接連。當某個外部接連源央求接連效能時輸出低電平,單片機的I NT 經(jīng)二極管接地電平,單片機滿意照料外部接連(I N T)央求條件,照料接連,程序當即轉(zhuǎn)向I NT 對應的接連進口地址處初步施行接連效能程序,通過軟件查詢PI.0~P1.7口外接連源的情況,以辨認提出央求的外擴接連源,并轉(zhuǎn)向接連效能程序為其效能,其查詢次第即為外部拓寬接連源的接連優(yōu)先級次第。在圖中,是選用PI.0~PI.7作為外擴接連源央求的情況信息輸入端口。
有點相似第一種辦法。
三、用定時器/計數(shù)器作外部接連
單片機的定時器/計數(shù)器是一個加一計數(shù)器,每當計數(shù)輸入端有一個“1—0”的負跳變時,計數(shù)器加一,當加一計數(shù)器溢出時,就向CPU宣告接連,運用這個特性
來拓寬接連的辦法是:首先把定時器/計數(shù)器設(shè)置成計數(shù)辦法,并預置滿值,把外部接連源輸入到P3口第4引腳或第5引腳(計數(shù)器輸入端),這么就可以運用
定時器/計數(shù)器作為單片機外部接連了。留神這種辦法的接連效能的進口地址應
在000BH或001BH。
四、用專用接連拓寬芯片8259A
8259A是可編程接連控制接口,單片機控制八級接連。在系統(tǒng)中還可選用級聯(lián)辦法,一個主片可級聯(lián)8個從片,構(gòu)成64級接連處理系統(tǒng)。
8259A的主要功能如下:
①一片8259A可以接受并管理8級可屏蔽中斷請求,通過9片8259A級聯(lián)可擴展至64級可屏蔽中斷優(yōu)先控制。
②對每一級中斷都可以通過程序來屏蔽或允許。
③在中斷響應周期,8259A可為CPU提供相應的中斷類型碼。
④具有多種工作方式,并可通過編程來加以選擇。
初始化命令字的作用是什么?如何對8259A進行初始化編程?
答案:通過初始化編程向8259A寫入相應的初始化命令I(lǐng)CW,可以使芯片處于一個規(guī)定的基本工作方式,并在此方式下進行工作。8259A的初始化命令字共有4個ICW1-ICW4,進行初始化時要求ICW1-ICW4按一定的順序?qū)懭搿?
STC15系列單片機最多有4個外部中斷,有時還是覺得不夠用, 如我們用它做自動機的限位保護時就需要多個中斷.例如點膠機三軸限位就要6個中斷.加上點膠閥操控,上料控制共十幾個也不算多。外部中斷擴展大致有以下幾種方法:
1. 使用專用芯片,如8259A。
2. 將內(nèi)部定時/計數(shù)器做計數(shù)器使用,設(shè)置使其當計數(shù)值為1時即觸發(fā)中斷,就可當外部中斷用.
3. 用2的方法可將3路CCP/PCA當成外部中斷使用。
4. 外部中斷端口二極管并接輸入再加軟件查詢定位輸入源法。
4 個I/O口外加一片CD4051與8只1開關(guān)二極管將INT0由一個擴展為八個。
軟件實現(xiàn):首選使能中斷及INT0中斷,將INT0設(shè)置成下降沿觸發(fā)中斷,在中斷函數(shù)中寫出掃描觸發(fā)中斷源的代碼,對不同的中斷源,寫出相應的響應代碼。注意:方法4的實時性相對較差,因為輸入源掃描,需要一些時間,要求高時,因謹慎選用。