Hasta acá voy muy bien, puedo contar los pulsos, lo que no sé cómo hacer, es medir el duty de la señal y mostrarlo en porcentaje. ¿Cómo lo hago?
No me doy idea de cómo hacer para mostrarlo en el lcd y que cálculo hacer.
No me doy idea de cómo hacer para mostrarlo en el lcd y que cálculo hacer.
PHP:
#include <16f883.h>
#device ADC=10
#use delay (internal = 8MHz)
#FUSES NOWDT
#FUSES XT
#FUSES PUT
#FUSES NOPROTECT
#FUSES NODEBUG
#FUSES NOLVP
#FUSES NOCPD
#include <lcd.C>
int16 pulso_total;
int16 pulsos;
int8 aux;
#int_TIMER1
void temp1s(void)
{
aux++;
if (aux == 2)
{
pulso_total = pulsos;
pulsos = 0;
aux = 0;
}
set_timer1 (3036);
}
#int_ccp1
void trata_pulsos(void)
{
pulsos++;
}
void main()
{
lcd_init();
setup_ccp1(CCP_CAPTURE_RE);
setup_timer_1 (T1_INTERNAL | T1_DIV_BY_8);
enable_interrupts(INT_CCP1);
enable_interrupts(INT_TIMER1);
enable_interrupts(global);
set_timer1 (3036);
while(TRUE)
{
lcd_gotoxy(7,2);
printf(lcd_putc,"speed=%03lu",pulso_total);
delay_ms (500);
}
}
Última edición por un moderador: