c語(yǔ)言中斷程序編寫步驟 89C51單片機(jī)有哪5個(gè)中斷源?
89C51單片機(jī)有哪5個(gè)中斷源?中斷源有五種:(中斷發(fā)生后,進(jìn)入中斷服務(wù)函數(shù),播放中斷服務(wù)函數(shù)后,標(biāo)志位由硬件自動(dòng)清零)外部中斷0、中斷0、中斷標(biāo)志位Ic語(yǔ)言中中斷函數(shù)是如何定義的?在開始寫中斷函數(shù)之
89C51單片機(jī)有哪5個(gè)中斷源?
中斷源有五種:(中斷發(fā)生后,進(jìn)入中斷服務(wù)函數(shù),播放中斷服務(wù)函數(shù)后,標(biāo)志位由硬件自動(dòng)清零)外部中斷0、中斷0、中斷標(biāo)志位I
c語(yǔ)言中中斷函數(shù)是如何定義的?
在開始寫中斷函數(shù)之前,讓 讓我們回顧一下單片機(jī)的中斷系統(tǒng)。
中斷的含義(學(xué)過(guò)微機(jī)原理和接術(shù)的同學(xué)如果沒(méi)學(xué)過(guò)單片機(jī)應(yīng)該知道),所以我們贏了 不要在這里談?wù)撍?。首先,讓我?讓我們回憶一下中斷系統(tǒng)涉及的問(wèn)題。
(1)中斷源:中斷請(qǐng)求信號(hào)的來(lái)源。(8051有三個(gè)內(nèi)部中斷源T0,T1,串口和兩個(gè)外部中斷源INT0,INT1(這兩個(gè)低電平有效,上面的杠不 我不知道如何添加它們
(2)中斷響應(yīng)和返回:CPU收集中斷請(qǐng)求信號(hào),如何轉(zhuǎn)到特定的中斷服務(wù)子程序,執(zhí)行后返回被中斷的程序繼續(xù)執(zhí)行。這期間涉及到CPU響應(yīng)中斷、現(xiàn)場(chǎng)保護(hù)、現(xiàn)場(chǎng)恢復(fù)的條件。
(3)優(yōu)先級(jí)控制:通過(guò)中斷優(yōu)先級(jí)的控制形成中斷嵌套(8051允許兩級(jí)中斷嵌套,優(yōu)先級(jí)順序?yàn)镮NT0、T0、INT1、T1、串口)。具有相同優(yōu)先級(jí)的中斷仍然具有相同的優(yōu)先級(jí)。優(yōu)先級(jí)可以編程,而優(yōu)先級(jí)是固定的。
80C51的原理是:①同優(yōu)先級(jí),先響應(yīng)高優(yōu)先級(jí);②低優(yōu)先級(jí)可以被高優(yōu)先級(jí)打斷;③正在進(jìn)行的中斷不能被同級(jí)別或低優(yōu)先級(jí)的中斷請(qǐng)求中斷。
80C51中斷系統(tǒng)涉及的中斷控制包括中斷請(qǐng)求、中斷許可和中斷優(yōu)先級(jí)控制。
(1)三個(gè)內(nèi)部中斷源T0和T1,串行端口,以及兩個(gè)外部中斷源INT0和INT1。
(2)中斷控制寄存器:定時(shí)和外部中斷控制寄存器TCON(包括T0、T1、INT0和INT1)、串行控制寄存器SCON、中斷許可寄存器IE和中斷優(yōu)先級(jí)寄存器IP。
具體是什么,包括哪些標(biāo)志,這里就不說(shuō)了,所有的書都會(huì)講。
下面我們談?wù)勛⒁馐马?xiàng)。
(1)在1)CPU響應(yīng)中斷后,硬件會(huì)自動(dòng)清除TF0(T0中斷標(biāo)志位)和TF1。
(2)2)CPU響應(yīng)中斷后,IE0(外部中斷INT0請(qǐng)求標(biāo)志位)和IE1在邊沿觸發(fā)模式下被硬件自動(dòng)清零;在電平觸發(fā)模式下,IE0和IE1無(wú)法自動(dòng)明確定義。因此,在中斷返回之前,需要將INT0和INT1引腳的低電平撤回,否則會(huì)出現(xiàn)c中斷。溥多次回應(yīng)。
(3)在串口中斷中,CPU響應(yīng)中斷后,TI(串口發(fā)送中斷請(qǐng)求標(biāo)志位)和RI(接收中斷請(qǐng)求標(biāo)志位)必須由軟件清零。
(4)微控制器復(fù)位后,TCON和SCON復(fù)位這些位。
C51語(yǔ)言允許用戶編寫自己的中斷服務(wù)子程序(中斷函數(shù))。
首先,了解程序的格式:
Void函數(shù)名()中斷m[使用n]
{}
關(guān)鍵詞中斷m[使用n]