Leer control IR y mostrarlo en display

Aca adjunto una pequeña rutina que realice en PBP, que se encarga de leer los controles remotos de tv de 12 bits, y muestra el codigo leido en binario en el display.
El circuito utilizado es muy simple, solo un 16f877a, display 16x2, y un receptor IR de 3 patas.


Rutina:

Código:
' 16f877a leer codigo control remoto IR 12 bits y mostralo en display.
 


DEFINE LCD_DREG PORTD ' Indica que el Bus estará conectado en el Puerto D
DEFINE LCD_BITS 4 ' El bus será de cuatro bits.
DEFINE LCD_DBIT 4 ' Selección del Bit de inicio del puerto en el uC para el
DEFINE LCD_RSREG PORTD ' Indica al uC que el pin "RS" estará en el Puerto D
DEFINE LCD_RSBIT 2 ' "RS" estará conectado en RD2
DEFINE LCD_EREG PORTD ' Indica al uC que el pin "E" estará en el Puerto D
DEFINE LCD_EBIT 3 ' "E" estará conectado en RD3
Define Osc 4

trisa=$00 ' esta linea no se usa
trisb.0=1

x var byte
buzer var porta.0  'esta linea no se usa
codigo var bit[12]
lec var byte

buzer=0 ' este linea no se usa

inicio:
LCDOut $fe, 1 
LCDOut "Lectura IR" 
LCDOut $fe, 2 
LCDOut $fe,$C0,"Cod:",#codigo[1],#codigo[2],#codigo[3],#codigo[4],#codigo[5],#codigo[6],#codigo[7],#codigo[8],#codigo[9],#codigo[10],#codigo[11],#codigo[12]
pulsin portb.0,1,lec
if lec>150 then leer
pause 50
goto inicio

leer:
For x=1 to 12
pulsin portb.0,1,lec
if lec > 100 then 
 codigo[x]=1
else
 codigo[x]=0
endif
next x
goto inicio

end

Saludos.
 
Última edición por un moderador:
Atrás
Arriba