單片機中斷的撤除方法

發(fā)布時間:2025-01-01
cpu響應(yīng)某中斷請求后,在中斷返回前,應(yīng)該撤除該中斷請求,否則會引起另一次中斷而發(fā)生錯誤。根據(jù)中斷方式的不同,中斷的撤除可以分為定時器/計數(shù)器中斷請求的撤除、外部中斷請求的撤除、串口中斷請求的撤除。
一、定時器/計數(shù)器t0/t1中斷的撤除
定時器/計數(shù)器t0/t1的外部中斷請求,在cpu響應(yīng)中斷后,由內(nèi)部硬件自動清除中斷標志tf0和tf1,ie0和ie1,無需采取其它措施。
二、外部中斷請求的撤除
對于電平觸發(fā)方式的外部中斷請求的撤除,不僅要清除中斷標志,還需在中斷響應(yīng)后把中斷請求輸入端從低電平強制改為高電平。撤除中斷請求的電路方案如圖所示。
圖 電平方式外部中斷請求的撤消電路
上圖中,用d觸發(fā)器鎖存外部中斷請求低電平,通過觸發(fā)器輸出端q送int0,所以增加的d觸發(fā)器對外部中斷請求沒有影響。中斷響應(yīng)后,為了撤銷低電平引起的中斷請求,可利用d觸發(fā)器的直接置位端sd來實現(xiàn)。at89s52的一根i/o口線p1.0控制sd端。只要在sd端輸入一個負脈沖(p1.0初始狀態(tài)為1),即可使d觸發(fā)器置1,從而撤銷了低電平的中斷請求信號,所需負脈沖可以通過在中斷服務(wù)程序中增加以下兩條指令得到:
setb p1.0 ; p1.0置1
clr p1.0 ; p1.0置0
所以,電平方式下外部中斷請求信號的撤除,要通過硬件和軟件的配合來解決。
三、 串行口中斷請求的撤除
at89s52進入串行口中斷服務(wù)程序后常需要對它們進行檢測,以測定串行口發(fā)生了接收中斷還是發(fā)送中斷。ti和ri是串行口中斷的標志位(見scon),中斷系統(tǒng)不能自動將它們撤除,為防止cpu再次響應(yīng)這類中斷,只能用軟件的方法,在中斷服務(wù)程序中用如下指令將它們撤除。
clr ti ; 撤除發(fā)送中斷
clr ri ;撤除接收中斷
若采用字節(jié)型指令,則可使用如下指令。
anl scon #0fch ; 撤除發(fā)送和接收中斷
上一個:什么是二極管
下一個:專業(yè)標書制作公司告訴你:投標中的復(fù)核是什么?

norgren(諾冠電磁閥氣缸的優(yōu)勢與應(yīng)用)
2023最好顯卡,求大蝦推薦兩款顯卡最好附上具體參數(shù)
門尼粘度儀校準規(guī)范
同居5年算事實婚姻嗎
東非的交通樞紐一-肯尼亞
國際物流公司名稱排名前十強(2022年全球十大物流企業(yè)排名)
國際貨運操作流程[二],國際貨運代理操作流程
大件物流托運運輸 休寧大件托運公司
英國“無協(xié)議”退歐!對跨境電商賣家有那些影響-
寧波到大連專線物流 寧波到棗莊物流專線
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos