Ðăng Nhập

View Full Version : Cho mình hỏi về timer0 và interrupt!


truongt2
11-04-2010, 01:06 AM
Hiện tại mình đang sử dụng trình biên dịch Hi-tech pro 9.63 cho pic18f. Mình cần tạo một xung 125Khz trên chân A0 sử dụng timer0 và interrupt. Nhưng mình chưa biết cấu hình để sử dụng thạnh anh ngoài và interrupt không hoạt động. Đây là code của mình
#include <18f4550.h>
#include <htc.h>
void init_timer0(void){
T0CON = 0x07; //Timer0 prescaler 1:1, timer off
T0CONbits.T08BIT = 0;
INTCONbits.TMR0IE = 1; //Timer0 interrupt enabled
INTCONbits.GIE = 1; //Global interrupt enabled
TMR0H = xxx; //Preload value for 1ms
TMR0L = xxx;
T0CONbits.TMR0ON = 1; //Turn timer0 on
}
void interrupt ISR(){
TMR0H = xxx; //Preload value for 1ms
TMR0L = xxx;
// Do whatever you have to after 1ms
RA0 = !RA0;
TMR0IF = 0; //Clear interrupt flag
}
void main(){
init_timer0();
TRISA0 = 0;
while(1){
}
}

Trong đó "xxx" thì mình có thể thay thế bằng các chữ số. Mọi người chỉ cần giải thích sao nó không thực hiện ngắt và cách cấu hình sử dụng thach anh ngoài trên chân A6