giúp mình với!!!!
ai rành về counter xin chi mình cách thiết lập timer ở chế độ đếm?nếu có code thì tốt quá!!!
có phải cứ có 1 xung đếm thì timer sẽ ngắt 1 lần?
mình thử viết như thế này nhưng k thấy nó chạy j cả.
Code:
#include "16F877A.h" // PIC16F877A header file
#device 16F877A*=16 ADC=10
#include <defs_16F877A.h>
#fuses HS, NOWDT, PUT, NOPROTECT, NOLVP // for debug mode
#use delay(clock=8000000) // for 4Mhz crystal
#use fast_io(b)
int16 count0;
int8 b0;
///////////////////////////////////////////////////////////
#INT_TIMER0
TIMER0_ISR()
{
++count0;
if (count0==100)
{
count0=0;
b0=b0+1;// dich trai a 1bit
//portd=170;
}
if (b0==2)
{
b0=0;
count0=0;
//HTGT0=1;
portb=0;
//portd=252;
disable_interrupts(int_timer0);
}
}
/////////////////////////////////////////////////////////////////////
void main(void)
{
set_tris_a(255); // Chi co dau vao tuong tu
set_tris_b(0);
set_tris_d(0);
portb=255;
//portd=255;
count0=b0=0;
enable_interrupts(global);
enable_interrupts(int_timer0);
setup_TIMER_0(RTCC_EXT_L_TO_H );
setup_COUNTERS(RTCC_EXT_L_TO_H,RTCC_DIV_2);
set_TIMER0(1);
while(true)
{
}
}
chương trình của mình định thử là nếu đếm đc 200 xung thì tắt hết led ở portB.nhưng khi thử k thấy có hiện tượng j cả.