Hola a todos!! Bueno queria compartirles este código que tal vez para algunos, los que mas saben de esto no le encuentren mucha utilidad. Pero a otros tantos aprendices como yó seguro le daran algun provecho. En particular me costo encontrar algo facil como esto para display 7 segmentos.
Es un display de 2 digito, que pueden ser de mas creo, multiplexado y senciillo. En este caso es un contador a modo de prueba pero mi idéa es usar para una indicador de temperatura con ADC. que a proposito ya les voy a pedir ayuda.Estoy leyendo sobre el tema.
Una duda. El operador matematico"MOD" no figura en la ayuda del Pbp. Pero la acepta. Yo lo vi en Mikrobasic. pero use el equivalente //
Saludos a todos.-
Walter
'****************************************************************
'* Name : Display 7 Seg 2 Dig..BAS *
'* Author : Walter Maidana *
'* Notice : Copyright (c) 2008 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 19/01/2008 *
'* Version : 1.0 *
'* Notes : Display 7 segmentos dos display multiplexado *
'* : Se usa el operador (//) para seleccionar el *
'* : el modulo o resto de una divisiòn. *
'* : Es una adaptación de de un ejemplo de mikrobasic *
'* : *
'****************************************************************
j var byte
i var byte
k var byte
Display var portb
Dg1 var porta.0 'Al katodo del segmento1
Dg2 var porta.1 'Al katodo del seg 2
TRISA = %11100
trisb=0
Pause 500
Inicio:
for i = 0 to 60 'Cuenta un minuto
for k = 0 to 99 'Bucle para el multiplexado
j = i // 10 '(// operador resto) coje el resto de una divisíon
gosub tabla 'es el equivalente a mod en Mikrobasic, que tambien
porta=1 ' lo acepta el pbp. Es la Vedette de este código.
pause 5 'Tiempo de encendido del display 1
if i =>10 then '(Opcional)Esta condicion es para evita el cero a la izq.
j = (i / 10) // 10
gosub Tabla
porta=2
endif
pause 5 'Tiempo de encendido del display 2
next k
Next i
goto inicio
Tabla:
lookup j,[63,6,91,79,102,109,125,7,127, 111],display
return
end