21-11-2011, 10:24 AM | #3 |
Đệ tử 5 túi
|
chào bạn,bạn mới học thì nên steup timer 1 cách tường minh hơn.
code của bạn bị sai phần steup timer0,OPTION = 0B110 =>> bạn clear cả 2 bit T0SE=0,T0CS=0,không biết bạn tính dùng timer hay counter . với lại theo thứ tự thì bạn nên set trisc trước rồi mới tới portc đây là code tham khảo về setup timer 0 Code:
// MCU : 16f877a // XTAL : 4MHz // Connection: A led is connected to RD0. // Desctiption: Timer0 has overflowed: the led will blink after every 1 second. #include <htc.h> __CONFIG(XT & WDTDIS & LVPDIS & DEBUGDIS); #define _XTAL_FREQ 4000000 unsigned char count=0; //Ham main ******************************* void main(void) { ANSEL=0x00;//ADC OFF ANSELH=0x00; TRISC=0x00; PORTC=0x00; T0CS=0; //USE INTERNAL CLOCK PSA=0; //USE PRESCALER PS2=0; PS1=1; PS0=1; //1:16 T0IF=0; //Clear int flag T0IE=1; //Enable tmr0 int GIE=1; //Enable glb int TMR0=0x06; //TMR0 init while(1){}; //Waiting for int, so we dont do anything } }
__________________
Chỉ sợ thiếu tiền...... |
|
|