Está en la página 1de 4

Inicio

PortB Entrada Teclado


PortC Salida LCD
INICIO_LCD
INGRESO=0
TECLADO=0
PORTB=b00
001110
BIT 4
PORTB=1??
ANTIRREBOTES NO
TECLADO=TECLADO+1
SI
BIT 5
PORTB=1??
ANTIRREBOTES NO
TECLADO=TECLADO+1
SI
BIT 6
PORTB=1??
ANTIRREBOTES NO
TECLADO=TECLADO+1
SI
BIT 7
PORTB=1??
ANTIRREBOTES NO
TECLADO=TECLADO+1
SI
W=16-TECLADO
Z=0?? NUEVO_DATO NO
C=1
SI
ROTA A DERECHA
PORTB
1
1
2

INICIO_LCD
VALIDAR=1
RETARDO0.25s
W=02H
ENVIAR_INSTR
W=28H
ENVIAR_INSTR
W=06H
ENVIAR_INSTR
W=02H
ENVIAR_INSTR
RETURN
LCD_LIMPIAR
W=01H
ENVIAR_DATO
RETARDO0.25S
RETURN
ENVIAR_DATOS
LCD1=1
RETURN
ENVIAR_INSTR
LCD1=0
RETURN
BYTES
BYTES
BYTES
DATOS=W
PORTC=PORTC AND
W
W=DATOS
W=W AND ,240
PORTC=W OR
PORTC
RETARDO0.25s
VALIDAR=1
RETARDO0.25s
VALIDAR=0
RETARDO0.25s
PORTC=0FH AND
PORTC
RETARDO0.25s
VALIDAR=1
RETARO0.25s
VALIDAR=0
RETURN
RETARDO0.25s
CONT=.20
CONT1=.255
CONT1=CONT1-1
Z=1??
NO
CONT=CONT-1
SI
Z=1??
RETURN
SI
NO

LINEA1
BIT 0
PORTC=0
W=0X80
ENVIA_INSTR
2
LINEA2
BIT 0
PORTC=0
W=0XC0
ENVIA_INSTR
2
IZQUIERDA
W=b000100
11'
ENVIA_INSTR
2
DERECHA
W=b000101
11'
ENVIA_INSTR
2
ARRIBA
W=b000110
11'
ENVIA_INSTR
2
ABAJO
W=b000111
11'
ENVIA_INSTR
2
DECOD
PCL=PCL+W
RETORNA O MANDA
A EJECUTAR
END


ANTIRREBOTES
BIT 4
PORTB=1??
BIT 5
PORTB=1??
SI
BIT 6
PORTB=1??
SI
BIT 7
PORTB=1??
SI
NO
NO
NO
NO
W=TECLADO
DECOD
ENVIAR_DATO
S
INGRESO=INGRESO
+1
W=.16 XOR
INGRESO
Z=0
LINEA
2
2