版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片微型計算機與單片微型計算機與接口技術接口技術第第6 6章章MCSMCS- -5151單單片片機機的的單單片片機機的的中中斷斷系系統(tǒng)統(tǒng)中中斷斷系系統(tǒng)統(tǒng)李群芳李群芳 本章介紹的主要內容本章介紹的主要內容 在在CPUCPU和外設交換信息時,存在著快速和外設交換信息時,存在著快速CPUCPU和慢和慢速外設間的矛盾,機器內部有時也可能出現突發(fā)事速外設間的矛盾,機器內部有時也可能出現突發(fā)事件,為此,計算機中通常采用中斷技術。件,為此,計算機中通常采用中斷技術。中斷中斷 CPUCPU和外設并行工作,當外設數據準備好和外設并行工作,當外設數據準備好( ( 或有或有某種突發(fā)事件發(fā)生某種突發(fā)事件發(fā)生) )時向
2、時向CPUCPU提出請求,提出請求,CPUCPU暫停正在暫停正在執(zhí)行的程序轉而為該外設服務執(zhí)行的程序轉而為該外設服務( (或處理緊急事件或處理緊急事件) ),處理完畢再回到原斷點繼續(xù)執(zhí)行原程序。處理完畢再回到原斷點繼續(xù)執(zhí)行原程序。中斷源中斷源 引起中斷的原因引起中斷的原因, ,中斷申請的來源,中斷源可以中斷申請的來源,中斷源可以是是I/OI/O設備、故障、時鐘、調試中人為設置。設備、故障、時鐘、調試中人為設置。中斷優(yōu)先級中斷優(yōu)先級 當有多個中斷源同時向當有多個中斷源同時向CPUCPU申請中斷時,申請中斷時,CPUCPU優(yōu)優(yōu)先響應最需緊急處理的中斷請求,處理完畢再響應先響應最需緊急處理的中斷請求
3、,處理完畢再響應優(yōu)先級別較低的優(yōu)先級別較低的, ,這種預先安排的響應次序。這種預先安排的響應次序。 中斷的嵌套中斷的嵌套 在中斷系統(tǒng)中,高優(yōu)先級的中斷請求能中斷正在中斷系統(tǒng)中,高優(yōu)先級的中斷請求能中斷正在進行的較低級的中斷源處理。在進行的較低級的中斷源處理。 本章將討論本章將討論MCS51MCS51系列單片機的中斷系統(tǒng)。系列單片機的中斷系統(tǒng)。 中斷與子程序的最主要區(qū)別:中斷與子程序的最主要區(qū)別: 子程序是預先安排好的;中斷是隨機發(fā)生的子程序是預先安排好的;中斷是隨機發(fā)生的中斷系統(tǒng)是計算機的重要指標之一中斷系統(tǒng)是計算機的重要指標之一。某人看書某人看書 執(zhí)行主程序執(zhí)行主程序 日常事務日常事務電話鈴
4、響電話鈴響 中斷信號中斷信號 中斷請求中斷請求暫停看書暫??磿?暫停執(zhí)行主程序暫停執(zhí)行主程序 中斷響應中斷響應書中作記號書中作記號 當前當前PCPC入棧入棧 ( (保護斷點保護斷點) )電話談話電話談話 執(zhí)行中斷程序執(zhí)行中斷程序 中斷服務中斷服務繼續(xù)看書繼續(xù)看書 返回主程序返回主程序 中斷返回中斷返回日常事務程序日常事務程序中斷服務程序中斷服務程序日常生活中的中斷與計算機中斷的比較日常生活中的中斷與計算機中斷的比較: 8XX51 8XX51有有5 5個中斷源,個中斷源,3 3個在片內,個在片內,2 2個個在片外在片外,它們在程序存貯器中有,它們在程序存貯器中有固定的中固定的中斷入口地址斷入口地
5、址,當,當CPUCPU響應中斷時,響應中斷時,硬件自動硬件自動形成這些地址形成這些地址,由此,由此進入中斷服務程序進入中斷服務程序;5 5個中斷源有個中斷源有兩級兩級中斷優(yōu)先級,可行使中斷優(yōu)先級,可行使中斷中斷嵌套嵌套; 8XX51有有5個中斷源,其符號、名稱、產生個中斷源,其符號、名稱、產生條件及中斷服務程序的入口地址如表條件及中斷服務程序的入口地址如表6.1。符號符號 名名 稱稱 中中 斷斷 引引 起起 原原 因因 中斷服務中斷服務程序入口程序入口INT0INT0外部外部中斷中斷0 0 P3.2P3.2引腳的低電平或下降沿引腳的低電平或下降沿信號信號 0003H0003HINT1INT1
6、外部外部中斷中斷1 1P3.3P3.3引腳的低電平或下降沿引腳的低電平或下降沿信號信號 0013H0013HT0T0定時器定時器0 0中斷中斷 定時計數器定時計數器0 0計數回零溢出計數回零溢出 000BH000BHT1T1定時器定時器1 1中斷中斷 定時計數器定時計數器1 1計數回零溢出計數回零溢出 001BH001BHTI/RI TI/RI 串行口中串行口中斷斷 串行通信完成一幀數據發(fā)送串行通信完成一幀數據發(fā)送或接收引起中斷或接收引起中斷 0023H0023HT2T2定時器定時器2 2中斷中斷 定時計數器定時計數器2 2中斷中斷(TF2(TF2或或T2EXT2EX信號)信號)002BH00
7、2BH( (1)1)中斷的允許和禁止中斷的允許和禁止中斷控制寄存器中斷控制寄存器IEIE(地址(地址A8H,A8H,可位尋址可位尋址) ) IEIE寄存器的各位對應相應的中斷源,如果允許該中寄存器的各位對應相應的中斷源,如果允許該中斷源中斷則該位置斷源中斷則該位置1 1,禁止中斷則該位,禁止中斷則該位0 0允許允許: :置置1(1(人工人工) ),禁止禁止: :置置0(0(人工人工/ /開機清零開機清零) ) 。EA EA - - ET2ET2 ES ES ET1ET1 EX1 EX1 ET0 ET0 EX0 EX0中斷中斷總控總控允允/ /禁禁 不不 用用 T2T2允允/ /禁禁 串行口串行
8、口允允/ /禁禁 T1T1允允/ /禁禁 INT1 INT1允允/ /禁禁 T0 T0允允/ /禁禁 INT0INT0允允/ /禁禁 EAEA:中斷總控開關,中斷總控開關,是是CPUCPU是否響應中斷的是否響應中斷的前提。前提。 EA=1EA=1, CPUCPU開中斷開中斷(SETB EA)(SETB EA) EA=0EA=0, CPUCPU關中斷關中斷(CLR EA)(CLR EA)ESES: 串行口中斷允許位,串行口中斷允許位, ES=1ES=1,允許串行口發(fā)送,允許串行口發(fā)送/ /接收中斷接收中斷 ES=0ES=0,禁止串行口中斷。,禁止串行口中斷。ET1ET1:定時器定時器T1T1中斷
9、允許位,中斷允許位, ET1=1ET1=1,允許,允許T1T1計數溢出中斷;計數溢出中斷; ET1=0ET1=0,禁止,禁止T1T1中斷。中斷。ET0ET0: 定時器定時器T0T0中斷允許位中斷允許位, , ET0=1 ET0=1,允許,允許T1T1計數溢出中斷;計數溢出中斷; ET0=0ET0=0,禁止,禁止T0T0中斷。中斷。EX1EX1: 外部中斷外部中斷INT1INT1允許位,允許位, EX1=1EX1=1,允許,允許INT1INT1中斷;中斷; EX1= 0EX1= 0,禁止,禁止INT1INT1中斷。中斷。EX0EX0: 外部中斷外部中斷INT0INT0允許位,允許位, EX0=1
10、EX0=1,允許,允許INT0INT0中斷;中斷; EX0=0EX0=0,禁止,禁止INT0INT0中斷。中斷。 TF1 TF1 TR1 TR1TF0 TF0 TR0 TR0 IE1IE1IT1IT1IE0IE0IT0IT0T1 T1 請求請求有有/ /無無 T1 T1工作工作啟啟/ /停停 T0 T0 請求請求有有/ /無無 T0 T0 工作工作啟啟/ /停停 INT1 INT1 請求請求有有/ /無無 INT1INT1方式方式下沿下沿/ / 低電平低電平 INT0INT0請求請求有有/ /無無 INT0INT0方式方式下沿下沿/ /低電平低電平 (2)(2)中斷請求標志及外部中斷方式選擇寄
11、存器中斷請求標志及外部中斷方式選擇寄存器TCONTCON( (地址地址88H,88H,可位尋址可位尋址) )1.1.中斷標志位:中斷標志位: TF1TF1、TF0TF0、IE1IE1、IE0IE0、RI RI 、TITI =1 =1,有中斷請求(機器置,有中斷請求(機器置1 1););= 0= 0,無中斷請求。,無中斷請求。 CPUCPU響應中斷后響應中斷后, TF1, TF1、TF0TF0、IE1IE1、IE0IE0自動清零自動清零( (機器機器) )。 TITI,RIRI軟件清零軟件清零( (人工人工) )。2.2.外部中斷觸發(fā)方式選擇位:外部中斷觸發(fā)方式選擇位:IT0IT0、IT1IT1
12、 =1 =1:下降沿觸發(fā);:下降沿觸發(fā);= 0= 0:低電平觸發(fā):低電平觸發(fā) ( (人工人工) ) 。3,TR03,TR0和和TR1TR1為為T0T0和和T1T1啟動和停止控制啟動和停止控制( (與中斷無關與中斷無關) )。五個中斷源的優(yōu)先級別由五個中斷源的優(yōu)先級別由IP寄存器管理,相應位置寄存器管理,相應位置1 1,則該中斷源優(yōu)先級別高,置則該中斷源優(yōu)先級別高,置0 0的優(yōu)先級別低。的優(yōu)先級別低。 -PT2PT2PSPSPT1PT1PX1PX1PT0PT0PX0PX0無無用用位位無無用用位位T2T2高高/ /低低串行串行 口口高高/ /低低 T1 T1高高/ /低低 INT1INT1高高/
13、/低低 T0T0高高/ /低低 INT0INT0高高/ /低低 T0T0INT0INT0INT1INT1T1T1串行口串行口 當某幾個中斷源在當某幾個中斷源在IPIP寄存器相應位同為寄存器相應位同為1 1或同為零或同為零時,由內部查詢確定優(yōu)先級,查詢的順序是:時,由內部查詢確定優(yōu)先級,查詢的順序是:CPUCPU優(yōu)先響應先查詢的中斷請求優(yōu)先響應先查詢的中斷請求T2T2圖6.1 中斷系統(tǒng)PX0IE0PT0TF0PX1IE1PT1TF1PS1010101010TIRITCONIEIPEX0ET0EX1ET1ESEAIT0=0IT0=1INT0INT1IT1=0IT1=1T0T1TXRX自然優(yōu)先級矢量
14、地址自然優(yōu)先級矢量地址高級中斷請求PC低級中斷請求PC源允許總允許優(yōu)先級SCON中斷標志硬件查詢6.2.16.2.1中斷處理過程中斷處理過程( (四個階段四個階段) ) 中斷請求中斷請求: :開中斷開中斷? ? 滿足條件滿足條件? ?有中斷請求信號有中斷請求信號( (人工人工, ,機器機器) ) 中斷響應中斷響應: :判斷優(yōu)先權判斷優(yōu)先權, ,將斷點地址將斷點地址( (當前當前PCPC值值)堆棧,堆棧, 中斷服務程序入口中斷服務程序入口PCPC,轉入中斷服務,轉入中斷服務( (機器自動機器自動) ) 中斷服務中斷服務: :執(zhí)行中斷源所要求的程序處理段執(zhí)行中斷源所要求的程序處理段( (保護現場和
15、恢復現場保護現場和恢復現場) ) ( (人工人工) ) 中斷返回中斷返回: :執(zhí)行執(zhí)行RETIRETI指令,棧頂內容指令,棧頂內容( (斷點地址斷點地址) )PCPC,程序跳,程序跳 回斷點處回斷點處 ( (機器自動機器自動) ) RETI RETI= RET= RET指令指令 + + 通知通知CPUCPU中斷服務已結束。中斷服務已結束。 MCSMCS5151系列單系列單 片機的中斷過程流程如圖片機的中斷過程流程如圖6.26.2所示。所示。 NYYYN執(zhí)執(zhí) 行行 指指 令令中斷標志中斷標志1?(中斷請求中斷請求?) 指令指令最后一個最后一個T周期周期?EA=1?允允 許許 位位 = 1?CPU
16、 判判 別優(yōu)先權別優(yōu)先權 ,響應優(yōu)先權高的中斷響應優(yōu)先權高的中斷斷點的斷點的PC進棧進棧, 中斷服務入口地址送中斷服務入口地址送PC撤撤 除除 中中 斷斷 標標 志志中中 斷斷 服服 務務中中 斷斷 返返 回回, 斷斷 點點 出出 棧棧 送送 PC 中斷請求中斷請求.中斷響應中斷響應中斷服務中斷服務中斷返回中斷返回l中斷請求、中斷響應過程由硬件完成。中斷請求、中斷響應過程由硬件完成。l中斷服務程序應根據需要進行編寫。程序中斷服務程序應根據需要進行編寫。程序中要注意保護現場和恢復現場。中要注意保護現場和恢復現場。l中斷返回是通過執(zhí)行一條中斷返回是通過執(zhí)行一條RETIRETI中斷返回指中斷返回指令
17、,使堆棧中被壓入的斷點地址送令,使堆棧中被壓入的斷點地址送PCPC,從,從而返回主程序的斷點繼續(xù)執(zhí)行主程序。另而返回主程序的斷點繼續(xù)執(zhí)行主程序。另外外RETIRETI還有恢復優(yōu)先級狀態(tài)觸發(fā)器的作用,還有恢復優(yōu)先級狀態(tài)觸發(fā)器的作用,因此不能以因此不能以RETRET指令代替指令代替“RETIRETI”指令。指令。 若某個中斷源通過編程設置,處于被打開的狀若某個中斷源通過編程設置,處于被打開的狀態(tài),并滿足中斷響應的條件,然而下面三種情況態(tài),并滿足中斷響應的條件,然而下面三種情況單片機不響應此中斷:單片機不響應此中斷:當前正在執(zhí)行的那條指令沒執(zhí)行完;當前正在執(zhí)行的那條指令沒執(zhí)行完;當前響應了同級或高級
18、中斷;當前響應了同級或高級中斷;正在操作正在操作IEIE、IPIP中斷控制寄存器或執(zhí)行中斷控制寄存器或執(zhí)行RETIRETI指指令。令。中斷響應時間中斷響應時間( (不是中斷服務時間不是中斷服務時間) ) 在正常的情況下,從中斷請求信號有效開始,在正常的情況下,從中斷請求信號有效開始,到中斷得到響應,通常需要到中斷得到響應,通常需要3 3個機器周期到個機器周期到8 8個機個機器周期。器周期。1 1、CPUCPU響應中斷后,應撤除該中斷請求標響應中斷后,應撤除該中斷請求標 志,否則會再次中斷。志,否則會再次中斷。2 2、對邊沿觸發(fā)的外部中斷、對邊沿觸發(fā)的外部中斷INT0INT0和和INT1INT1
19、, CPU CPU響應中斷后硬件自動清除中斷請求響應中斷后硬件自動清除中斷請求 標志標志IE0IE0和和IE1IE1。3 3、對電平觸發(fā)的外部中斷,、對電平觸發(fā)的外部中斷,CPUCPU在響應中在響應中 斷時不會自動清除中斷標志,因此在斷時不會自動清除中斷標志,因此在 CPU CPU響應中斷后應立即撤除響應中斷后應立即撤除INT0INT0或或INT1INT1 的低電平信號。的低電平信號。 二、中斷請求的撤除二、中斷請求的撤除 4 4、對定時計數器、對定時計數器T0T0、T1T1的溢出中斷,的溢出中斷,CPUCPU響響應中斷后,硬件自動清除中斷請求標志應中斷后,硬件自動清除中斷請求標志TF0TF0
20、和和TF1TF1。5 5、對于串行口中斷,、對于串行口中斷,CPUCPU響應中斷后,沒有響應中斷后,沒有用硬件清除中斷請求標志用硬件清除中斷請求標志TITI、RIRI,即這些中,即這些中斷標志不會自動清除,必須用軟件清除,這斷標志不會自動清除,必須用軟件清除,這是在編串行通信中斷服務中應該注意的。是在編串行通信中斷服務中應該注意的。 用戶對中斷的控制和管理,實際是對用戶對中斷的控制和管理,實際是對4 4個與中斷有關的個與中斷有關的寄存器寄存器IEIE、TCONTCON、IPIP、SCONSCON進行控制或管理。這幾個寄存進行控制或管理。這幾個寄存器在單片機復位時是清零的,因此必須根據需要對這幾
21、個器在單片機復位時是清零的,因此必須根據需要對這幾個寄存器的有關位進行預置。在中斷程序的編制中應注意:寄存器的有關位進行預置。在中斷程序的編制中應注意:1 1、開中斷總控開關、開中斷總控開關EAEA,置位中斷源的中斷允許位。,置位中斷源的中斷允許位。2 2、對外部中斷對外部中斷INT0INT0、INT1INT1應選擇中斷觸發(fā)方式。應選擇中斷觸發(fā)方式。3、多個中斷源中斷,應設定中斷優(yōu)先級,預置多個中斷源中斷,應設定中斷優(yōu)先級,預置IPIP。4、編寫中斷服務程序,并注意用保護現場和恢復現場,以編寫中斷服務程序,并注意用保護現場和恢復現場,以免中斷返回時,丟失原寄存器、累加器中的信息。免中斷返回時,
22、丟失原寄存器、累加器中的信息。5 5、若要在執(zhí)行當前中斷程序時禁止更高優(yōu)先級中斷,可以、若要在執(zhí)行當前中斷程序時禁止更高優(yōu)先級中斷,可以采用軟件關采用軟件關CPU中斷或禁止某中斷源中斷,在中斷返回前中斷或禁止某中斷源中斷,在中斷返回前再開放中斷。再開放中斷。 匯編語言的中斷服務程序按規(guī)定的中斷匯編語言的中斷服務程序按規(guī)定的中斷矢量地址存入,由于五個中斷矢量地址矢量地址存入,由于五個中斷矢量地址0003H、000BH 、0013H、001BH、0023H之之間相距很近,往往裝不下一個中斷服務程間相距很近,往往裝不下一個中斷服務程序,通常將中斷服務程序安排在程序存貯序,通常將中斷服務程序安排在程序
23、存貯器的其他地址空間,而在矢量地址的單元器的其他地址空間,而在矢量地址的單元中安排一條轉移指令。中安排一條轉移指令。 例例1.1.在圖在圖6.36.3中中P1.4P1.4P1.7P1.7接有四個發(fā)光二接有四個發(fā)光二極管,極管,P1.0P1.0P1.3P1.3接有四個開關,消抖電路用于接有四個開關,消抖電路用于產生中斷請求信號,當消抖電路的開關來回拔動產生中斷請求信號,當消抖電路的開關來回拔動一次將產生一個一次將產生一個下降沿下降沿信號,通過信號,通過INT0INT0向向CPUCPU申申請中斷,要求:初時發(fā)光二極管全黑,每中斷一請中斷,要求:初時發(fā)光二極管全黑,每中斷一次,次,P1.0P1.0P
24、1.3P1.3所接的開關狀態(tài)反映到發(fā)光二極所接的開關狀態(tài)反映到發(fā)光二極管上管上( (“1 1” 亮,亮,”0 0” 滅滅) ),且要求開關斷開,且要求開關斷開的對應發(fā)光二極管亮,電路和現象如下:的對應發(fā)光二極管亮,電路和現象如下: &+5V+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51EA&INT011111K 41K 2300 4圖6.、 ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 0003H ORG 0003H ;INT0INT0中斷入口中斷入口 AJMP AJMP WBI WBI ;轉中斷服務程
25、序;轉中斷服務程序 ORG 0030H ORG 0030H ;主程序;主程序 MAIN: MOV P1MAIN: MOV P1,#0FH #0FH ;全燈滅,低四位輸入;全燈滅,低四位輸入 SETB IT0SETB IT0 ;邊沿觸發(fā)中斷;邊沿觸發(fā)中斷 SETB EX0SETB EX0 ;允許外中斷;允許外中斷0 0中斷中斷 SETB EA SETB EA ;開中斷開關;開中斷開關 SJMP $SJMP $ WBIWBI: MOV P1MOV P1,#0FH #0FH ;P1P1先寫入先寫入“1 1”且燈滅且燈滅 MOV AMOV A,P1 P1 ;輸入開關狀態(tài);輸入開關狀態(tài) SWAP A S
26、WAP A MOV P1 MOV P1,A A ;輸出到;輸出到P1P1高高4 4位位 RETIRETI END END 此例的執(zhí)行現象是,每重置一次四個開關的開、此例的執(zhí)行現象是,每重置一次四個開關的開、合狀態(tài),四個發(fā)光二極管維持原來的亮、滅合狀態(tài),四個發(fā)光二極管維持原來的亮、滅 狀態(tài),狀態(tài),僅當來回拔動消抖電路開關后,產生了中斷,發(fā)僅當來回拔動消抖電路開關后,產生了中斷,發(fā)光二極管才反映新置的開關狀態(tài)。光二極管才反映新置的開關狀態(tài)。 例例2.89C512.89C51的的P1P1口接一個共陰極的數碼管,利用消口接一個共陰極的數碼管,利用消抖開關產生中斷請求信號,每來回拔動一次開關,抖開關產生
27、中斷請求信號,每來回拔動一次開關,產生一次中斷,用數碼管顯示中斷的次數產生一次中斷,用數碼管顯示中斷的次數( (最多不最多不超過超過1515次次) )。 P1.189C51P1.0P1.2P1.4P1.3P1.5P1.6&1K 2INT1驅動器+5Vag圖6.EA ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 0013H ORG 0013H ;INT1INT1中斷入口中斷入口 AJMP AJMP INT1 INT1 ;轉中斷服務程序;轉中斷服務程序 ORG 0030H ORG 0030H ;主程序;主程序MAINMAIN: SETB IT1SE
28、TB IT1 ;邊沿觸發(fā)中斷;邊沿觸發(fā)中斷 SETB EX1SETB EX1 ;允許;允許INT1INT1中斷中斷 SETB EASETB EA ;開中斷開關;開中斷開關 MOV R0MOV R0,#0 #0 ;計數初值為;計數初值為0 0 MOV A MOV A,#3FH #3FH ;“0 0”的字形碼送的字形碼送A AAL1AL1: MOV P1MOV P1,A A ;顯示數碼;顯示數碼AL2AL2: CJNE R0CJNE R0,#0FH#0FH,AL1 AL1 ;沒滿;沒滿1515次循環(huán)顯示次循環(huán)顯示 MOV R7MOV R7,#0FFH #0FFH ;滿;滿1515次,顯次,顯F F
29、,延時,延時 DJNZ R7 DJNZ R7, MOV P1MOV P1,#0 #0 ;關顯示;關顯示 CLR EA CLR EA ;關中斷;關中斷 SJMP SJMP ;結束;結束INT1INT1: INC R0 INC R0 ;中斷次數加;中斷次數加1 1 MOV A MOV A,R0R0 MOV DPTR MOV DPTR,TAB TAB ;DPTRDPTR指向字形碼表首址指向字形碼表首址 MOVC AMOVC A,A+DPTR A+DPTR ;查表;查表 POP DPHPOP DPH POP DPL POP DPL ;彈出斷點;彈出斷點 MOV DPTRMOV DPTR,#AL1#AL
30、1 PUSH DPL PUSH DPL PUSH DPH PUSH DPH ;修改中斷返回點,;修改中斷返回點,AL1AL1壓入堆棧壓入堆棧 RETI RETI ;從堆棧;從堆棧AL1AL1地址地址PCPC,返主程序,返主程序AL1AL1處處 TABTAB: DB 3FHDB 3FH,06H06H,5BH5BH,4FH4FH,66H66H,6DH6DH DB 7DH DB 7DH,07H07H,7FH7FH,6FH6FH,77H77H,7CH7CH DB 39H DB 39H,5EH5EH,79H79H,71H71H ;段碼表;段碼表( (字形碼字形碼) ) END END 上面程序每中斷一次
31、,執(zhí)行一次中斷服務程序上面程序每中斷一次,執(zhí)行一次中斷服務程序INT1INT1。在中斷服務程序中,累計中斷次數并在中斷服務程序中,累計中斷次數并 查字形表,返回到查字形表,返回到主程序主程序AL1地址執(zhí)行顯示。地址執(zhí)行顯示。為方便說明程序的執(zhí)行情況,將上面程序重排在同一頁為方便說明程序的執(zhí)行情況,將上面程序重排在同一頁 ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 0013H ORG 0013H AJMP INT1 AJMP INT1 ORG 0030H ORG 0030HMAINMAIN:SETB TI1SETB TI1 SETB EX1 SETB
32、EX1 SETB EA SETB EA MOV R0 MOV R0,#0#0 MOV A,#3FH MOV A,#3FHAL1AL1:MOV P1MOV P1,A A AL2AL2:CJNE R0CJNE R0,#0FH#0FH,AL1AL1 MOV R7 MOV R7,#0FFH #0FFH DJNZ R7 DJNZ R7, MOV P1 MOV P1,#0 #0 CLR EA CLR EA SJMP SJMP INT1INT1:INC R0 INC R0 MOV A MOV A,R0R0 MOV DPTR MOV DPTR,TAB TAB MOVC A MOVC A,A+DPTRA+DPT
33、R POP DPH POP DPH POP DPL POP DPL MOV DPTR MOV DPTR,#AL1#AL1 PUSH DPL PUSH DPL PUSH DPH PUSH DPH RETI RETI ;AL1AL1地址地址PCPC, 返主程序返主程序AL1 AL1 TAB: DB 3FHTAB: DB 3FH,06H06H,5BH5BH, 以上中斷在以上中斷在AL1或或AL2兩指令處發(fā)生,究竟是哪兩指令處發(fā)生,究竟是哪一指令處中斷是隨機的,為保證返回到一指令處中斷是隨機的,為保證返回到AL1顯示顯示F這里采用修改中斷返回點的辦法,即先從棧中這里采用修改中斷返回點的辦法,即先從棧中
34、彈出中斷響應時壓入的斷點彈到彈出中斷響應時壓入的斷點彈到DPTR中,修改中,修改DPTR為用戶需要的返回點,并將其壓入堆棧,再為用戶需要的返回點,并將其壓入堆棧,再通過執(zhí)行通過執(zhí)行RETI指令彈出棧中內容到指令彈出棧中內容到PC、彈出的即、彈出的即為修改后的地址,從而返回到主程序中用戶所希為修改后的地址,從而返回到主程序中用戶所希望的地址執(zhí)行。望的地址執(zhí)行。 上例中中斷次數在主程序判斷,目的是使讀上例中中斷次數在主程序判斷,目的是使讀者了解修改中斷返回點的方法,如果改在中斷服者了解修改中斷返回點的方法,如果改在中斷服務程序中判斷,編程簡潔些,下面僅介紹和上例務程序中判斷,編程簡潔些,下面僅介紹和上例中的不同部分的程序。中的不同部分的程序。 MOV R0 MOV R0, #0 #0 ;計數初值為;計數初值為0 0 MOV P1 MOV P1, #3FH #3FH ;顯示;顯示0 0 MOV DPTR MOV DPTR,#TAB #TAB ;指向字形碼表;指向字形碼表AGAAGA: SJMP SJMP ;等待中斷;等待中斷INT1INT1:INC R0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 當幸福來敲門觀后感合集15篇
- 巾幗標兵先進事跡材料集錦15篇
- 感恩父母講話稿(集合15篇)
- 扭轉治療分享會
- 培訓學校招生宣傳
- 初級金融專業(yè)-《金融專業(yè)知識與實務》名師預測卷1117
- 初級會計經濟法基礎-初級會計《經濟法基礎》預測試卷325
- 智研咨詢發(fā)布-2024年中國曲軸行業(yè)市場競爭格局、行業(yè)政策及需求規(guī)模預測報告
- 產業(yè)研究報告-2024年中國磁懸浮軸承行業(yè)發(fā)展現狀、市場規(guī)模、投資前景分析(智研咨詢)
- 二零二五年度家居定制銷售購銷合同(含設計服務)2篇
- 2025江蘇太倉水務集團招聘18人高頻重點提升(共500題)附帶答案詳解
- 2024-2025學年人教新版高二(上)英語寒假作業(yè)(五)
- 《旅游資料翻譯》課件
- 2024年安徽省中考數學試卷含答案
- 微項目 探討如何利用工業(yè)廢氣中的二氧化碳合成甲醇-2025年高考化學選擇性必修第一冊(魯科版)
- 廣東省廣州市黃埔區(qū)2024-2025學年八年級物理上學期教學質量監(jiān)測試題
- 財務管理學(第10版)課件 第1章 總論
- 《鼻咽癌的診治》課件
- 有關信用證的案例分析
- 水中大腸桿菌的檢測實驗報告
- 智慧體育場館建設方案
評論
0/150
提交評論