|
關於Timer1
|
|
新會員
|
小弟使用Pic16F877上,試寫個有關於Timer1送出個pulse的程式,但不知那裏出錯,一直無法Work,請指正一下,謝謝^^
#include <pic.h>
unsigned int i; int cnt; int j;
void timeini() { #define TIMER_1 0x2710 #define TMR1RESET (0xFFFF-TIMER_1) #define TMR1RESET_HIGH TMR1RESET >> 8 #define TMR1RESET_LOW TMR1RESET & 0xFF TMR1CS=0; TMR1ON=0; TMR1H=TMR1RESET_HIGH; TMR1L=TMR1RESET_LOW; TMR1ON=1; TMR1IF=0; TMR1IE=1; GIE=1; }
void initial() { TRISD = 0x00; RD0 = 0; }
void delay() { for(i = 12; --i; ) continue; }
main() { initial(); timeini(); while(1); }
void interrupt timer1_isr(void) { TMR1IF=0; TMR1H=TMR1RESET_HIGH; TMR1L=TMR1RESET_LOW; cnt++; if(cnt==50) { RD0 = 1; delay(); RD0 = 0; delay(); cnt = 0; } }
發表於: 2005/5/26 9:45
|
|