中斷系統(tǒng)及中斷優(yōu)先級實(shí)驗(yàn)_第1頁
中斷系統(tǒng)及中斷優(yōu)先級實(shí)驗(yàn)_第2頁
中斷系統(tǒng)及中斷優(yōu)先級實(shí)驗(yàn)_第3頁
中斷系統(tǒng)及中斷優(yōu)先級實(shí)驗(yàn)_第4頁
中斷系統(tǒng)及中斷優(yōu)先級實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、中斷系統(tǒng)及中斷優(yōu)先級實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?)擴(kuò)展八個(gè)發(fā)光二極管2)用2個(gè)按鍵模擬外部中斷源3)案件獨(dú)立模擬中斷4)中斷優(yōu)先級控制實(shí)驗(yàn)設(shè)備1)Usb通訊線2)CH340usb 接口模塊3)74hc2454)74hc1385)排阻4.7k9腳6)排阻4.7k5腳7)300R色環(huán)電阻8)1k色環(huán)電阻9)三極管901210)led 二極管11)陶瓷電容20pf12)晶振 11.059mhz13)按鍵開關(guān)14)萬能板15)stc89c51rc16)焊錫17)電烙鐵18)萬能表19)計(jì)算機(jī)實(shí)驗(yàn)要求1)畫出電路原理圖2)用protues畫出仿真圖3)根據(jù)硬件連接設(shè)計(jì)程序流程圖4)用keil軟件編寫程序5)焊好板子輸

2、入程序調(diào)試完成中斷優(yōu)先級控制功能實(shí)驗(yàn)原理1、中斷的概念如果單片機(jī)沒有中斷功能,單片機(jī)對外部或是內(nèi)部事件的處理只能采用程序查詢方式,即 CPU不斷查詢是否有事件發(fā)生。顯然,采用程序查詢方式,CPU不能再做別的事,而是在大 部分時(shí)間處于等待狀態(tài)。單片機(jī)都具有實(shí)時(shí)處理能力,能對外部或是內(nèi)部發(fā)生的事件做出及 時(shí)地處理,這是靠中斷技術(shù)來實(shí)現(xiàn)的。當(dāng)CPU正在處理某件事情的時(shí)候,外部或內(nèi)部發(fā)生的某一事件請求CPU迅速去處理,于 是CPU暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件。中斷服務(wù)處理程序處理完該事件后, 再回到原理被中止的地方,繼續(xù)原來的工作,這樣的過程稱為中斷,如圖所示。處理事件的 過程稱為CPU的

3、中斷響應(yīng)過程。對事件的整個(gè)處理過程,稱為中斷服務(wù)或中斷處理斷實(shí)現(xiàn)這種功能的部件稱為中斷系統(tǒng),產(chǎn)生中斷的請求源稱為中斷源。中斷源向CPU提出 的處理請求,稱為中斷請求或中斷申請CPU暫時(shí)中止執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序, 除了硬件會自動把斷點(diǎn)地址PC值壓入堆棧之外,用戶還得注意保護(hù)有關(guān)的工作寄存器、累 加器、標(biāo)志位等信息,這稱為現(xiàn)場保護(hù)。最后執(zhí)行中斷返回指令,從堆棧中自動彈出斷點(diǎn)地 址到PC,繼續(xù)執(zhí)行被中斷的程序,這稱為中斷返回。2、MCS-51中斷系統(tǒng)的結(jié)構(gòu)單片機(jī)的中斷系統(tǒng)有5個(gè)中斷請求源,具有兩個(gè)中斷優(yōu)先級,可實(shí)現(xiàn)兩級中斷服務(wù)程序嵌 套。用戶可以用軟件來屏蔽所有的中斷請求,也可以用軟件使

4、CPU接受中斷請求;每一個(gè) 中斷源可以用軟件獨(dú)立地控制為開中斷或是關(guān)中斷狀態(tài);每一個(gè)中斷源中的中斷級別均可用 軟件來設(shè)置。下圖為中斷系統(tǒng)結(jié)構(gòu)圖。SCON 毒允許,總充搟憂走中斷標(biāo)湛硬件甯詢3、中斷請求源中斷系統(tǒng)共有五個(gè)中斷請求源它們是:1) INT0外部中斷0請求,由INT0引腳輸入,中斷請求標(biāo)志為IE0。2) INT1外部中斷1 請求,由INT1引腳輸入,中斷請求標(biāo)志為IE1。3)定時(shí)器/計(jì)數(shù)器T0溢出中斷請求,中斷 請求標(biāo)志為TF0。4)定時(shí)器/計(jì)數(shù)器T1溢出中斷請求,中斷請求標(biāo)志為TF1。5)串口中斷請求,中斷請求標(biāo)志為TI或RI。這些中斷請求源的中斷請求標(biāo)志位分別由特殊功能寄存器TCO

5、N和SCON的相應(yīng)位鎖 存。TCON為定時(shí)器/計(jì)數(shù)器的控制寄存器,字節(jié)地址為88H,可位尋址。TCON也鎖存外部 中斷請求標(biāo)志。如下圖所示。57 D6 05 D4 D3 D2DQTCONTFITRITFOTR0【EiITIJEOIT0筍地成BFH8DH| 8AH89HS8H與中斷系統(tǒng)有關(guān)的各標(biāo)志位的功能如下:IT0一選擇外部中斷請求INT0為跳沿觸發(fā)方式或是電平觸發(fā)方式的控制位。IT0=0,為電 平觸發(fā)方式,引腳INT0上低電平有效IT0=1,為跳沿觸發(fā)方式,引腳INT0上的電平從高到低的負(fù)跳變有效。IT0位可由軟件置 1或清0。IE0外部中斷0的中斷請求標(biāo)志位。當(dāng)IT0=0,為電平觸發(fā)方式,

6、每個(gè)機(jī)器周期的S5P2采樣INT0引腳,若INT0腳為低電平, 則置“ 1”,否則清“0” IE0當(dāng)IT0=1,即INT0為跳沿觸發(fā)方式時(shí),當(dāng)?shù)谝粋€(gè)機(jī)器周期采樣到為低電平時(shí),則置“1” IE0。IE0=1表示外部中斷0正在向CPU申請中斷。當(dāng)CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí), 由硬件清“0” IE0。IT1選擇外部中斷請求INT1為跳沿觸發(fā)方式或電平觸發(fā)方式的控制位,其意義和IT0類 似。IE1外部中斷1的中斷請求標(biāo)志位,其意義和IE0類似。TF0MCS-51片內(nèi)定時(shí)器/計(jì) 數(shù)器T0溢出中斷請求標(biāo)志位。當(dāng)啟動T0計(jì)數(shù)后,定時(shí)器/計(jì)數(shù)器T0從初始值開始加1計(jì)數(shù),當(dāng)最高位產(chǎn)生溢出時(shí),由 硬件置“

7、 1” TF0,向CPU申請中斷,CPU響應(yīng)TF0中斷時(shí),清“0” TF0,TF0也可由軟件清 零(查詢方式)。TF1定時(shí)器/計(jì)數(shù)器T1的益處中斷請求標(biāo)志位,功能和TF0類似。TR1、TR0這2個(gè)位與中斷無關(guān),僅與定時(shí)器/計(jì)數(shù)器T1和T0有關(guān),它們的功能將在其它 章節(jié)中介紹。當(dāng)復(fù)位后,TCON被清0,則CPU關(guān)中斷,所有中斷請求被禁止。SCON為串口控制寄存器,字節(jié)地址為98H,可位尋址。SCON的低二位鎖存串口的接收中 斷和發(fā)送中斷標(biāo)志,其格式如下圖。1SCON一 - 1T3RI位地址L .99U9S1107 D6 D5 CM D3 皿 DI 口。98HSON中各標(biāo)志位的功能如下:T1一串口

8、的發(fā)送中斷請求標(biāo)志位。CPU將一個(gè)字節(jié)的數(shù)據(jù)寫入發(fā)送緩沖器SBUF時(shí),就啟 動一偵串行數(shù)據(jù)的發(fā)送,每發(fā)送完一偵串行數(shù)據(jù)后,硬件自動置“1”TI。但CPU響應(yīng)中斷 時(shí),CPU并不清楚TI,必須在中斷服務(wù)程序中用軟件對TI清“0”。RI一串行扣接受中斷請求標(biāo)志位。在串行口允許接收時(shí),每接收完一個(gè)串行偵,硬件自動 置“1” RI。CPU在響應(yīng)中斷時(shí),并不清除RI,必須在中斷服務(wù)程序中用軟件對RI清“0”。4、中斷允許寄存器IECPU對中斷源的開放或是屏蔽,是由片內(nèi)的中斷允許寄存器IE控制的。IE的字節(jié)地址為A8H,可進(jìn)行位尋址。中斷允許寄存器IE對中斷的開放和關(guān)閉實(shí)現(xiàn)兩級控制。所謂兩級控制,就是有一

9、個(gè)總的 開關(guān)中斷控制位EA,當(dāng)EA=0時(shí),所有的中斷請求被屏蔽,CPU對任何中斷請求都不接受; 當(dāng)EA=1時(shí),CPU開放總中斷,但五個(gè)中斷源的中斷請求是否允許,還要由IE中的低5位所 對應(yīng)的5個(gè)中斷請求允許控制位的狀態(tài)來決定如下圖。D7 D6 D5 D4 D3 D2 1 DOEEEAESET1EXIETOEXO位地址AFHACHABHAAHA9HA8HA8HE中各位的功能如下:中斷允許總控制位。EA=0,CPU屏蔽所有的中斷請求(也稱CPU關(guān)中斷)。EA=1,CPU開放所有中斷(也稱 CPU開中斷)。串口中斷允許位ES=0,禁止串口中斷;ES=1,允許串口中斷。定時(shí)器/計(jì)數(shù)器T1的溢出中斷允許

10、位ET1=0,禁止T1中斷ET1=1,允許T1中斷。外部中 斷1中斷允許位EX1=0,禁止外部中斷1中斷EX1=1,允許外部中斷1中斷定時(shí)器/計(jì)數(shù)器T0 的溢出中斷允許位ET0=0,禁止T0中斷ET0=1,允許T0中斷復(fù)位以后,IE被清零,由用戶程序置“1”或清“0”IE相應(yīng)得位,實(shí)現(xiàn)允許或禁止各中斷 的中斷申請。若使某一個(gè)中斷源允許中斷,必須同時(shí)使CPU開放中斷。如更新IE的內(nèi)容, 可由位操作指令來實(shí)現(xiàn),也可用字節(jié)操作指令實(shí)現(xiàn)。假設(shè)允許片內(nèi)定時(shí)器/計(jì)數(shù)器中斷,禁止其它中斷的中斷申請。的步驟為:1、ES=0/禁 止串口中斷2、EX1=0/禁止外部中斷13、EX0=0/禁止外部中斷04、ET1=

11、1/允許定時(shí)器/計(jì)數(shù)器T1中斷5、5、ET0=1/允許定時(shí)器/計(jì)數(shù)器T0中斷6、6、EA=1/ CPU開放所有中斷(也稱CPU開中斷)。7、以上是采用位操作的方式,還可以采用字節(jié)的方式:IE=0X8AH8、5、中斷優(yōu)先級寄存器IP9、中斷請求源有兩個(gè)中斷優(yōu)先級,對于每一個(gè)中斷請求源可由軟件定為高優(yōu)先級中斷或 是低優(yōu)先級中斷,可實(shí)現(xiàn)兩級中斷嵌套,兩級中斷嵌套的過程如下圖CPU推行主程序中斷限為程序CPU執(zhí)行高級中斷服務(wù)程序10、11、一個(gè)正在執(zhí)行的低優(yōu)先級中斷程序能被高優(yōu)先級的中斷源所中斷,但不能被另一個(gè)低 優(yōu)先級的中斷源所中斷。若CPU正在執(zhí)行高優(yōu)先級的中斷,則不能被任何中斷源所中斷,一直執(zhí)行

12、到結(jié)束,遇到中斷返回指令,返回主程序后再執(zhí)行一條指令后才能響應(yīng)新的中斷請 求??蓺w納為兩條基本原則:12、1 .低優(yōu)先級可被高優(yōu)先級中斷,反之則不能。13、2.任何一種中斷,一旦得到響應(yīng),不會再被它同級中斷源所中斷。如果某一中斷源 被設(shè)置為高優(yōu)先級中斷,在執(zhí)行該中斷服務(wù)程序時(shí),則不能被任何其它的中斷源所中斷。單 片機(jī)片內(nèi)有一個(gè)中斷優(yōu)先級寄存器IP,其字節(jié)地址為B8H,可位尋址,只要用程序改變其內(nèi) 容,即可進(jìn)行各中斷源中斷優(yōu)先級的設(shè)置如下圖D4 口3叵_山_ 也IPPSPTPXIPTOPXC位地址BCHBBH盼HB8H各位的含義如下:串口中斷優(yōu)先級控制位PS=1,串口中斷定義為高優(yōu)先級PS=0,

13、串口中斷 定義為低優(yōu)先級定時(shí)器T1優(yōu)先級控制位PT1=1,T1定義為高優(yōu)先級PT0=1,T1定義為低優(yōu) 先級外部中斷優(yōu)先級控制位PX1=1,外部中斷定義為高優(yōu)先級PX1=0,外部中斷定義為低優(yōu)先級定時(shí)器T0優(yōu)先級控制 位PT0=1,T0定義為高優(yōu)先級PT0=0,T0定義為低優(yōu)先級外部中斷0優(yōu)先級控制為 PX0=1,外部中斷0定義為高優(yōu)先級PX0=0,外部中斷0定義為低優(yōu)先級中斷優(yōu)先級控制寄存器IP的各位都由用戶程序置“1”或清“0”,可用位操作或是字節(jié)操 作指令更新IP的內(nèi)容。單片機(jī)復(fù)位后IP為0,各個(gè)中斷源均為低優(yōu)先級中斷。各中斷源在 同一優(yōu)先級的條件下,外部中斷0的優(yōu)先級最高,串口的優(yōu)先級

14、最低如下圖:中斷源中斷級別外部中斷0最高田溢出中斷外部中斷1TL溢出中斷申行口中斷1最低6、中斷響應(yīng)一個(gè)中斷源的中斷請求被響應(yīng),需要滿足以下條件:1)該中斷源發(fā)出中斷請求。2)CPU開中斷,即中斷總允許位EA=1。3)申請中斷的中斷源的中斷允許位=1,即該中斷沒有被屏蔽4)無同級或更高級中斷正在被 服務(wù)。中斷響應(yīng)就是對中斷源提出的中斷請求的接受,是在中斷查詢之后進(jìn)行的。當(dāng)CPU查詢到 有效的中斷請求時(shí),在滿足上述條件時(shí),緊接著就進(jìn)行中斷響應(yīng)。首先是將PC的內(nèi)容壓入 堆棧以保護(hù)斷點(diǎn),再將中斷入口地址裝入PC,使程序轉(zhuǎn)向相應(yīng)得中斷入口地址。各中斷源 服務(wù)程序的入口地址是固定的如下表所示:中斷源入口

15、地址_外部中斷。0003H 定曲器/計(jì)數(shù)器10OOOBH外部中商10013H定酎器/計(jì)數(shù)器TI001BH一申行口中斷0Q23H4.實(shí)驗(yàn)內(nèi)容1)按照設(shè)計(jì)要求擴(kuò)展8個(gè)led小燈,8個(gè)小燈采取共陽的鏈接方式如圖所示+5LED$6 .坦1K三極管在電線路中最常用的特性一個(gè)是控制應(yīng)用,一個(gè)是驅(qū)動應(yīng)用。這里是通過三極管來驅(qū) 動八個(gè)小燈。當(dāng)然如果直接把小燈的另一端直接接上單片機(jī)的io 口的話坑定會電流過大肯 定會燒壞單片機(jī)所以要在有小燈的支路中加上限流電阻如圖所示Q169012LE決6平了IKRIS二 330DB。X LED2RJicz,330DB1H LEDSR20_=330DB2W L ED4=330D

16、B3,LED5R=33。DB4 ” 羽 LED6R23_jJJODBS以 LED7R,330DB6 LEDSR25_33ODB7必 LED95VDB QDE I電3AlBlA2B2A3B3A4B4A5B5A6B6A7B7ASB8DIRVCCOEGNDU2 74HC2452T456789 +5T i19g R18 室 0 DB。/17 19 3。DB1 / 16 RM330 DB2】5 R21 33。E4 R23 冥。13 R23330 DBS / 皿!3 30 DB /11 J .-匚-=-0.1uFU2PO O ADO P0.1/AD1 P0.2 AD2 P0.3/AD3 P0.4/AD4 PO.5/AD5 P0.6/AD6 P0.7/AD739 DB_O 還 1忒 3* DBj 36 DB; 35 DB, 3432DB7DB。5b?AlBlA2R2A3113A4R4A5B5A6B6A7B7ASBS7IIIC245ll1817nnL33 57 g9光光加上限流電阻還不夠其實(shí)還有一些驅(qū)動IC,這些驅(qū)動IC可以作為單片機(jī)的緩沖器, 僅僅是電流驅(qū)動緩沖,不起到任何邏輯控制的效果,比如我們板子上用的74HC245這個(gè)芯 片,這個(gè)芯片在邏輯上起不到什么別的作用,就是當(dāng)做電流緩沖器的,我們通過查看其數(shù)據(jù) 手冊,74HC245穩(wěn)定工作在70mA電流是沒有問題

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論