定時器及外部中斷_第1頁
定時器及外部中斷_第2頁
定時器及外部中斷_第3頁
定時器及外部中斷_第4頁
定時器及外部中斷_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)實驗報告實驗名稱:定時器及外部中斷實驗姓名:陳小燕學(xué)號:100401203班級:電信2班時間:2012.11.29南京理工大學(xué)紫金學(xué)院電光系一、實驗?zāi)康模ㄋ奶?黑體)1、理解定時器計數(shù)器的工作原理2、掌握外部中斷的基本處理方法3、學(xué)習(xí)中斷處理程序的編程方法二、實驗原理1、定時器1、51單片機(jī)有。兩個16位內(nèi)部定時器/計數(shù)器(T/C,Timer/ Counter)0若是計數(shù)內(nèi)部 晶振驅(qū)動時鐘,則是定時器;若是計數(shù)8051的輸入引腳的脈沖信號,則它是計數(shù)器。定時 器實際上也是工作在計數(shù)方式下,只不過對固定頻率的脈沖計數(shù)。由于脈沖周期固定由計數(shù) 值可以計算出時間,有定時功能。定時器有關(guān)的寄存器

2、有工作方式寄存器TMOD和控制寄存器TCONo TMOD用于設(shè)置 定時器/計數(shù)器的工作方式0-3,并確定用于定時還是用于計數(shù)。TCON主要功能是為定時器 在溢出時設(shè)定標(biāo)志位,并控制定時器的運行或停止等。2、TMOD|二 :口,T0 -;tmod Rate c/t mi I gate Fc/t Imo1)M1M0工作方式控制位2)C/T定時器方式或計數(shù)器方式選擇位若C/T=1時,為計數(shù)器方式;C/T = 0時,為定時器方式。3)GATE定時器/計數(shù)器運行門控標(biāo)志位當(dāng)GATE=1時,T/C的啟動受雙重控制,即要求INT0 (或INT1)引腳為高電平且TR0(或 TR1 )置1時,相應(yīng)的T/C才被選

3、通工作。若GATE=0, T/C的啟動僅受TR0 (或TR1)控制, 即置1, T/C就被選通,而不管INT0 (或INT1)的電平是高還是低。3、TCONID7 D6 D5 D4 D3 D2 DI DOtconItfi I tri ItFO ItRoIiEI IlTl IlEO I ITOTF0、TF1分別是定時器/計數(shù)器T0、T1的溢出中斷標(biāo)志位,加法計數(shù)器計滿溢出時 置1,申請中斷,在中斷響應(yīng)后自動復(fù)0oTF產(chǎn)生的中斷申請是否被接受,還需要由中斷是 否開放來決定TR1、TR0分別是定時器/計數(shù)器T1、T0的運行控制位,通過軟件置1后, 定時器/計數(shù)器才開始工作,在系統(tǒng)復(fù)位時被清0o4、初

4、始化初始化步驟在使用51系列單片機(jī)的T/C前,應(yīng)對它進(jìn)行編程初始化,主要是對TCON和TMOD 編程,還需要計算和裝載T/C的計數(shù)初值。一般完成以下幾個步驟:確定T/C的工作方式編程TMOD寄存計算T/C中的計數(shù)初值,并裝載到TH和TL;T/C在中斷方式工作時,必須開CPU中斷和源中斷編程IE寄存器;啟動定時器/計數(shù)器編程TCON中TR1或TR0位。計數(shù)初值的計算定時器的計數(shù)初值:在定時器方式下,T/C是對機(jī)器周期脈沖計數(shù)的,fOSC=6MHZ,一個機(jī)器周期為 12/fOSC=2us,貝0方式0 13位定時器最大定時間隔=213*2us=16.384ms方式1 16位定時器最大定時間隔=216

5、*2us=131.072ms方式2 8位定時器最大定時間隔=28*2us=512us若T/C工作在定時器方式1時,要求定時1ms,求計數(shù)值。如設(shè)計數(shù)初值為x,則 有:(216-x)*2us=1000us推出 x=216-500因此,TH,TL 可置 65 536-500計數(shù)器的計數(shù)初值在計數(shù)器方式下:方式0 13位計數(shù)器的滿計數(shù)值=213=8192方式1 16位計數(shù)器的滿計數(shù)值=216=65 536方式2 8位計數(shù)器的滿計數(shù)值=28=256若T/C工作在計數(shù)器方式2時,則要求計數(shù)10個脈沖的計數(shù)初值,如設(shè)計數(shù)初值 為x。則有28-x=10 即 x= 28-10因此,TH=TL=256-102、

6、中斷1、P1 口為計數(shù)值輸出口,利用定時器實現(xiàn)一秒定時,計數(shù)初值為0,每隔一秒加一; 另外,外部中斷0引腳外接鍵盤,按鍵使得顯示數(shù)值加1.2、系統(tǒng)板上硬件連線3、關(guān)于內(nèi)部計數(shù)器的編程主要是定時常數(shù)的設(shè)置和有關(guān)控制寄存器的設(shè)置。4、外部中斷的初始化設(shè)置共有三項內(nèi)容:中斷總允許即EA=1,外部中斷允許即EXi=1 (i=0或1),中斷觸發(fā)方式設(shè)置。中斷觸發(fā)方式設(shè)置一般有兩種方式:電平觸發(fā)方式和脈沖 (邊沿)觸發(fā)方式,本實驗選用后者,其前一次為高電平后一次為低電平時為有效中斷請求。因此高電平狀態(tài)和低電平狀態(tài)至少維持一個周期,中斷請求信號由引腳INT0(P3.2)和INT1(P3.3)引入,本實驗由I

7、NT0(P3.2)引入。5、中斷控制原理:中斷控制是提供給用戶使用的中斷控制手段。實際上就是控制一些寄存器,51系列用 于此目的的控制寄存器有四個:TCON、IE、SCON及IP。6、中斷響應(yīng)的過程:首先中斷采樣然后中斷查詢最后中斷響應(yīng)。采樣是中斷處理的第一步,對于本實驗的脈 沖方式的中斷請求,若在兩個相鄰周期采樣先高電平后低電平則中斷請求有效,IE0或IE1 置“1”;否則繼續(xù)為“0”。所謂查詢就是由CPU測試TCON和SCON中各標(biāo)志位的狀態(tài)以確 定有沒有中斷請求發(fā)生以及是那一個中斷請求。中斷響應(yīng)就是對中斷請求的接受,是在中斷 查詢之后進(jìn)行的,當(dāng)查詢到有效的中斷請求后就響應(yīng)一次中斷。7、8

8、051的中斷系統(tǒng)8051的中斷系統(tǒng)包括5個中斷源,并提供兩個優(yōu)先級,允許用戶對中斷源進(jìn)行獨立控制和 中斷優(yōu)先級設(shè)置.8051支持的5個中斷源分別為外部中斷0、定時器0溢出中斷、外部中斷1、 定時器1溢出中斷和串口中斷。對應(yīng)的中斷號為0、1、2、3、4;寄存器有4個工作組可 以切換,為0-3;C51中,中斷服務(wù)程序是以中斷函數(shù)的方式來時實現(xiàn)的。中斷函數(shù)格式如下:void函數(shù)名()interrupt中斷號using工作組(中斷服務(wù)程序內(nèi)容;內(nèi)部計數(shù)器在單片機(jī)中主要有定時器和計數(shù)器兩個功能。本實驗使用的是定時器, 定時為一秒鐘。CPU運用定時中斷方式,實現(xiàn)每一秒鐘輸出狀態(tài)發(fā)生一次反轉(zhuǎn),即發(fā)光管每 隔

9、一秒鐘亮一次。定時器有關(guān)的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD 用于設(shè)置定時器/計數(shù)器的工作方式0-3,并確定用于定時還是用于計數(shù)。TCON主要功能是 為定時器在溢出時設(shè)定標(biāo)志位,并控制定時器的運行或停止等。內(nèi)部計數(shù)器用作定時器時, 是對機(jī)器周期計數(shù)。每個機(jī)器周期的長度是12個振蕩器周期。因為實驗系統(tǒng)的晶振是12MHZ, 本程序工作于方式2,即8位自動重裝方式定時器,定時器100uS中斷一次,所以定時常數(shù) 的設(shè)置可按以下方法計算:機(jī)器周期=12:12MHz=1uS(256-定時常數(shù))X1uS=100uS定時常數(shù)=156。然后對100uS中斷次數(shù)計數(shù)10000次,就是1秒

10、鐘。單片機(jī)中斷系統(tǒng)是為使CPU具有對外界事件進(jìn)行處理能力而設(shè)置的。當(dāng)CPU正在處理 某事件時外界發(fā)生緊急事件請求,CPU暫停當(dāng)前工作,轉(zhuǎn)而去處理這個緊急事件。處理完以 后,再回到原來被中斷的地方,繼續(xù)原來的工作,這樣的過程稱為中斷。能夠?qū)崿F(xiàn)中斷功能 的事件為中斷系統(tǒng),向CPU發(fā)出中斷請求稱為中斷源。MCS-51單片機(jī)的中斷系統(tǒng)提供了 5 個中斷源,具有兩個中斷優(yōu)先級,可實現(xiàn)兩極中斷服務(wù)程序嵌套。通過關(guān)中斷或開中斷來控 制中斷源的狀態(tài)。中斷相關(guān)寄存器及其設(shè)置:1)中斷屏蔽:CPU可以對中斷源開放或屏蔽,每一個中斷源是否允許中斷,是由內(nèi) 部中斷允許寄存器IE的相應(yīng)位控制。該位為1允許中斷,為0禁止

11、中斷,其格式如下:EA/ESET1EX1ET0EX0cpu中斷開放標(biāo)志串口中斷T1定時外部中斷1T0定時外部中斷0例句:如要使CPU可以對所有中斷源開放:EA=12)中斷優(yōu)先級:MCS-51有兩個中斷優(yōu)先級,對于每一個中斷源均可編程為高優(yōu)先級 或低優(yōu)先級,可以實現(xiàn)二級中斷嵌套。中斷優(yōu)先級響應(yīng)的原則:低級可被高級中斷,反之不 能;任何一種中斷,一旦被CPU響應(yīng),不能被同級中斷源所中斷。中斷優(yōu)先級寄存器IP的格式如下:“1”為高級優(yōu)先,“0”為低級優(yōu)先。/PSPT1PX1PT0PX0串口中斷定時器T1外部中斷1定時器T0外部中斷0(寄存器地址 IE: 0A8H IP: 0B8H)3)中斷觸發(fā)方式選

12、擇:單片機(jī)觸發(fā)方式有電平觸發(fā)和邊沿觸發(fā)兩種。本實驗中外部 中斷信號接開關(guān),所以應(yīng)設(shè)為電平觸發(fā)。編程時需要設(shè)置定時器控制寄存器TCON中與中斷 有關(guān)的位為“1”,外部中斷0對應(yīng):IT0;外部中斷1對應(yīng):IT14)中斷源:MCS-51中斷系統(tǒng)5個中斷源在本實驗的中斷處理程序中,因為中斷定時常數(shù)的設(shè)置對中斷程序的運行起到關(guān)鍵作 用,所以在置數(shù)前要先關(guān)對應(yīng)的中斷,置數(shù)完之后再打開相應(yīng)的中斷。3、+5Vfl口lbelc|_|dp數(shù)碼管 f GNDa b nne d GNDc dp(a)dp a -b - c - d -e -f - g dp -上(b)2.共陰極數(shù)碼管編碼0 x3f , 0 x06,0

13、x5b , 0 x4f , 0 x66,0 x6d ,0123450 x7d , 0 x07,0 x7f , 0 x6f , 0 x77,0 x7c ,6789 A B0 x39,0 x5e , 0 x79,0 x71,0 x00C D E F 無顯示1)讓第一個數(shù)碼管顯示一個8字對于實驗板(共陰極),數(shù)碼管的選通是通過P2 口控制三八譯碼器得到的,要讓第一 個數(shù)碼管顯示8字,那么別的數(shù)碼管的位選就要關(guān)閉,即只打開第一個數(shù)碼管的位選??刂莆贿x的P2 口要輸出的數(shù)據(jù)位0 xf7 (二進(jìn)制為1111 0111)。位選確定后,在確定段 選,要顯示的是8,那么只有dp段為0,其余段為1,所以P0 口要

14、輸出0 x7f(二進(jìn)制 0111 1111)0三、實驗內(nèi)容P1 口為計數(shù)值輸出口,利用定時器實現(xiàn)1秒定時時,計數(shù)初值為0,每個1秒加1;另外,外部中斷0引腳外接鍵盤BUTTON,按鍵使得顯示數(shù)值加1o系統(tǒng)板上硬件連接把單片機(jī)系統(tǒng)A2區(qū)的J61接口的P1.0P1.6端口與D1區(qū)的J52接口連接。把單片機(jī)系 統(tǒng)A2區(qū)的INT0端口用導(dǎo)線連接到D1區(qū)的KEY1端口上。程序設(shè)計流程圖P2口顯示輸出值(a)主流程圖(b)定時中斷流程圖(c)外部中斷流程1、電路圖原理: S ft (& El=二回1BU7447AT89C51 BUTTON CAP RESCDA國 7!:Th.L1panPO.1PD2XTA

15、L2PO3PO.+pasPOjGFSTpa.?PZP2PZ:PZ:ALEP2.EhPZj!PZJEP2apmpinP1.1P3.1P12pimP1.+P3pi 5F3P1.6P丑P1.7P3.COP +* t | | I | II | ! 5 Messagefs ANIMATING: 00:00:03.300000 (CPU load 驀開始 雄w i -破 is. isis UBTITLED - . . .15i5 2_1 - ISIS . 阮 2 Windows2、參考程序流程圖編寫的軟件:EXO=1;PXO=1;PT1=O;EX1=1;PX1=1;TR1=1;while(1)畫圖Wind

16、owQ File Edit View Project Debug Flash Peripherals Tools SVinclude sbit plO=PlAO;unsigned char i=0, b=0,a=0; void main()void to() interrupt 3TH1=(65536-50000)/256;TL1=(65536-50000)%256;i+;if(i=20)void into() interrupt 0 |a-H-;ti=a+a/10*6; Pl=ti;)void inti() interrupt 2a=0;ti=a+a/10*6; Pl=b;TM0D=0 xl0;TH1=(65536-50000)/256;TL1= (65536-50000)%256;EA=1;ET1=1;a+;b=a+a/10*6;Pl|=b;if(a=100) (a=0;-:J Target 1-S cun- c e Gr rnip 1固 STARTUP.A51 -g| 2_1. c: reg51 h- ftision2 - C:Docuents and Settingsde3、觀察實驗現(xiàn)象加以分析:本實驗實現(xiàn)從零累計,數(shù)值間隔為

溫馨提示

  • 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

提交評論