Flowchart
TECLADO
Flowchart content
INTCON.RBIF
=1
POS<--0
PORTB0<--0
PORTB1<--1
PORTB2<--1
PORTB3<--1
PORTB4
=0
POS<--POS+1
PORTB5
=0
POS<--POS+1
PORTB6
=0
POS<--POS+1
PORTB7
=0
POS<--POS+1
NO
NO
NO
NO
DETERMINAR_CARACTER
DETERMINAR_CARACTER
DETERMINAR_CARACTER
DETEERMINAR_CARACTER
SI
SI
SI
SI
POS<--0
PORTB0<--1
PORTB1<--0
PORTB2<--1
PORTB3<--1
PORTB4
=0
POS<--POS+1
PORTB5
=0
POS<--POS+1
PORTB7
=0
POS<--POS+1
NO
DETERMINAR_CARACTER
SI
PORTB6
=0
NO
NO
NO
SI
POS<--0
PORTB0<--1
PORTB1<--1
PORTB2<--0
PORTB3<--1
PORTB4
=0
POS<--POS+1
POS<--POS+1
PORTB6
=0
POS<--POS+1
PORTB7
=0
POS<--POS+1
NO
NO
NO
NO
DETERMINAR _CARACTER
DETERMINAR_CARACTER
DETERMINAR_CARACTER
DETERMINAR_CARACTER
SI
SI
SI
SI
POS<--POS+1
PORTB5
=0
DETERMINAR_CARACTER
DETERMIANR_CARACTER
DETERMINAR_CARACTER
DETEMRINAR_CARACTER
POS<--0
PORTB0<--1
PORTB1<--1
PORTB2<--0
PORTB3<--1
PORTB4
=0
POS<--POS+1
POS<--POS+1
PORTB6
=0
POS<--POS+1
PORTB7
=0
NO
NO
NO
DETERMINAR_CARACTER
DETERMINAR_CARACTER
DETER-MINAR_CARACTER
DETERMINAR CARACTER
SI
SI
SI
SI
PORTB5
=0
CARACTER<--TECLA[POS]
W <-- *
W<--CARACTER-W
SEGUIDOR DE LUZ SOLAR
TECLA [0]<--1
.
.
.
TECLA[15]<--D
L1H; L1L; L2H; L2L; PL; PH; POS; CARACTER; CC; CO ; C1; CC2; CC3; COMANDO; CONFI; H; L ; NUMERO2S232
IZQ; DER;ENB
LEVANTA DEDO
PORTB, O <-- 0
PORTB, 1 <-- 0
PORTB, 2 <-- 0
PORTB, 3 <-- 0
PORTB,5=1
PORTB,6=1
PORTB,7=1
PORTB,8=1
INTERRUPCION
LEVANTA DEDO
LEVANTA DEDO
LEVANTA DEDO
LEVANTA DEDO
POS <--0
STATUS,Z
=1
NO_ES_ASTERISCO
NO
LCD_BORRA
LCD_CURSORON
LCD_CURSORINC
LCD_FILA1
W <--C
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--F
ENVIA_CARACTER
W <--I
ENVIA_CARACTER
LCD_FILA2
W <--P
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
CONFI <--1
A1
W<--#
W<--CARACTER,W
STATUS,Z
=1
MAXIMOS_MINIMOS
CONFI<--0
A1
NO
CONFI<-CONFI
STATUS,Z
=0
NO
A1
COMANDO<-COMANDO
STATUS,Z
=1
COMANDO_NO_0
STATUS,Z
=1
NO
NO_A
LCD_BORRA
LCD_CURSORON
LCD_INICIALIZA
LCD_FILA1
W <--V
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--C
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--T
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--P
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
LCD_FILA2
COMANDO<--1
CC<--0
CO<--'A'
A1
W<-- A
W<-CARACTER-W
W<-- B
W<-CARACTER-W
STATUS,Z
=1
A1
NO
LCD_BORRA
LCD_CURSORON
LCD_INICIALIZA
LCD_FILA1
W <--V
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--P
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--0
ENVIA_CARACTER
W <--M
ENVIA_CARACTER
LCD_FILA2
W <--P
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W<--0
EEPROM_DIRECCION
EEPROM_LEER
DATOH<--W
EEPROM_DIRECCION
EEPROM_LEER
DATOL<--W
MCDU
W<-- 48
W<-CEN+W
ENVIA_CARACTER
W<-- 48
W<-UNI+W
W<-- 48
W<-DEC+W
ENVIA_CARACTER
ENVIA_CARACTER
RETARDO_1SEG
RETARDO_1SEG
INICIO
W<--47
W<--CARACTER-W
STATUS,C
=1
A1
W<-- 59
W<-CARACTER-W
STATUS,Z
=0
A1
CC<--CC+1
W<--1
W<--CC-W
STATUS,Z
=1
CC_NO_1
NO
NO
C1<--CARACTER
C1<--M1
ENVIA_CARACTER
A1
W<--2
W<--CC-W
STATUS,Z
=1
CC_NO_2
CC2<--CARACTER
W<--CC2
ENVIA_CARACTER
A1
W<--3
W<--CC-W
STATUS,Z
=1
A1
CC3<--CARACTER
W<--CC3
ENVIA_CARACTER
RETARDO_500MS
NO
CALCULO_C1_C2_C3
MOH<--0
MOL<--100
W<-48
W<--C1-W
MRL<--W
MULTIP16X8
L<--R0
H<--R1
MULTIP16X8
MOH<--0
MOL<--10
W<-48
W<--CC2-W
MRL<--W
W<--R0
L<--L+W
W<--R1
H<--H+W
W<--48
W<--CC3-W
L<--L+W
STATUS,C
=0
H<--H+1
W<--'A'
W<--C0-W
STATUS,Z
=0
A1
COMANDO<--0
CC<--0
W<--0
EEPROM_DIRECCION
EEPROM_ESCRIBIR
W<--H
W<--1
EEPROM_DIRECCION
W<--L
EEPROM_ESCRIBIR
CAMBIO_OK
CAMBIO_OK
LCD_BORRA
LCD_CURSORON
LCD_INICIALIZA
LCD_FILA1
W <--C
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--M
ENVIA_CARACTER
W <--B
ENVIA_CARACTER
W <--I
ENVIA_CARACTER
W <--0
ENVIA_CARACTER
LCD_FILA2
W <--C
ENVIA_CARACTER
W <--0
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--C
ENVIA_CARACTER
W <--T
ENVIA_CARACTER
W <--0
ENVIA_CARACTER
A1
A1
LEVANTA_DEDO
INTCON,RBIF <--0
FIN_INTERRUPCION
RETFIE
W<-- 10000010
ADCON1 <--W
W<-- 00000010
TRIC<--W
TRISD<--0
W<--01111111
TRSA<--W
W<--00000111
TRSE<--W
W<--00000111
TRSB<--W
W<--00100000
OPTION_REG<--W
LCD_INICIALIZA
PORCENTAJE<--0
PORB,0<--0
PORTB,1<--0
PORTB,2<--0
PORTB,3<--0
PORTD<--0
COMANDO<--0
CONFI<--0
INTCON<--0
LEVANTA_DEDO
w<--0
EEPROM_DIRECCION
EEPROM_LEER
STATUS,Z
=1
EPROM_L_BIEN
W<--1
EEPROM_DIRECCION
EEPROM_LEER
STATUS,Z
=1
W<--0
EEPROM_DIRECCION
W<--0
EEPROM_ESCRIBIR
W<--1
EEPROM_DIRECCION
W<--50
EEPROM_ESCRIBIR
INTCON,RBIE<--1
INTCON,GIE<--1
PRINCIPAL
CONFI<--CONFI
STATUS,Z
=0
SENSORES
SLEEP
PRINCIPAL
PORTE,2
=1
TECLADO
LCD_BORRA
LCD_CURSORON
LCD_INICIALIZA
LCD_FILA1
W <--M
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--D
ENVIA_CARACTER
W <--C
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
LCD_FILA2
W <--R
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--2
ENVIA_CARACTER
W <--3
ENVIA_CARACTER
W <--2
W <--10
RS232_ESCRIBE
W <--13
RS232_ESCRIBE
W <--C
ENVIA_CARACTER
W <--I
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--C
ENVIA_CARACTER
W <--U
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--C
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--G
ENVIA_CARACTER
W <--U
ENVIA_CARACTER
W <--I
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--10
RS232_ESCRIBE
W <--13
RS232_ESCRIBE
W <--A
ENVIA_CARACTER
W <--=
ENVIA_CARACTER
W <--M
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--X
ENVIA_CARACTER
W <--V
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--P
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--10
RS232_ESCRIBE
W <--13
RS232_ESCRIBE
W <--B
ENVIA_CARACTER
W <--=
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--V
ENVIA_CARACTER
W <--V
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--P
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--10
RS232_ESCRIBE
W <--13
RS232_ESCRIBE
W <--C
ENVIA_CARACTER
W <--=
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--10
RS232_ESCRIBE
W <--13
RS232_ESCRIBE
LEER_RS232
RS232_LEE
NUMERO_RS232<--W
W<-- '65'
W<--W-NUMERO_RS232
STATUS,Z
=1
NO_ES_A
W <--C
RS232_ESCRIBE
W <--O
RS232_ESCRIBE
W <--R
RS232_ESCRIBE
W <--T
RS232_ESCRIBE
W <--E
RS232_ESCRIBE
W <--V
RS232_ESCRIBE
W <--O
RS232_ESCRIBE
W <--L
RS232_ESCRIBE
W <--=
RS232_ESCRIBE
W <--A
C0<--W
EVALUAR_NUMERO
W<-- 66
W<--W - NUMERO_RS232
STATUS,Z =1
NO_ES_B
W<-- 0
EEPROM_DIRECCION
EEPROM_LEER
DATOH<--W
W<-- 1
EEPROM_DIRECCION
EEPROM_LEER
DATOL<--W
BYTE_MCDU
W <--V
RS232_ESCRIBE
W <--O
RS232_ESCRIBE
W <--L
RS232_ESCRIBE
W <--T
RS232_ESCRIBE
W <--A
RS232_ESCRIBE
W <--=
RS232_ESCRIBE
W <--48
W<-- CEN +W
RS232_ESCRIBE
W <--48
W<-- DEC +W
RS232_ESCRIBE
W <--48
W<-- UNI +W
RS232_ESCRIBE
PRINCIPAL
W<--67
W<-- W -NUMERO_RS232
STATUS,Z=1
LEER_RS232
PRINCIPAL
NO
L <-- 0
H <-- 0
W <-- UNI
CC3 <-- W
W <-- DEC
CC2 <-- W
W <-- CEN
CC1 <-- W
CALCULO_C1_C2_C3
LCD_BORRA
LCD_CURSORON
LCD_CURSORINC
LCD_FILA1
W <-- C
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--M
ENVIA_CARACTER
W <--B
ENVIA_CARACTER
W <--I
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
LCD_FILA2
W <-- C
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--C
ENVIA_CARACTER
W <--T
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
PRINCIPAL
EVALUAR_NUMERO
RS232_LEE
CEN <-- W
W<-- 48
W<-- CEN-W
STATUS,C =1
EVALUAR_NUMERO
W<-- 58
W <-- CEN-W
EVALUAR_NUMERO
EVALUAR_NUMEROC2
STATUS,C=1
STATUS,C=0
W <-- 58
W <-- DEC -W
NO
EVALUAR_NUMEROC2
W<-- DEC
RS232_ESCRIBE
EVALUAR_NUMERO_C3
EVALUAR_NUMERO_C3
COMANDO<-- 0
CC <-- 0
W<-- 0
EEPROM_DIRECCION
EEPROM_LEER
PH <-- W
W <-- 1
EEPROM_DIRECCION
EEPROM_LEER
PL <-- W
LCD_BORRA
LCD_CURSORON
LCD_CURSORINC
ADCON0<--10001011
CONVER0
MOL<--RAD_L
W<--1
MOL<-- MOL+W
STATUS,C
=0
RAD_H<--RAD_H+1
W<--2
W<--RAD_H-W
W<--RAD_H-W
MOH<-W
MRL<--10
MULTI16*8
DIV_L<--R0
DIV_H<--R1
DIS--46
DIV16*8
L1L<--COC_L
L1H<--COC_H
ADCON0<--10001011
CONVER0
MOL<--RAD_L
W<--1
MOL<-- MOL+W
STATUS,C
=0
RAD_H<--RAD_H+1
W<--RAD_H-W
W<--RAD_H-W
MOH<-W
MRL<--10
MULTI16*8
DIV_L<--R0
DIV_H<--R1
DIS--46
DIV16*8
L2L<--COC_L
L2H<--COC_H
W<--2
W<--L2L
W<--L1L-W
STATUS,C
=1
MAYOR
MENOR
IZQ<--1
DER<--0
ENB<--1
W <--A
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--G
ENVIA_CARACTER
W <--P
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
LCD_FILA2
IZQ<--0
DER<--1
ENB<--1
W <--A
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--G
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--G
ENVIA_CARACTER
LCD_FILA2
MOSTRAR
W<--L1L
W<--L2L-W
STATUS,Z=0
DESAC
ACTIV
ENB<--0
LCD_FILA2
W <--A
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--G
ENVIA_CARACTER
W <--C
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--R
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
SEGUIR_M
ENB<--1
W<--0
W<--PORTE-W
STATUS,Z=1
DESAC1
ACTIV1
ENB<--0
LCD_FILA2
W <--D
ENVIA_CARACTER
W <--E
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--I
ENVIA_CARACTER
W <--M
ENVIA_CARACTER
SEGUIR_M
ENB<--0
ADCON0<--10001011
CONVER0
DIV_L<--RAD_L
DIV_H<--RAD_H
W<--204
DIV16_8
DATOL<--COC_L
DATOH<--COC_H
BIT10_MCDU
W<--PL
W<--COC_L-W
STATUS,C=1
POTENCIA_BAJA
POTENCIA_ALTA
ENB<--0
SEGUIR_M
ENB<--1
DATOL<--L1L
DATOH<--0
BIT10_MCDU
LCD_FILA1
W <--L
ENVIA_CARACTER
W <--1
ENVIA_CARACTER
W <--=
ENVIA_CARACTER
W <--D'48'
ADDWF <--CEN
ENVIA_CARACTER
W <--D'48'
ADDWF<--DEC
ENVIA_CARACTER
W <--D'48'
ADDWF<--UNI
ENVIA_CARACTER
W<-'%'
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--2
ENVIA_CARACTER
W <--=
ENVIA_CARACTER
W <--D'48'
ADDWF <--CEN
ENVIA_CARACTER
W <--D'48'
ADDWF<--DEC
ENVIA_CARACTER
W <--D'48'
ADDWF<--UNI
ENVIA_CARACTER
W<-'%'
ENVIA_CARACTER
RETARDO_1SEG
RETARDO_1SEG
ADCON0<--10001011
CONVER0
DIV_L<--RAD_L
DIV_H<--RAD_H
W<--204
DIV16_8
DATOL<--COC_L
DATOH<--COC_H
BIT10_MCDU
FILA1
W <--P
ENVIA_CARACTER
W <--A
ENVIA_CARACTER
W <--N
ENVIA_CARACTER
W <--S
ENVIA_CARACTER
W <--O
ENVIA_CARACTER
W <--L
ENVIA_CARACTER
W <--=
ENVIA_CARACTER
W<-48
W<--UNI+W
ENVIA_CARACTER
W <--V
ENVIA_CARACTER
ENVIA_CARACTER
RETARDO_1SEG
RETARDO_1SEG
PRINCIPAL
DETERMINAR_CARACTER