#use delay (clock=20000000)
void mani()
{
delay_ms (30);
// tu rutina de calculo de tiempo
}
/*
Programa para evaluar las diferencias de medición entre el
StopWatch y el TMR0
*/
#include <16f628a.h>
#use delay(clock=20000000)
unsigned int ContadorGlobal;
#int_timer0
void timer0interrupt()
{
ContadorGlobal++;
clear_interrupt(int_timer0);
}
void main()
{
unsigned long cuenta;
float CycleTime;
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER0);
while (1)
{
CycleTime = 0;
ContadorGlobal = 0;
set_timer0(0);
//delay_ms(30);
for (cuenta=400000; cuenta != 0; cuenta--);
CycleTime=(float)(0.0000512*get_timer0()+0.0131072*contadorglobal);
}
}
/*
Programa para evaluar las diferencias de medición entre el
StopWatch y el TMR0
*/
#include <16f876a.h>
#use delay(clock=20000000)
#use rs232(baud=2400, xmit=PIN_C6, rcv=PIN_C7)
unsigned int ContadorGlobal;
#int_timer0
void timer0interrupt()
{
ContadorGlobal++;
clear_interrupt(int_timer0);
}
void main()
{
unsigned long cuenta;
float CycleTime = 0;
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER0);
while (1)
{
CycleTime = 0;
ContadorGlobal = 0;
set_timer0(0);
delay_ms(30);
printf(" %f ", cycleTime);
//for (cuenta=400000; cuenta != 0; cuenta--);
CycleTime=(float)(0.0000512*get_timer0()+0.0131072*contadorglobal);
printf(" %f ", cycleTime);
}
}
/*************
*
* Prueba para ver si puede usar el puerto serie con HiTech
*
*************/
#define PIC_CLK 20000000
#include <htc.h>
#include "delay.c"
#include "serial.c"
//#include <stdlib.h>
//#include <stdio.h>
//#include <string.h>
#include "Definiciones.h"
/*
#define INTERNAL 0
#define EXT_L_TO_H 32
#define EXT_H_TO_L 48
#define TMR0_DIV_1 8
#define TMR0_DIV_2 0
#define TMR0_DIV_4 1
#define TMR0_DIV_8 2
#define TMR0_DIV_16 3
#define TMR0_DIV_32 4
#define TMR0_DIV_64 5
#define TMR0_DIV_128 6
#define TMR0_DIV_256 7
#define set_timer0(x) TMR0= x
#define setup_timer0(x) (OPTION = 0b11000000|x)
*/
unsigned int ContadorGlobal;
void interrupt tc_int(void)
{
if (T0IE && T0IF)
{
T0IF=0;
++ContadorGlobal;
}
}
void main (void)
{
unsigned long Ciclos;
setup_timer0(INTERNAL|TMR0_DIV_256);
serial_setup();
INTCON= 0b10100000;
while (1)
{
set_timer0(0);
ContadorGlobal = 0;
Ciclos = 0;
DelayMs(20);
putst ("Que Mal el CCS ");
DelayMs (30);
putst ("Que barbaro lo del Timer0");
Ciclos = (ContadorGlobal*131072) + (unsigned long)(TMR0)*512;
}
}