Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

12/06/2010 #1


mostrar variable numerica en GLCD KS0108 con CCS
Hola a todos? Estoy realizando un proyecto con GLCD grafico 128x64 basado en KS0108. Utilizo el compilador CCS y lo simulo en PROTEUS. HE posteado dos capturas una del codigo y la otra del simulador donde se puede apreciar las conexiones y tambien el resultado de la simulacion del codigo que pueden ver. Utilizo un PIC 16F877 i las librerias que el compilador me ofrece: <HDM64GS12.c> i <graphics.c>. En la segunda, hay una funcion que permite mostrar texto:

//// glcd_text57(x, y, textptr, size, color) ////
//// * Write the null terminated text pointed to by textptr with ////
//// the upper left coordinate of the first character at (x,y) ////
//// Characters are 5 pixels wide and 7 pixels tall ////
//// - size is an integer that scales the size of the text ////
//// - color is ON or OFF
muestra, empezando por las coordenadas x,y la variable textptr en el tamaño que quieres.
La variable textptr tiene que ser un string.

Mi problema es que quiero representar cantidades guardadas en variables numericas.
¿Aguien sabe como convertir en CCS un dato integer16 en un string?
o, ¿Se os ocurre como podria mostrar la varable numérica de alguna forma? ¿Hay alguna libreria por ahí..?

Muchas Gracias de antemano a todos!
12/06/2010 #2


Respuesta: mostrar variable numerica en GLCD KS0108 con CCS
Me parece que ya he dado con la solución. Se trata de utilizar la funcion sprintf para imprimir una variable numerica en una cadena de texto. Luego envio la cadena la GLCD. Podria ser:
#include <16F877.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=20000000)
#include <HDM64GS12.c>
#include <graphics.c>
#include <stdio.h>


char text2[]="r.p.m.";
char text3[]="Tm=95ºC";
char text4[]="Th=68ºC";
char text5[]="Te=27ºC";

long rpm;
char cadena_rpm[5];

#int_ext
ext_isr()
{
rpm++;
}
void main()
{
enable_interrupts(GLOBAL);
enable_interrupts(int_ext);
ext_int_edge(L_TO_H);
glcd_init(ON);
//linea doble vertical
glcd_line(100,0,100,64,ON);
glcd_line(100,0,100,64,ON);
//linea doble horizontal
glcd_line(0,28,100,28,ON);
glcd_line(0,29,100,29,ON);
//mostre el valor de les r.p.m.
sprintf(cadena_rpm,"%lu",rpm); //imprimeix la variable rpm en la cadena de text cadena_rpm
glcd_text57(0,0,cadena_rpm,3,ON);
//mostre r.p.m.
glcd_text57(65,13,text2,1,ON);
}

Por si le puede servir a alguien!
31/03/2011 #3




hola que tal? oye tendras un manual donde me enseñe a utilizar las glcd en pic c ccs? te lo agradeceria
21/04/2011 #4


amigo este tipo de configuración también se puede realizar para una lcd 16x2 o 16x4 para mostrar variables numéricas grandes
13/05/2011 #5


LCD_ Grafico Ks0108
Disculpen amigos del foro necesito sacar imagenes en un lcd de 128 X 64, ks0108, ahora bien tengo un pic18f2550, pero no entiendo muy bien el como sacar dicha imagen, si alguien podria ayudarme le estaria muy agradecido, porq ya estuve varias semanas en esto
01/11/2011 #6


hola a todos tengo una duda con el lcd en el codigo del ccs aparece la libreria de nombre HDM64GS12 supongo que es otro microcontrolador que maneja la pantalla compatible con el ks0108. ¿estare en lo correcto ? porke tengo una pantalla con el microcontrolador ks0108 y no me gustaria kemarla tratando de descubrirlo .

saludos
02/11/2011 #7
Moderador

Avatar de Chico3001

Despreocupate, puedes hacer todas las pruebas de codigo que requieras siempre y cuando mantengas los voltajes dentro de los niveles de operacion de la pantalla.... no se queman por enviarles codigos erroneos...
05/11/2011 #8


grasias por la respuesta lo revisare enseguida.
saludos.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.