HOLAS, ESTUVE VIENDO ESTE CODIGO QUE MUESTRA LA HORA (HH:MM) EN 4 DISPLAY CON PIC16F628A, BUENO LO HE IMPLEMENTADO EN PROTEUS PERO NO MUESTRA LO KE DEBE Y TAMBIEN ME PUEDEN AYUDAR A ENTENDER ESTE CODIGO??, KE SIGNIFICA LookUp(...), y cómo funciona?.
A demás mi duda es, si este codigo va a funcionar para mostrar la HH:MM.
Adjunto archivo de proteus y el .hex
Gracias
'-----CONFIGURAMOS PUERTOS----------
AllDigital 'Todos los pines del PORTA como E/S
'Configuro el PORTA:
TRISA.0 = 0
TRISA.1 = 0
TRISA.2 = 0 'DATA7 HH:MM
TRISA.3 = 0 'CLOCK7 HH:MM
TRISA.4 = 0
TRISA.5 = 0
'Configuro el PORTB:
TRISB.0 = 1 'Entrada pulsos del DS1307
TRISB.1 = 0 'Salida, LEDs ":" en display "HH:MM"
TRISB.2 = 0 'pin SCA del DS1307
TRISB.3 = 0 'pin SCL del DS1307
TRISB.4 = 1 'Entrada Pulsador 1
TRISB.5 = 1 'Entrada Pulsador 2
TRISB.6 = 1 'Entrada Pulsador 3
TRISB.7 = 1 'Entrada Pulsador 4
'SIMBOLOS
Symbol clock7 = PORTA.3
Symbol data7 = PORTA.2
'VARIABLES
Dim i As Byte
Dim col As Byte
Dim aux As Byte
Dim aux1 As Byte
Dim hora As Byte
Dim minu As Byte
'Limpio el contenido del registro de desplazamiento
'escribiendo 32 "0" seguidos:
For i = 1 To 32
data7 = 0
clock7 = 0
clock7 = 1
Next i
'Esta rutina muestra HH:MM
muestro_hhmm:
'Muestro las decenas de las horas
aux1 = hora / 10
aux = LookUp(175, 40, 157, 188, 58, 182, 183, 46, 191, 190), aux1
Gosub escribo
'Muestro las unidades de las horas
aux1 = hora - (hora / 10) * 10
aux = LookUp(175, 40, 157, 188, 58, 182, 183, 46, 191, 190), aux1
Gosub escribo
'Muestro las decenas de los minutos
aux1 = minu / 10
aux = LookUp(175, 40, 157, 188, 58, 182, 183, 46, 191, 190), aux1
Gosub escribo
'Muestro las unidades de los minutos
aux1 = minu - (minu / 10) * 10
aux = LookUp(175, 40, 157, 188, 58, 182, 183, 46, 191, 190), aux1
Gosub escribo
Goto muestro_hhmm
End
escribo:
For col = 1 To 8
'Si el bit es "0", escribo un "0".
If aux.0 = 0 Then
data7 = 0
clock7 = 0
clock7 = 1
Else
'Si el bit es "1", escribo un "1".
data7 = 1
clock7 = 0
clock7 = 1
Endif
'Paso al bit siguiente
aux = ShiftRight(aux, 1)
Next col