TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: flacomaida en 18 de Enero de 2008, 19:32:32
-
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
-
Gracias, un ejemplo mas de multiplexacion y diferente a los que conocemos, Bienvenido
-
Por nada navaismo!! Solo estoy devolviendo lo que coceche de este foro, aunque sea pequeño el aporte me alegra que sea útil.
Una ayuda.
Estoy rescatando una placa en desuso, era de un Aire Ac. Le puse un 16F77 que es lo que tenia a mano.
Tengo problemas con el calculo de temperatura. Esta placa posee un sensor tipo NTC de 10kh a 25ºc y esta conectado a masa.
Los datos que tengo para la convesion es: 0ºc = 2.7 v - 36ºc 4.1v.
Como hago para convertir a ºc, la resolución del AD es: 0.019v a 5v. es de 8bit . Se me complica por que es de coeficiente negativo, Ademas ,no soy muy bueno con la matemática. Este es el problema...
Saludos