• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (tdzuc)




Re: 關於pic18f4520 timer0低優先中斷
#31
初級會員
初級會員


抱歉我打錯了 它是關畢高低優先中斷 然後把timer0的中斷放在中斷向量0x0018就是低優先中斷向量的地方
可是這樣就不能正長運做 中斷不會發生 想問為什摸?

發表於: 2009/4/4 2:36
頂部


關於pic18f4520 timer0低優先中斷
#32
初級會員
初級會員


下述是根據微處理器原理與應用-C語言與PIC18微控制器這本書的範例,裡面的timer0是設定成低優先中斷,中斷向量設在0x0018,但是這樣都沒辦法正確的進入中斷,如果設成0x0008便可以了,想請問為什麼會這樣呢?

//**********************************************************
//* Ex8_4_But_TMR0INT.c
//* 程式將偵測按鍵SW3的狀態,並遞加計數的內容。
//* 利用中斷功能,當計數數值超過四次反轉燈號。
//**********************************************************
#include <p18f4520.h> //納入微控制器定義檔
#include <timers.h> //納入計時器函式庫定義檔

// 結構位元定義
#pragma config OSC=HS, BOREN=OFF, BORV = 2, PWRT=ON, WDT=OFF, LVP=OFF

#define OSC_CLOCK 10 // 工作時序頻率定義
#define push_no 4 //預設觸發次數
#define count_val 256-push_no

//宣告函式原型
void Init_TMR0(void);
void timer0_isr (void);

//宣告並安排中斷執行程式記憶體位置
#pragma code low_vector=0x18
void low_interrupt (void)
{
_asm GOTO timer0_isr _endasm
}
#pragma code

#pragma interruptlow timer0_isr

void timer0_isr (void)
{
INTCONbits.TMR0IF = 0; // 清除中斷旗標
WriteTimer0(count_val);
// 當將計數器觸發次數歸零寫入預設值
PORTD=PORTD^0xFF; // 使用運算敘述將LED燈號反轉
}


void main (void) {

PORTD = 0x0F;// 將PORTD設定為b'00001111'
TRISD = 0; // 將TRISD設為0,PORTD設定為輸出
TRISAbits.TRISA4=1;// 將按鍵3所對應的RA4設定為輸入

Init_TMR0(); // 初始化設定Timer0函式

INTCONbits.PEIE = 1; // 開啟周邊中斷功能INTCONbits.GIE = 1; // 開啟全域中斷控制

while (1) ; // 無窮迴圈
}

void Init_TMR0 (void){
OpenTimer0(TIMER_INT_ON &T0_8BIT &T0_SOURCE_EXT &T0_EDGE_RISE &T0_PS_1_1 );// 相當於 T0CON=0xE8
WriteTimer0(count_val); // 相當TMR0L=count_val
INTCONbits.TMR0IF = 0; // 清除中斷旗標
}

發表於: 2009/4/3 20:28
頂部



« 1 2 3 (4)



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------