Hola a todos, antes que nada una felicitacion por este foro que sin duda es de gran ayuda para quienes comenzamos en esto.
Bueno, les comento, necesito reconstruir una señal con un PIC a partir de una señal que entre al mismo, es decir, necesito "sacar" la señal que "metí" despues de digitalizarla.
(Es para una practica, mi PIC es el 16f873a)
Tengo una idea teorica, y dos programas en C que creo me pueden servir.
Mi idea es convertir la señal aplicada en AN0 a una señal digital en el puertoB, la reconstruccion de esta misma señal seria con un PWM.
Me pueden orientar?
Para convertir la señal tengo este programa:
#include <16F873a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use fast_io(B)
#use fast_io(a)
#use fast_io(c)
#byte portb = 6
#byte porta = 5
#byte portc = 7
#DEFINE LED DELAY_MS(100)
void main() {
uno:
set_tris_a(0xff);
set_tris_c(0x00);
set_tris_b(0x00);
SETUP_ADC(ADC_CLOCK_INTERNAL);
SETUP_ADC_PORTS(AN0);
SET_ADC_CHANNEL(0);
output_b(READ_ADC());
LED;
goto uno;}y para un PWM encontre esto:
void main()
{
TRISC = 0b10111001;
PR2 = 0xFF; // PERIODO Seteado a 0xFF
T2CON = 0b00000110; // Prescalar de 16 PWM Freq = 1.22kHz -- Clock 20MHz
CCP1CON=0b00001100; //
CCP2CON=0b00001100;
while(1)
{
CCPR1L=50;
CCPR2L=50; // 50 -- 180 us
// 100 -- 320 us
// 150 -- 480 us
// 200 -- 640 us
}
}Estoy algo confundido por que no se si se puedan unir ambos, o si me serian utiles para lo que les comento. Que opinan?? alguna idea diferente para lograr lo que les comento?
De antemano, gracias