hola
amigos del foro
cordial saludo
les comento he realizado un programa básico para usarlo en fuente digital usando LCd y los convertidor A/D del Pic 16F876A, lo he simulado en proteus satisfactoriamente, y el programa no me genera error, lo que yo deseo es eliminar el signo + en el voltaje Visualizado, adjunto la imagen, para que la puedan visualizar,
ademas le adiciono mi programa en css compiler, y me orienten por favor en el programa como puede eliminar el signo + para que no salga en el lcd.
gracias por la ayuda
jose
#include <16f876A.h> //LIBRERIA DEL PIC QUE SE VA A USAR
#fuses XT,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT //FUSES DE AJUSTE PARA CRISTAL XT DE 4MHZ Y SIN PROTECCION
#device adc=10 //CONFIGURA EL CONVERSOR AD A 10 BITS
#use delay (clock = 4000000) //CRISTAL DE 4 MHZ
#define use_portb_lcd TRUE //CONFIGURA EL PUERTO B PARA LA LCD
#include <LCD.C> //LIBRERIA PARA LA LCD 2*16
#include <math.h> //LIBRERIA PARA USO MATEMATICO
#use standard_io (All) //CONFIGURA TODOS LOS PUERTOS Y AUTOMATICAMENTE LOR TRIS CON ESTANDARD IO
float t; //VARIABLE DE TIPO FLOTANTE LLAMADA t
float s; //VARIABLE DE TIPO FLOTANTE LLAMADA s
void med_ir () //SE CREA LA FUNCION PARA MEDIR VOLTAJE
{ //CORCHETE QUE ABRE EL INICIO DE LA FUNCION
setup_adc_ports (AN0); //CONFIGURA EL PUERTO AN0 PIN 2 COMO CONVEROR ANALOGO DIGITAL
setup_adc (ADC_CLOCK_DIV_32); //CONFIGURA EL RELOJ PARA LA CONVESION CON UN DIVISOR DE 32 DE LOS CILOS DEL RELOJ
set_adc_channel (0); //habilitacion canal 0 //INICIA LA CONVERSION DEL CANAL 0 PIN 2
delay_us (20); //RETARDO PARA DAR TIEMPO A LA CONVERSION
t = read_adc(); //LO QUE LEE EN EL CONVESROR AD LO GUARDA EN LA VARIABLE t
s= 5.0 *t / 1024; //LO CONVIERTE A VOLTAJE 5V DE VOLTAJE DE REFERENCIA DIVIDIDO EN 2^10 QUE ES LA RESOLUCION DEL CONVERSOR
} //CIERRA EL CORCHETE Y TERNMINA LA FUNCION DE MEDIR
void publi_ca () //FUNCION DE PUBILAR EN EL DISPLAY LO MEDIDO
{ //CORCHETE QUE INICIA LA FUNCION
lcd_putc('\f'); //BORRA LA LCD YA DEBE ESTAR INICIALIZADA CUANDO LA LLAME
lcd_gotoxy (1,1); //CORDENADAS DEL TEXTO EN RENGLON UNO CARACTER UNO
printf (lcd_putc, "VOLTAJE AJUSTADO"); //DESPLIEGA EN LA PANTALLA LO QUE ESTA EN LAS COMILLAS
lcd_gotoxy (6,2); //CORDENADAS DEL TEXTO EN RENGLON DOS CARACTER SEIS
printf(lcd_putc, " +\%2.1f v",(s*7)); //DESPLIEGA EL CARACTER + Y LO QUE ESTA EN LA VARIABLE FLOTANTE CON DOS CARACTERES ENTEROS Y UN DECIMAL YLUEGO EL CARACTER v LA VARIABLE LA MULTIPLICA POR 7
} //CIERRA EL CORCHETE Y TERNMINA LA FUNCION DE PUBLICAR
void main () //FUNCION PRINCIPAL ,PROGAMA PRICIPAL
{ //CORCHETE QUE INICIA LA FUNCION
lcd_init(); //INICIALIZA LA LDC
lcd_gotoxy (4,1); //CORDENADAS DEL TEXTO EN RENGLON UNO CARACTER CUATRO
printf (lcd_putc, "FUENTE DE"); //DESPLIEGA EN LA PANTALLA LO QUE ESTA EN LAS COMILLAS
lcd_gotoxy (5,2); //CORDENADAS DEL TEXTO EN RENGLON DOS CARACTER CINCO
printf (lcd_putc, "VOLTAJE"); //DESPLIEGA EN LA PANTALLA LO QUE ESTA EN LAS COMILLAS
delay_ms (2200); //RETARDO DE 2.2 SEGUNDOS PARA QUE SE VEA EL AVISO
lcd_putc('\f'); // BORRA LCD
lcd_gotoxy (2,1); //CORDENADAS DEL TEXTO EN RENGLON UNO CARACTER DOS
printf (lcd_putc, "CON INDICADOR"); //DESPLIEGA EN LA PANTALLA LO QUE ESTA EN LAS COMILLAS
lcd_gotoxy (5,2); //CORDENADAS DEL TEXTO EN RENGLON DOS CARACTER CINCO
printf (lcd_putc, "DIGITAL"); //DESPLIEGA EN LA PANTALLA LO QUE ESTA EN LAS COMILLAS
delay_ms (2200); //RETARDO DE 2.2 SEGUNDOS PARA QUE SE VEA EL AVISO
lcd_putc('\f'); // BORRA LCD
lcd_gotoxy (1,1); //CORDENADAS DEL TEXTO EN RENGLON UNO CARACTER UNO
printf (lcd_putc, "Estudiante"); //DESPLIEGA EN LA PANTALLA LO QUE ESTA EN LAS COMILLAS
lcd_gotoxy (1,2); //CORDENADAS DEL TEXTO EN RENGLON DOS CARACTER CINCO
printf (lcd_putc, "Jose Luis Comas"); //DESPLIEGA EN LA PANTALLA LO QUE ESTA EN LAS COMILLAS
delay_ms (2200); //RETARDO DE 2.2 SEGUNDOS PARA QUE SE VEA EL AVISO
while (true) //CONDICION VERDADERA PARA HACER UN BUCLE SIN FIN
{ //CORCHETE QUE INICIA LA FUNCION
med_ir (); //LLAMA LA FUNCION DE MEDIR QUEDA EN L AVARIABLE S EL VALOR MEDIDO
publi_ca (); //DESPLIEGA EN PANTALLA MO MEDIDO QUE ESTA EN LA VARIABLE FLOTANTE s
delay_ms (100); //RETARDO DE 100ms TIEMPO EN QUE REFRESCA DESPLIEGUE Y HACE MEDICION
} //CIERRA CORCHETE DEL BUCLE SIN FIN
}