freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機技術(shù)及應(yīng)用--第五章單片機中斷系統(tǒng)(編輯修改稿)

2025-02-16 02:57 本頁面
 

【文章內(nèi)容簡介】 狀態(tài)寄存器 PSW及其他一些寄存器,當(dāng) CPU進入中斷服務(wù)程序用到上述寄存器時,會破壞原來存儲在寄存器中的內(nèi)容,一旦中斷返回,將會導(dǎo)致主程序混亂,因此,在進入中斷服務(wù)程序后,一般要先保護現(xiàn)場,然后執(zhí)行中斷處理程序,在中斷返回之前再恢復(fù)現(xiàn)場。編寫中斷服務(wù)程序時還需注意以下幾點。 (1) 各中斷源的中斷入口地址之間只相隔 8B,容納不下普通的中斷服務(wù)程序,因此,在中斷入口地址單元通常存放一條無條件轉(zhuǎn)移指令,可將中斷服務(wù)程序轉(zhuǎn)至存儲器的其他任何空間。 (2) 若要在執(zhí)行當(dāng)前中斷程序時禁止其他更高優(yōu)先級中斷,需先用軟件關(guān)閉CPU中斷,或用軟件禁止相應(yīng)高優(yōu)先級的中斷,在中斷返回前再開放中斷。 (3) 在保護和恢復(fù)現(xiàn)場時,為了不使現(xiàn)場數(shù)據(jù)遭到破壞或造成混亂,一般規(guī)定此時 CPU不再響應(yīng)新的中斷請求。因此,在編寫中斷服務(wù)程序時,要注意在保護現(xiàn)場前關(guān)中斷,在保護現(xiàn)場后若允許高優(yōu)先級中斷,則應(yīng)開中斷。同樣,在恢復(fù)現(xiàn)場前也應(yīng)先關(guān)中斷,恢復(fù)之后再開中斷。 4.中斷返回 中斷返回是指中斷服務(wù)完成后,計算機返回原來斷開的位置 (即斷點 ),繼續(xù)執(zhí)行原來的程序。中斷返回由中斷返回指令 RETI實現(xiàn)。該指令的功能是把斷點地址從堆棧中彈出,送回到程序計數(shù)器PC,此外,還通知中斷系統(tǒng)已完成中斷處理,并同時清除優(yōu)先級狀態(tài)觸發(fā)器。特別要注意的是,不能用 RET指令代替 RETI指令。中斷處理流程圖如圖 56所示。 圖 56 中斷處理流程圖 5.中斷請求的撤除 CPU響應(yīng)中斷請求后即進入中斷服務(wù)程序,在中斷返回前,應(yīng)撤除該中斷請求,否則會重復(fù)引起中斷而導(dǎo)致錯誤。 MCS51單片機各中斷源中斷請求撤銷的方法各不相同,下面將分別介紹。 1)定時器中斷請求的撤除 對于定時器 0或定時器 1溢出中斷, CPU在響應(yīng)中斷后即由硬件自動清除其中斷標志位 TF0或 TF1,無需采取其他措施。 2)串行口中斷請求的撤除 對于串行口中斷, CPU在響應(yīng)中斷后,硬件不能自動清除中斷請求標志位 TI、 RI,必須在中斷服務(wù)程序中用軟件將其清除。 3)外部中斷請求的撤除 外部中斷可分為邊沿觸發(fā)型和電平觸發(fā)型。對于邊沿觸發(fā)的外部中斷 0或 1, CPU在響應(yīng)中斷后由硬件自動清除其中斷標志位 IE0或 IE1,無需采取其他措施。對于電平觸發(fā)的外部中斷,其中斷請求撤除方法較復(fù)雜。因為對于電平觸發(fā)外中斷, CPU在響應(yīng)中斷后,硬件不會自動清除其中斷請求標志位 IE0或 IE1,同時,也不能用軟件將其清除,所以,在 CPU響應(yīng)中斷后,應(yīng)立即撤除 INT0或 INT1引腳上的低電平;否則,就會引起重復(fù)中斷而導(dǎo)致錯誤。而 CPU又不能控制 INT0或 INT1引腳的信號,因此,只有通過硬件再配合相應(yīng)軟件才能解決這個問題。圖 57所示是可行方案之一。 圖 57 撤除外部中斷請求的電路 6.中斷響應(yīng)時間 中斷響應(yīng)時間是指從中斷請求標志位置位到 CPU開始執(zhí)行中斷服務(wù)程序的第一條指令所持續(xù)的時間。 CPU并非每時每刻對中斷請求都予以響應(yīng),另外,不同的中斷請求其響應(yīng)時間也是不同的,因此,中斷響應(yīng)時間形成的過程較為復(fù)雜。以外部中斷為例, CPU在每個機器周期的 S5P2期間檢測其輸入引腳 INT0或 INT1端的電平,如果中斷請求有效,則置位中斷請求標志位 IE0或 IE1,然后在下一個機器周期再對這些值進行查詢,這就意味著中斷請求信號的低電平至少應(yīng)維持一個機器周期。這時,如果滿足中斷響應(yīng)條件,則CPU響應(yīng)中斷請求,在下一個機器周期執(zhí)行一條硬件長調(diào)用指令 LCALL,使程序轉(zhuǎn)入中斷矢量入口。該調(diào)用指令執(zhí)行時間是兩個機器周期,因此,外部中斷響應(yīng)時間至少需要 3個機器周期,這是最短的中斷響應(yīng)時間。 如果中斷請求不能滿足前面所述的 3個條件而被阻斷,則中斷響應(yīng)時間將延長。例如,一個同級或更高級的中斷正在進行,則附加的等待時間取決于正在進行的中斷服務(wù)程序的,長度。如果正在執(zhí)行的一條指令還沒有進行到最后一個機器周期,則附加的等待時間為 1~ 3個機器周期 (因為一條指令的最長執(zhí)行時間為 4個機器周期 )。如果正在執(zhí)行的指令是 RETI指令,則附加的等待時間在 5個機器周期之內(nèi) (最多用一個機器周期完成當(dāng)前指令,再加上最多 4個機器周期完成下一條指令 )。若系統(tǒng)中只有一個中斷源,則中斷響應(yīng)時間為3~ 8個機器周期。 外部中斷源的擴展 用定時器作外部中斷源 MCS51單片機有兩個定時器,具有兩個內(nèi)部中斷標志和外部計數(shù)引腳,如在某些應(yīng)用中不被使用,則它們的中斷可作為外部中斷請求使用。此時,可將定時器設(shè)置成計數(shù)方式,計數(shù)初值可設(shè)為滿量程,則它們的計數(shù)輸入端 T0()或 T1()引腳上發(fā)生負跳變時,計數(shù)器加 1便產(chǎn)生溢出中斷。利用此特性,可把 T0腳或 T1腳作為外部中斷請求輸入線,而計數(shù)器的溢出中斷作為外部中斷請求標志。 【 例 51】 將定時器 T0擴展為外部中斷源。 解:將定時器 T0設(shè)定為方式 2(自動恢復(fù)計數(shù)初值 ), TH0和 TL0的初值均設(shè)置為 FFH,允許 T0中斷, CPU開放中斷,部分源程序如下: MOV TMOD,06H MOV TH0,0FFH MOV TL0,0FFH SETB TR0 SETB ET0 SETB EA … 當(dāng)連接在 T0()引腳的外部中斷請求輸入線發(fā)生負跳變時, TL0加 1溢出, TF0置 1,向 CPU發(fā)出中斷申請,同時, TH0的內(nèi)容自動送至 TL0,使 TL0恢復(fù)初值。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1