C51單片機(jī)應(yīng)用設(shè)計與技能訓(xùn)練(第2版)課件 4.6 掃一掃看教學(xué)課件:中斷程序初始化與中斷服務(wù)函數(shù)_第1頁
C51單片機(jī)應(yīng)用設(shè)計與技能訓(xùn)練(第2版)課件 4.6 掃一掃看教學(xué)課件:中斷程序初始化與中斷服務(wù)函數(shù)_第2頁
C51單片機(jī)應(yīng)用設(shè)計與技能訓(xùn)練(第2版)課件 4.6 掃一掃看教學(xué)課件:中斷程序初始化與中斷服務(wù)函數(shù)_第3頁
C51單片機(jī)應(yīng)用設(shè)計與技能訓(xùn)練(第2版)課件 4.6 掃一掃看教學(xué)課件:中斷程序初始化與中斷服務(wù)函數(shù)_第4頁
C51單片機(jī)應(yīng)用設(shè)計與技能訓(xùn)練(第2版)課件 4.6 掃一掃看教學(xué)課件:中斷程序初始化與中斷服務(wù)函數(shù)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

模塊三中斷系統(tǒng)3.2中斷初始化程序與

中斷服務(wù)函數(shù)1.中斷服務(wù)函數(shù)的一般形式void函數(shù)名(void)interruptm[unsignedn]代表中斷號,是一個常量,取值范圍是0-31。C51編譯器允許32個中斷,從8m+3處產(chǎn)生中斷向量代表中斷函數(shù)將要選擇使用的寄存器組,也是一個常量,取值范圍是0~3。程序存儲器ROM0000H:復(fù)位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口(中斷號m=4)0003H:外部中斷0入口(中斷號m=0)000BH:定時器/計數(shù)器0中斷入口(中斷號m=1)0013H:外部中斷1入口(中斷號m=2)001BH:定時器1/計數(shù)器中斷入口(中斷號m=3)

002BHMCS-51單片機(jī)中斷入口8字節(jié)關(guān)于USING的說明using不僅可以用于中斷服務(wù)函數(shù)的定義中,也可以用于普通的內(nèi)部函數(shù),但不能用于外部函數(shù)。就中斷服務(wù)函數(shù)而言如果不使用using,則在進(jìn)入中斷服務(wù)函數(shù)的時候,中斷函數(shù)中所用到的全部工作寄存器都要入棧,函數(shù)返回之前所有的寄存器內(nèi)容出棧;如果使用using,則在進(jìn)入中斷服務(wù)函數(shù)的時候,只將當(dāng)前工作寄存器組入棧,用using指定的工作寄存器組的內(nèi)容不變也不入棧,函數(shù)返回之前將被保護(hù)的工作寄存器組出棧。提示(1)使用using可縮減中斷服務(wù)函數(shù)的入棧操作時間,因此可以使中斷得到更及時的處理;但同時,使用using要十分小心,要保證寄存器組切換在所控制的區(qū)域內(nèi),否則會導(dǎo)致錯誤。(2)中斷函數(shù)的編寫包括兩部分:中斷源的初始化函數(shù)和中斷服務(wù)函數(shù)。概括地說,中斷源初始化函數(shù)就是對中斷源所需要的一些變量進(jìn)行設(shè)置,其形式與其他普通函數(shù)一樣——一般在主函數(shù)里實現(xiàn);而中斷服務(wù)函數(shù)就是規(guī)定系統(tǒng)在發(fā)生相應(yīng)的中斷的時候要執(zhí)行哪些操作。(3)中斷函數(shù)的調(diào)用過程與一般函數(shù)調(diào)用相似,但一般函數(shù)是程序中事先安排好的;而何時調(diào)用中斷函數(shù)事先無法確定,調(diào)用中斷函數(shù)的過程是由硬件自動完成的。中斷函數(shù)的類型及參數(shù)都為void類型中斷函數(shù)既不能進(jìn)行參數(shù)傳遞,也沒有返回值,因此,中斷函數(shù)的形式參數(shù)列表和函數(shù)類型標(biāo)識符名均為void。定時器0的定義方式:voidintr_time0(void)interrupt1{}2.中斷函數(shù)的編寫(1)中斷的初始化所謂初始化,是對將要用到的MCS-51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定。針對中斷來說,就是對IE,IP進(jìn)行初始化編程,實現(xiàn)如下要求:1)CPU開中斷與關(guān)中斷。2)某個中斷源中斷請求的允許和禁止(屏蔽)。3)各中斷源優(yōu)先級別的設(shè)定。4)外部中斷請求的觸發(fā)方式。(2)中斷服務(wù)函數(shù)中斷服務(wù)函數(shù)就是規(guī)定系統(tǒng)在發(fā)生相應(yīng)的中斷的時候要執(zhí)行哪些操作。實例3-4:電平觸發(fā)與跳變觸發(fā)的比較#include<reg51.h>#include<stdio.h>voidserial_init();voidisr_int0();main(){

serial_init();IT0=0;EA=1;EX0=1;while(1);}voidisr_int0()interrupt0{

printf("Externalinterrupt0responded\n");}voidserial_init(){SCON=0X52;MOD=(TMOD&0X0F)|0X20;TH1=221;TR1=1;}電平觸發(fā)的輸出情況跳變觸發(fā)輸出情況main(){

serial_init();

IT0=1;EA=1;EX0=1;while(1);}實例【例3-5】P1.3外接一個揚(yáng)聲器,當(dāng)與P3.3(外部中斷1輸入引腳)變?yōu)榈碗娖綍r,揚(yáng)聲器發(fā)聲。實例3-5#include<reg51.h>sbitp13=P1^3;voidmain(){IT0=0;EA=1;EX1=1;p13=1;while(1);}voidisr_int1()interrupt2{inti;

p13=~p13;for(i=1000;i>0;i--);}案例示范:參數(shù)越限的直接報警案例液位上、下限SL1、SL2開關(guān)取自“色帶指示報警儀”,分別接P1.3,P1.2。蒸汽壓力下限SP開關(guān)接P1.1。爐堂溫度上限ST開關(guān)接P1.0。P1.7~P1.4輸出接發(fā)光二極管,與4個參數(shù)對應(yīng),越限時則相應(yīng)的LED點亮。#include<reg51.h>voidisr_int0(void);main(){IT0=0;EX0=1;EA=1;while(1){}}主函數(shù)(初始化)voidisr_int0(void)interrupt0{char

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論