單片機項目三_第1頁
單片機項目三_第2頁
單片機項目三_第3頁
單片機項目三_第4頁
單片機項目三_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目三中斷系統(tǒng)——按鍵處理

〖任務描述〗:用S1按鍵控制P1口8只發(fā)光二極管,每按動一次按鈕,使發(fā)光二極管按照D1、D2、D3……D8、D1的順序循環(huán)移動點亮一位。〖學習目標〗:了解單片機的中斷源及其中斷相量、中斷系統(tǒng)、中斷處理過程;掌握外部中斷的應用、編程方法;了解I/O口作為輸入口的特點;學會用查詢法處理按鍵;掌握JB、JNB、AJMP、RETI等指令的應用;

4.1硬件電路4.2工作原理

從圖中可以看出,在P1.0~P1.7外部對應連接8個發(fā)光二極管D1~D8,當P1.x輸出低電平(0)時,對應的發(fā)光二極管被點亮;當P1.x輸出高電平(1)時,對應的發(fā)光二極管熄滅。在P3.2引腳上外接一個按鈕,當按鈕按下時,P3.2為低電平(0),按鈕釋放時,P3.2為低電平(1)。通過檢測P3.2口的狀態(tài)就可以判斷按鍵是否按下。為實現(xiàn)這一功能,通??梢圆捎脙煞N方法:查詢和中斷。4.3程序設計

ORG0000H

SETBP3.2;P3.2置1,將其設置為輸入狀態(tài)

MOVA,#0FEH;設置D1~D8的初始狀態(tài)LOOP:JBP3.2,$;若按鈕未動作,則原地等待

JNBP3.2,$;等待按鈕釋放

MOVP1,A;完成一次按鍵動作,送控制數(shù)

RLA;控制數(shù)左移一位

SJMPLOOP;跳轉(zhuǎn),等待下次按鈕動作

END程序1:查詢法

ORG0000H

;PC復位地址

AJMPMAIN

;MAIN為主程序入口地址

ORG0003H

;外部中斷0的矢量地址 AJMPINT_0;外部中斷0服務程序入口地址

ORG0100H

;真正主程序的開始地址MAIN: MOVSP,#60H;堆棧初始化 MOVA,#0FEH;設置8支燈的初始狀態(tài) SETBIT0;設置外部中斷0為下降沿觸發(fā)方式 SETBEA;CPU開中斷 SETBEX0;外部中斷0開中斷 SJMP$;等待中斷

ORG0200H

;真正主程序的開始地址INT_0: MOVP1,A;送控制數(shù) RLA;控制數(shù)左移

RETI;中斷返回

END程序2:中斷法4.4相關知識1、如何用查詢法實現(xiàn)按鍵檢測?

按鍵是單片機常用的輸入控制設備,用于信息和命令的輸入,當按鍵與燈的對應關系建立后,單片機程序不斷檢測S1按鍵是否有鍵按下,當有鍵按下時,單片機點亮相應的燈。查詢法即不斷讀?。⊕呙瑁㏄3.2口的狀態(tài),CPU通過不同狀態(tài)決定下一步進行什么工作。在本例中,通過兩條語句來實現(xiàn)。

JBP3.2,$JNBP3.2,$

這是兩條位狀態(tài)判斷轉(zhuǎn)移指令,即通過判斷相應位的狀態(tài)來實現(xiàn)跳轉(zhuǎn)。

JBbit,地址標號

若(bit)=1,跳轉(zhuǎn)到地址標號所指向程序段,否則繼續(xù)運行。

JNBbit,地址標號

若(bit)=0,跳轉(zhuǎn)到地址標號所指向程序段,否則繼續(xù)運行。JBP3.2,$

等價于

L1:JBP3.2,L12、中斷概念

中斷是指計算機在執(zhí)行某一程序的過程中,由于計算機系統(tǒng)內(nèi)、外的某種原因,而必須中止原程序的執(zhí)行,轉(zhuǎn)去執(zhí)行相應的處理程序,待處理結(jié)束之后,再回來繼續(xù)執(zhí)行被中止的原程序的過程。 采用了中斷技術后的計算機,可以解決CPU與外設之間速度匹配的問題,使計算機可以及時處理系統(tǒng)中許多隨機的參數(shù)和信息,同時,它也提高了計算機處理故障與應變的能力。

“中斷”與“查詢”相比: 執(zhí)行效率↑ 實時性↑

中斷概念類比

看書中斷處理中斷請求實際生活中斷返回電話鈴響接聽電話看書主程序計算機事件發(fā)生事件處理主程序圖4.1中斷概念示意圖圖4.2中斷過程示意圖

3.中斷源及其優(yōu)先級

中斷源是指能發(fā)出中斷請求,引起中斷的裝置或事件。一個單片機系統(tǒng)通常有多個中斷源,而單片機CPU在某一時刻只能響應一個中斷源的中斷請求,當多個中斷源同時向CPU發(fā)出中斷請求時,則必須按照“優(yōu)先級別”進行排隊,CPU首先選定其中中斷級別最高的中斷源為其服務,然后按由高到低的排隊順序逐一服務,完畢后返回斷點地址,繼續(xù)執(zhí)行主程序。這就是“中斷優(yōu)先級”的概念。

中斷源:(1)INT0:外部中斷0;(2)INT1:外部中斷1;(3)T0:定時/計數(shù)器0溢出中斷;(4)T1:定時/計數(shù)器1溢出中斷;(5)串行中斷(包括串行接收中斷RI和串行發(fā)送中斷TI)。

4.中斷的管理

單片機系統(tǒng)中有一個專門用來管理中斷源的機構(gòu),它就是中斷控制寄存器,我們可以通過對其編程來設置中斷源的優(yōu)先級別以及是否允許某個中斷源的中斷請求等。

(1)定時器控制寄存器TCON TCON為8位特殊功能寄存器,其結(jié)構(gòu)、位名稱、位地址及其功能如下表所示。

位編碼位名稱TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0位地址8FH

8EH

8DH

8CH

8BH

8AH

89H

88H功能

T1啟??刂莆籘0中斷標志位TCON.0/INT1中斷標志位/INT0中斷標志位/INT1觸發(fā)方式位/INT0觸發(fā)方式位T0啟??刂莆籘CON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7位編碼位名稱TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0位地址8FH

8EH

8DH

8CH

8BH

8AH

89H

88H狀態(tài)

TCON.0TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7外部中斷0采用電平觸發(fā)0外部中斷0采用邊沿觸發(fā)111外部中斷1

采用邊沿觸發(fā)0外部中斷1

采用電平觸發(fā)

0000單片機復位時或無中斷請求發(fā)生時,這些位均為0外部中斷1發(fā)出中斷請求時外部中斷0發(fā)出中斷請求時111T0發(fā)出中斷請求時T1發(fā)出中斷請求時單片機復位或T0停止計數(shù)啟動T0開始計數(shù)單片機復位或T1停止計數(shù)啟動T1開始計數(shù)0011

5.中斷的控制

1)中斷允許控制寄存器IE

AT89C51設有專門的開中斷和關中斷指令,中斷的開放和關閉是通過中斷允許寄存器IE各位的狀態(tài)進行兩級控制的。所謂兩級控制是指所有中斷允許的總控制位和各中斷源允許的單獨控制位,每位狀態(tài)靠軟件來設定。中斷允許控制寄存器IE各位的定義及其功能等如下表所示。IE的結(jié)構(gòu)、位名稱、位地址和功能

位編碼IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名稱

EA

ET2

ES

ET1

EX1ET0

EX0位地址

AFH

ADH

ACH

ABH

AAH

A9H

A8H功能

中斷總允許控制位定時器T1的溢出中斷允許控制位

外部中斷1的中斷允許控制位定時器T0的溢出中斷允許控制位外部中斷0的中斷允許控制位串行口中斷允許控制位定時器T2的溢出中斷允許控制位IE的結(jié)構(gòu)、位名稱、位地址和功能

位編碼IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名稱

EA

ET2

ES

ET1

EX1ET0

EX0位地址

AFH

ADH

ACH

ABH

AAH

A9H

A8H功能

禁止所有中斷開通外部中斷/INT0禁止其他中斷00

0000

溫馨提示

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

評論

0/150

提交評論