balanza digital con pic16f877a

ola saben estoy creando una balanza digital todo esta lo unico que quiero es que salga en punto decimal , solo me sale un numero entero pero quiero que salga con decimales ayudenme ai les dejo el programa

Código:
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : junior mendoza cobeñas                    *
'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 19/04/2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
DEFINE LCD_DREG PORTD
DEFINE LCD_BITS 4
define LCD_DBIT 4

DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFIne osc 20

define  ADC_BITS 8       ; bits de  conversion del  adc
DEFINE ADC_CLOCK 2        ; reloj de conversion  externo 20Mhz
DEFINE ADC_SAMPLEUS 50    ; frecuencia de  muestreo
 
 B0 var byte
 B1 var byte
 
;DEFINICIÓN DE  VARIABLES
conversion  VAR word
peso  var word
de var word

;CONFIGURACION DE LOS REGISTROS  Y PUERTOS DEL PIC
TRISA=%00000001         ;porta.0 entrada analogica
TRISD=%00000000         ;portb salida   al lcd
ADCON1=%00001110        ;configuracion del adc 
ADCON0=%10000001        ;vref=VDD -vref=gnd ,canal analogico RA0 ,oscilador 20Mhz
PAUSE 400             ;justificacion  ala izquierda

   
    TRISD = $00
 
    LCDout $fe,1
   
   LCDout $fe,2
   lcdout          "     Mendoza    "
   lcdout $fe,$c0, "     Cobenas    " 
   
mendoza:   
   lcdout  $fe, 2 
   lcdout           " Marcio Morillos"
   lcdout  $fe,$c0, " Junior Mendoza "
   pause 3000
   
   
cobenas:
    lcdout $fe, 2
    lcdout          "     SENATI     "
    lcdout $fe,$c0, "  Electrotecnia "
    pause 3000
    lcdout $fe,1' limpiar el lcd

for  B0 = 0 to 15
   lookup B0, ["  Instructor "],B1
   lcdout $fe,$0c,B1
   pause 200
   next

lcdout $fe,$c0   
for  B0 = 0 to 15
   lookup B0, [" Rony Benites "],B1
   lcdout $fe,$0c,B1
   pause 200
   next
    
   lcdout $fe,1' limpiar el lcd

for  B0 = 0 to 15
   lookup B0, ["  Plantas  "],B1
   lcdout $fe,$0c,B1
   pause 200
   next

lcdout $fe,$c0   
for  B0 = 0 to 15
   lookup B0, [" Industriales  "],B1
   lcdout $fe,$0c,B1
   pause 200
   next

     
;CONVERSIÓN
inicio:

ADCIN 0,conversion      ;lee  el valo de  la conversion y  la guarda en RES
de=conversion*40       ;como vref=5v y numero de bits ADC 8 bits entonces  la resolucion adc seria 19.53 mv
peso=de/1000            ;para obtener  el valor  correcto debemos de multipicar el  valor de RES por 40/1000
LCDOUT $FE,1,$82        ;salida a  la  lcd
lcdout         "Balanza Digital "
LCDOUT $fe,$c0, " PESO:",dec  peso," Kg" 

;LCDOUT $FE, $C0,"";

PAUSE 500

goto inicio

END
 
Última edición por un moderador:
ola saben estoy creando una balanza digital todo esta lo unico que quiero es que salga en punto decimal , solo me sale un numero entero pero quiero que salga con decimales ayudenme ai les dejo el programa
Saludos cobeco
En el foro del Curso de programación de PIC en PICBASC PRO subí unas librerias
para trabajar con punto flotante en PBP Este es el enlace. PBP Floating Point
Espero te puedan servir.

Suerte y hasta luego.
 
Atrás
Arriba