www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]Interrupt Functions中斷函數(shù)8051及其變種提供了一定數(shù)量的硬件中中斷,這些中斷有:Interrupt Number Interrupt Description Address0 EXTERNAL INT 0 0003h1 TIMER/COUNTER 0 000Bh2 EXTERNAL INT 1 0013h3

Interrupt Functions中斷函數(shù)

8051及其變種提供了一定數(shù)量的硬件中中斷,這些中斷有:

Interrupt Number Interrupt Description Address

0 EXTERNAL INT 0 0003h

1 TIMER/COUNTER 0 000Bh

2 EXTERNAL INT 1 0013h

3 TIMER/COUNTER 1 001Bh

4 SERIAL PORT 0023h

隨著生產(chǎn)商制出新器件,增加了更多的中斷。Cx51支持多達(dá)32個中斷(0-31)。使用下表的中斷向量決定中斷號

Interrupt Number Address Interrupt Number Address

0 0003h 16 0083h

1 000Bh 17 008Bh

2 0013h 18 0093h

3 001Bh 19 009Bh

4 0023h 20 00A3h

5 002Bh 21 00ABh

6 0033h 22 00B3h

7 003Bh 23 00BBh

8 0043h 24 00C3h

9 004Bh 25 00CBh

10 0053h 26 00D3h

11 005Bh 27 00DBh

12 0063h 28 00E3h

13 006Bh 29 00EBh

14 0073h 30 00F3h

15 007Bh 31 00FBh

Cx51編譯器提供了一種在中斷時凋用C函數(shù)的方法。這樣就可以用C和編寫中斷服務(wù)程序。程序員只需要關(guān)心中斷號和選用的寄存器組。編譯器自動地生成中斷向量和中斷服務(wù)程序的入口及出口代碼。函數(shù)的interrupt屬性,在聲明的時候指定當(dāng)前函數(shù)是一個斷函數(shù)。例:

void timer0 (void) interrupt 1 using 2 {

if (++interruptcnt == 4000) { /* count to 4000 */

second++; /* second counter */

interruptcnt = 0; /* clear int counter */

}

}

函數(shù)interrupt屬性的參數(shù)是一個0-31的整數(shù)。在函數(shù)的原型中不允許出現(xiàn)表達(dá)式和interrupt屬性。Interrupt屬性對函數(shù)代碼產(chǎn)生如下影響:

(1)如果需要,在函數(shù)的高用的時候SFR,ACC,B,DPH,DPL和PSW的值都保存在堆棧中

(2)如果不用不著using關(guān)鍵字聲明所用的寄存器組時,在中斷中用到的所有的工作寄存器都保存在堆棧中,

(3)工作寄存器和特殊的寄存器都保存在堆棧中,在中斷程序退出時恢復(fù)這些寄存器

(4)函數(shù)以8051指令RETI結(jié)束

中斷函須遵守以下規(guī)則:

(1)中斷函數(shù)沒有參數(shù)。如果帶有了參數(shù),編譯器將報錯

(2)中斷函數(shù)沒有返回值,并且必須被聲明為void。如果試圖返回一個值編譯器將報錯。但是如果聲明函數(shù)返回值是int類型,將會被編譯器忽略

(3)編譯器檢查對中斷函數(shù)的直接調(diào)用,并且直接拒絕這種調(diào)用。直接調(diào)用中斷過程是沒有意義的,因為退出中斷程序時要執(zhí)行RETI指令,從而影響了8051芯片的硬件中斷系統(tǒng)。因為硬件上沒有中斷請求,這個返回指令的結(jié)果是不確定,并且通常是致命的。也不要通函數(shù)指針間接地調(diào)用一個中斷函數(shù)。

(4)編譯器為每個中斷生成一個中斷向量。為中斷向量生的代碼是跳轉(zhuǎn)到中斷函數(shù)的起始處。中斷向量的生成可以通過在Cx51的命令行使用NOINTVECTOR控制指令禁止。在這種情況下,你必須為每個匯編模塊提供中斷向量。

(5)Cx51允許中斷號的范圍是0-31。參考8051的器件手冊查看哪些中斷是可用的(6)在中斷服務(wù)程序中調(diào)用的函數(shù)使用的寄存器組必須與中斷服務(wù)程序使用的寄存器組一致。如果NOAREGS指令沒有顯式地指定,編譯器就會為這個函靈數(shù)生成使用絕對地址訪問選定的寄存器(使用suing或使用REGISTERBANK指令)的代碼。如果函數(shù)使用的寄存器組不是當(dāng)前選擇的,就會產(chǎn)生不可預(yù)料的后果

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉