Generación de señal a 38Khz con timer0 para implementación de sensores IR de control remoto de TV.
Esta rutina en mikrobasic permite generar una señal digital a 38,4Khz con un duty cycle o ciclo de trabajo de 50% empleando el timer0. Esta señal al ser suministrada a un LED IR, permite la implementación y activación de sensores ópticos de TV, como el TSOP1838 que sólo responden a luz modulada a estas frecuencias. Este tipo de sensores son muy útiles para detectar obstáculos o como medio de transmisión de señales en robots, pues estos sensores no son afectados por la luz del ambiente, solo responden a la luz IR modulada a dicha frecuencia.
La utilidad del timer0 reside en que el propio PIC genera la señal de 38Khz paralelamente mientras ejecuta otras acciones, lo que ahorra espacio, tiempo y dinero al no tener que implementar un oscilador aparte para LEDs IR emisores.
program sensorIR38'Programa Generación de 38Khz por timer0 *************************************** 'Rutina que permite generar una señal de 38Khz para un LED IR a través del 'timer. Cuando el sensor detecta señal se activa otro LED de manera intermitente 'para indicar que el sensor está recibiendo la luz modulada. Mikrobasic 5.0.0.2 ' 'Creado y verificado por: Alejandro De Nóbrega 'Web: http://www.jvmbots.es
' '-HARDWARE: ' MCU: PIC 16F870 ' Cristal: 20 Mhz ' 1- Sensor TSOP1838. Salida del sensor conectado a RB2 ' 1- LED de color. Conectado a RB1 ' 1- LED IR. Conectado a RB0 '*******************************************************************************
sub procedure interrupt
if PORTB.0 = 0 then
PORTB.0 = 1
else
PORTB.0 = 0
end ifINTCON = %10100000
TMR0 = 238end sub
main:
OPTION_REG = %00000000 '1:2
INTCON = %10100000
TRISB = %00000100
PORTB = 0ADCON0 = 0 ADCON1 = 7
TMR0 = 238while true
if PORTB.2 = 0 then
PORTB.1 = 1
delay_ms(200)
PORTB.1 = 0
delay_ms(200)
end ifwend
end.





