Autor Tema: Multiplicar variables  (Leído 2180 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sergioc_g

  • PIC10
  • *
  • Mensajes: 20
Multiplicar variables
« en: 21 de Julio de 2011, 08:52:19 »
Hola. Estoy realizando un curso de programación en PIC BASIC y hay un ejercicio donde se calcula el valor de un potencimometro. El caso es que el valor del potenciometro se escala en un valor entre 0 y 255 y lo acumula en una variable llamada DATO. Yo lo que quiero es conseguir que ese valor entre 0 y 255 poder multiplicarlo y guardarlo en otra variable para luego mostrarla en la LCD (hago, Resistencia = Datos * Escala), pero me da un error. ¿Cómo se haría?

Desconectado Axel

  • PIC10
  • *
  • Mensajes: 10
Re: Multiplicar variables
« Respuesta #1 en: 09 de Agosto de 2011, 17:27:20 »
Hola. Estoy realizando un curso de programación en PIC BASIC y hay un ejercicio donde se calcula el valor de un potencimometro. El caso es que el valor del potenciometro se escala en un valor entre 0 y 255 y lo acumula en una variable llamada DATO. Yo lo que quiero es conseguir que ese valor entre 0 y 255 poder multiplicarlo y guardarlo en otra variable para luego mostrarla en la LCD (hago, Resistencia = Datos * Escala), pero me da un error. ¿Cómo se haría?

hola!, bueno no comprendo muy bien que tratas de hacer, pero tengo un programa que talves te funcione!, sirve para saber el valor de un potenciometro en ohms, pero debido a que uso pic basic pro no puedo trabajar con valores muy especificos asi que la tolerancia de calculo es de un 10% aprox.
aqui el programa:
Citar
'ESCALA
DEFINE OSC 4
'---------------------------------------------------------
'DEFINICION DE REGISTROS PARA EL LCD
'---------------------------------------------------------
DEFINE LCD_DREG PORTB 'UTILIZAR 4 BITS DEL PUERTO B
DEFINE LCD_DBIT 4      'DESDE EL BIT.4 AL BIT.7
DEFINE LCD_RSREG PORTB'SELECCION DEL PUERTO DE REGISTRO
DEFINE LCD_RSBIT 2     'EN EL BIT B.2
DEFINE LCD_EREG PORTB 'UTILIZAR ENABLE EN PUERTO B
DEFINE LCD_EBIT 3     'EN EL BIT B.3
'---------------------------------------------------------
'DEFINICION DE VARIABLES Y SYMBOLS
'---------------------------------------------------------
i         var byte
escala      var byte
dato      var byte
resistencia var word
symbol potenciometro = porta.0
pause 500
'---------------------------------------------------------
'Calibracion del potenciometro "POT Pin,Scale,Var"
'---------------------------------------------------------
'B0 var byte
LCDOUT $FE,1,"Ponga pot a max."
LCDOUT $FE,$C0,"Resistencia"
pause 1000
LCDOUT $FE,1,"Calibrando..."
For i = 1 To 255
POT potenciometro,i,dato
If (dato > 253) Then calibrated
Next i
LCDOUT $FE,1, "Incrementa R o C"
LCDOUT $FE, $C0, "Press RESET"
Stop
calibrated:
escala = i
LCDOUT $FE,1, "Escala= " , #i
pause 500
'---------------------------------------------------------
'Programa de conversion suponiendo un pot de 10k
'con precision de +-100 ohms por software
'---------------------------------------------------------
LCDOUT $FE,1,"Resistencia= "
inicio:
POT potenciometro,escala,dato
resistencia = (dato * 100) / 255
resistencia = resistencia * 100
LCDOUT $FE,$C0, #resistencia, " ohms  "
pause 10
goto inicio
« Última modificación: 09 de Agosto de 2011, 17:50:20 por Axel »