Me encuentro trabajando en un proyecto de un decodificador con microcontrolador de un HT12E. Según las hojas de datos del mismo, éstos trabajan en un margen de frecuencias de entre 1,75 a 2 KHz. Aunque eso depende del resistor que se le conecte entre los pines del oscilador interno. Es posible realizar la decodificación, ya que éste envía un pulso y un bit de sincronía para establecer la comunicación. Ahora bien, el tiempo del bit de sincronía puede variar por el nivel de batería, el resistor que lleva entre sus patas 15 y 16, entre otros factores. Es posible realizar dicha decodificación, haciendo uso del timer0 como temporizador, cuyo desborde evitaría que lleguen pulsos de más de 2 ciclos (ya que los descarta y los toma como inválidos). También se utiliza el timer1 como contador, para determinar la duración del pulso alto en piloto y así comparar los siguientes que llegan. Se puede utilizar la interrupción por cambio de estado RB4-RB7 para detectar los mismos (El pin RB4 iría al RX digital del módulo receptor). He logrado hacer funcionar uno, pero no "discrimina". Toma hasta el "ruido" que se le introduce a la radio. Es decir, falta pulirlo. Pero una vez pulido funcionará perfectamente. Si alguien puede aportar una solución a mi problema, se lo agradeceré. Les dejo todo en un *.rar, así pueden descargar la simulación en proteus, además del código fuente en CCS. ...
Olvidé el adjunto. Aquí está.
Olvidé el adjunto. Aquí está.