Timer 1 là timer 16bit, có 1 vài chức năng mở rộng so với timer 0. Do vậy, thao tác với timer 0 thế nào thì với timer 1 cũng tương tự. Bạn tự đọc datasheet để rõ hơn.
Đây là đoạn chương trình khởi tạo: (PIC16F616; 887 chắc cũng y chang)
Code:
timer1_init(void)
{
// ** Timer1 Setting
TMR1CS = 0; // Choose internal clock source
TMR1GE = 0; // no controlled gate
// Prescale 1:8
T1CKPS0 = 1;
T1CKPS1 = 1;
// Setup interrupt
GIE = 1; // Gobal Interrupt Enable
PEIE = 1; // Peripheral Interrupt Enable
TMR1IE = 1; // T1 Interrupt Enable
TMR1IF = 0; // T1 Interrupt Flag 'On/off 1/0'(default is 1)
// Set T1 value
TMR1H =0;
TMR1L =0;
// Enable T1
TMR1ON = 1;
}
Bài tập bạn nói dùng timer 1 ở chế độ nguồn xung clock ngoài, xem datasheet để hiểu thêm nhé!