實(shí)驗(yàn)三 定時(shí)器中斷_第1頁
實(shí)驗(yàn)三 定時(shí)器中斷_第2頁
實(shí)驗(yàn)三 定時(shí)器中斷_第3頁
實(shí)驗(yàn)三 定時(shí)器中斷_第4頁
實(shí)驗(yàn)三 定時(shí)器中斷_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 本科實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱: 實(shí)驗(yàn)三 定時(shí)器中斷實(shí)驗(yàn) 課程名稱:定時(shí)器中斷實(shí)驗(yàn)實(shí)驗(yàn)時(shí)間:2015.11.25任課教師:梁蕻實(shí)驗(yàn)地點(diǎn):4-338實(shí)驗(yàn)教師:梁蕻實(shí)驗(yàn)類型: 原理驗(yàn)證 綜合設(shè)計(jì) 自主創(chuàng)新學(xué)生姓名:學(xué)號(hào)/班級(jí):組 號(hào):學(xué) 院:信息與電子學(xué)院同組搭檔:專 業(yè):信息工程成 績:實(shí)驗(yàn)三 定時(shí)器中斷實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?. 學(xué)習(xí)使用PIC定時(shí)器模塊和中斷功能 2. 學(xué)習(xí)對(duì)PIC18F452的編程二、實(shí)驗(yàn)原理:TIMER2 模塊工作原理:Timer2 模塊定時(shí)器有以下特性: 8 位定時(shí)器(TMR2 寄存器) 8 位周期寄存器(PR2) 可讀寫(TMR2 和PR2 寄存器均可) 可軟件編程的預(yù)分頻器(1

2、:1、1:4 和1:16) 可軟件編程的后分頻器(1:1 到1:16) TMR2 與PR2 匹配時(shí)中斷Timer2 模塊利用8 位定時(shí)器(TMR2 寄存器)對(duì)單片機(jī)指令周期(16MHz,4s)從0開始進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)值與預(yù)先存在PR2 寄存器中的數(shù)值相等時(shí),TMR2 寄存器自動(dòng)歸0,同時(shí)產(chǎn)生一個(gè)中斷。若預(yù)分頻器設(shè)為1:16,后分頻器設(shè)為1:10,PR2設(shè)為199,則Timer2 模塊的定時(shí)時(shí)間為4/16×16×10×200= 8 ms三、程序設(shè)計(jì)內(nèi)容:1用Timer2控制LED點(diǎn)亮,點(diǎn)亮持續(xù)時(shí)間為8mS。將Timer2 模塊設(shè)定為中斷模式,每8mS 中斷一次。2L

3、ED間隔48mS向左移7bit后再向右移7bit3LED重復(fù)左、右移動(dòng)(跑馬燈)四實(shí)驗(yàn)步驟: 根據(jù)實(shí)驗(yàn)要求,需要修改程序1首先需要設(shè)置中斷優(yōu)先級(jí)位RCONbits.IPEN=1;2Timer2設(shè)為高優(yōu)先級(jí),對(duì)應(yīng)的中斷向量地址地址為0x08H IPR1bits.TMR2IP=1; 3允許高優(yōu)先級(jí)中斷 INTCONbits. GIEH=1;4預(yù)分頻器設(shè)為1:16,后分頻器設(shè)為1:10,PR2設(shè)為199修改后的實(shí)驗(yàn)代碼:/*/* /* Exercise 4 /* MPLAB C18 WOrkshop Exercise for High-priority */* Setting with C code

4、./* /*#include <p18f452.h>#include <timers.h>#include <delays.h>#pragma config WDT = OFF#pragma config OSC = HS#pragma config LVP = OFFvoid isr_high(void);volatile unsigned char Long_Count ;volatile unsigned char Direct_LED ;volatile unsigned char Dir_Count ;void main(void)TRISD=0x

5、00;/ Set output port for LED driverPORTD=0b00000001;/ Set b0 of LED is On/*/ Exercise / Enable Timer2 interrupt with high Priority/ /* /(Refer 18fxx2_cn(39564b) of Page 75-84) / Enable Interrupt Priority bit / Set Timer2 for High Priority / Enable High Priority Interrupt /*/* Interrupt Time */ /*(4/

6、16Mhz) 16*10*(199+1) = 8mS */*/(Refer MPLAB C18函數(shù)庫 of Page 50) / Turn On the Timer2 with Interrupt /(4/16Mhz) 16*10*(199+1) = 8mSRCONbits.IPEN=1;IPR1bits.TMR2IP=1;INTCONbits.GIEH=1;OpenTimer2 (TIMER_INT_ON&T2_PS_1_16&T2_POST_1_10);PR2=199;Long_Count=0;Direct_LED=0;Dir_Count=0;while(1);/ Loop

7、 Here!/*/* #pragma Interrupt Declarations */* */* Function: isr_high_direct */* - Direct execution to the actual */* high-priority interrupt code. */*#pragma code isrhighcode = 0x0008void isr_high_direct(void) _asm /begin in-line assembly goto isr_high/go to isr_high function _endasm /end in-line as

8、sembly#pragma code/*/* Function: isr_high(void) * /* High priority interrupt will */* */* Save the received data to buffer Rec_Data* /*#pragma interrupt isr_high void isr_high(void)PIR1bits.TMR2IF=0;/ Clear Timer2 interrupt Flagif (Long_Count <= 6) Long_Count+; / 8mS * 6 = 48mSelseLong_Count=0;/

9、Time is 48mS, do the functionif (Direct_LED=0x00)/ Right or Left shift PORTD<<=1;/ LED left shiftDir_Count+;if (Dir_Count=7) / End of LED position?Dir_Count=0;/ Yes, set flag of right shiftDirect_LED=0x1;elsePORTD>>=1;/ LED right shiftDir_Count+;if (Dir_Count=7) Dir_Count=0;Direct_LED=0x00;#pragma code實(shí)驗(yàn)過程:實(shí)驗(yàn)結(jié)果:五、調(diào)試用ICD2編程、調(diào)試:建立好新項(xiàng)目后,設(shè)置好項(xiàng)目設(shè)置,把源程序加入項(xiàng)目,按照要求對(duì)源程序進(jìn)行修改,編譯成功后,再創(chuàng)建完成之后把程序燒寫進(jìn)單片機(jī)。運(yùn)行后,單片機(jī)紅色的LED燈從左至右然后從右至左依次亮起、

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論