51手記之標(biāo)準(zhǔn)51(三)
MCS51提供5個(gè)中斷源,每個(gè)中斷源有2個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套;優(yōu)先級(jí)相同的中斷服務(wù)程序不會(huì)發(fā)生嵌套。
1.中斷源
包括兩個(gè)外部中斷、兩個(gè)定時(shí)器溢出中斷和一個(gè)串行口中斷。
1)外部中斷源: MCS51有兩條外部中斷請(qǐng)求輸入線,允許外部中斷源以低電平或負(fù)邊沿兩種中斷觸發(fā)方式來(lái)輸入中斷請(qǐng)求信號(hào)
中斷請(qǐng)求標(biāo)志位IE0、IE1,
控制寄存器:TCON
2)定時(shí)器溢出中斷源:
屬于內(nèi)部中斷,8031內(nèi)部有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,受內(nèi)部定時(shí)脈沖(主脈沖經(jīng)12分頻后)或T0/T1引腳上輸入的外部定時(shí)脈沖控制。定時(shí)器T0/T1在定時(shí)脈沖作用下從全“1”變?yōu)槿?ldquo;0”時(shí)可以自動(dòng)向CPU提出溢出中斷請(qǐng)求,以表明定時(shí)器T0或T1的定時(shí)時(shí)間已到。定時(shí)器T0/T1的定時(shí)時(shí)間可由用戶通過程序設(shè)定,以便CPU在定時(shí)器溢出中斷服務(wù)程序內(nèi)進(jìn)行計(jì)時(shí)。
3)串行口中斷源:
屬于內(nèi)部中斷,串行口中斷分為串行口發(fā)送中斷和串行口接收中斷兩種。在串行口進(jìn)行發(fā)送/接收數(shù)據(jù)時(shí),每當(dāng)串行口發(fā)送/接收完一組串行數(shù)據(jù)時(shí),串行口電路自動(dòng)使串行口控制寄存器SCON中的RI葳TI中斷標(biāo)志位置位,并自動(dòng)向CPU發(fā)出串行口中斷,CPU響應(yīng)串行口中斷后便立即轉(zhuǎn)入串行口中斷服務(wù)程序執(zhí)行。
2.中斷控制
CPU對(duì)中斷源的開放和屏蔽,以及每個(gè)中斷源是否被允許中斷,都受中斷允許寄存器IE控制。每個(gè)中斷源優(yōu)先級(jí)的設(shè)定,則由中斷優(yōu)先級(jí)寄存器IP控制。
8031內(nèi)部中斷系統(tǒng)對(duì)各中斷源中斷優(yōu)先級(jí)有一個(gè)統(tǒng)一的規(guī)定,各中斷源按規(guī)定從高到低的排列順序?yàn)椋?/div> 外部中斷0→ 定時(shí)器中斷T0→ 外部中斷1 →定時(shí)器中斷T1→ 串行口中斷
3.中斷響應(yīng)
CPU在每個(gè)機(jī)器周期的S5P2期間采樣中斷標(biāo)志,在下一個(gè)機(jī)器周期的S6期間按先后順序查詢中斷標(biāo)志。在查詢到某一中斷標(biāo)志為1時(shí),則在下一個(gè)機(jī)器周期S1期間按優(yōu)先級(jí)別進(jìn)行中斷處理。中斷系統(tǒng)通過硬件生成長(zhǎng)調(diào)用指令LCALL,將程序轉(zhuǎn)移到中斷入口地址單元,執(zhí)行相應(yīng)的中斷服務(wù)程序。
響應(yīng)中斷時(shí),CPU先置位優(yōu)先級(jí)狀態(tài)觸發(fā)器,接著再執(zhí)行由硬件產(chǎn)生的長(zhǎng)調(diào)用指令LCALL。該指令將程序計(jì)數(shù)器PC的內(nèi)容壓入堆棧保護(hù)起來(lái)。但對(duì)諸如PSW、累加器A等寄存器并不保護(hù)(需要時(shí)可由軟件保護(hù))。然后將對(duì)應(yīng)的中斷入口地址裝入程序計(jì)數(shù)器PC,使程序轉(zhuǎn)移到該中斷入口地址單元,去執(zhí)行中斷服務(wù)程序。
CPU響應(yīng)中斷請(qǐng)求后,在中斷返回(RETI指令)前,必須撤除請(qǐng)求,否則會(huì)錯(cuò)誤地再一次引起中斷響應(yīng)。
關(guān)鍵詞:
51手記標(biāo)準(zhǔn)5
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論