Hola tengo un pequeño problema con mi proyecto estuve tratando de hacer que a través de un LCD se me muestre el voltaje de una batería y el porcentaje de carga que tiene el inversor bn asta allí todo bien me muestra el voltaje de la batería y el porcentaje de carga pero tengo un pequeño problema para mostrar el signo de porcentaje (%) después de la medición aquí les dejo mi código para que me ayuden
#include <16F877A.h> //pic usado
#device ADC=10 //ADC = de 1024 bits
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage
#FUSES NOWRT //Program memory not write protected
#FUSES PUT
#FUSES BROWNOUT
#use delay(clock=4000000) //fracuensia del cristal 20MHz
#include <lcd.c> //Archivo para el manejo de LCD
#define use_portb_lcd TRUE //uso de puerto D para el LCD
int16 carg; //variable CARG
float p; //variable P
int16 volt; //variable VOLT
float b; //variable B
float c; //variable C para monitoreo independiente del votage para la proteccion por bateria baja
void main(){ //apertura de programa
OUTPUT_HIGH(PIN_B0); //salida alta por el pin B0 para mantener apagado el inversor al conectarlo
setup_port_A(all_analog); //todas las entradas analogicas
setup_adc(adc_clock_internal); //configura el converso
delay_ms(10); //tiempo de retardo por seguridad
printf(lcd_putc,"\fSISTEM SEARCH"); //inicialisasion
delay_ms(5000); //evita que el lcd espabile
while (TRUE){ //bucle
if(c>=53){ //para que el inversor no ensienda asta que la bateria no este cargada
output_low(PIN_B3);} //salida baja para cortra arestar la salida alta por bateria baja para encender el inversor
if(c<=44){ //para apagar el inversor por bateria baja
output_high(PIN_B3);} //salida alta por el pin b3 para apagar el inversor
if(p>=99){ //lectura de la variable P y condision a prosesar
output_high(PIN_B4);} //salida alta por el pin B3 si se cumple la condision de la variable P
if(p<=98){ //por seguridad
output_low(pin_b4);} //salida baja por el pin b4 por seguridad
delay_ms(100); //para que se estabilice
lcd_init(); //iniciacion de lcd
set_adc_channel(1); //Seleccionamos el canal'1' para hacer la lectura del valor analogico
delay_ms(1); //para que se estabilice
volt = read_adc(); //Hacemos la lectura del canal seleccionado anteriormente (canal'1')
delay_ms(1); //para que se estabilice
b=(float)(volt*60/1000); //variable B
c=(float)(volt*60/1000); //variable C
lcd_gotoxy(1,1); //muestra la lectura de voltaje en las lineas (1,2) del LCD
printf(lcd_putc, "\b VOLTAJE = %3.1fV", b); //muestra de la lectura de la variable C en el LCD
delay_ms(1000); //para que se estabilice
set_adc_channel(0); //Seleccionamos el canal'0' para hacer la lectura del valor analogico
delay_ms(1); //para que se estabilice
carg = read_adc(); //Hacemos la lectura del canal seleccionado anteriormente (canal'0')
delay_ms(1); //para que se estabilice
p=(float)(carg*0.979/10.000); //variable P
lcd_gotoxy(2,2); //muestra la lectura de voltaje en las lineas (10,2) del LCD
printf(lcd_putc, "\bCARGA =3.0%f",p); //muestra de la lectura de la variable P en el LCD
delay_ms(1000); //para evitar que el LCD parpadee
lcd_gotoxy(13,2); //muestra el signo % en la fila 2 linea 14
printf(lcd_putc, ""); //comando para la muestra del %
if(input(pin_b2)==1){ //lectura de si se presiono el botos si o no para el buzer y prender o apagar el inversor
output_high(pin_b5); //salida alta por el pin b5 para hacer sonar el buzer
delay_ms(1000); //tiempo de retardo del buzer sonando
delay_ms(1000); //por seguridad
output_low(pin_b5); //salida baja por el pin b5 para hacer que el buzer deje de sonar
delay_ms(1000); //por seguridad
delay_ms(1000); //por seguridad
output_toggle(PIN_B0); //para encender o apagar el inversor segun como estaba
delay_ms(1000);} //por seguridad
else if(input(pin_b2)==0){ //por seguridad
output_low(pin_b5); //por seguridad
delay_ms(1000); //por seguridad
delay_ms(1000);}}} //por seguridad