Hola
Supuestamente con este codigo tendria tick de 1us y al cargar el timer con 255 desbordaria cada 1us .
Cuando lo simulo en proteus tengo un tiempo de desborde de 32us.
El codigo este es de prueva para despues implementarlo en otro, o se si es problema de proteus o la programacion.
Saludos
#include <16F876A.h>
#device adc=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=8000000)
long int cont=0;
#int_TIMER0
void TIMER0_isr(void)
{
output_toggle(PIN_C0);
set_timer0(0xff);
}
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_1,0,2);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_timer0(0xff);
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER0);
do
{delay_ms(1);}while(1);
}
Supuestamente con este codigo tendria tick de 1us y al cargar el timer con 255 desbordaria cada 1us .
Cuando lo simulo en proteus tengo un tiempo de desborde de 32us.
El codigo este es de prueva para despues implementarlo en otro, o se si es problema de proteus o la programacion.
Saludos
#include <16F876A.h>
#device adc=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=8000000)
long int cont=0;
#int_TIMER0
void TIMER0_isr(void)
{
output_toggle(PIN_C0);
set_timer0(0xff);
}
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_1,0,2);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_timer0(0xff);
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER0);
do
{delay_ms(1);}while(1);
}