• Jueves 28 de Marzo de 2024, 12:50

Autor Tema:  Lcd En Mplab C30  (Leído 5648 veces)

danielgomezco

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Lcd En Mplab C30
« en: Martes 25 de Septiembre de 2007, 19:22 »
0
Hola tengo un pequeño problema la libreria de lcd del mplab c30 no soporta el dspic30f4013 alguien tiene alguna libreria que me permita manejar el lcd???

jorgepe91

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Lcd En Mplab C30
« Respuesta #1 en: Jueves 16 de Febrero de 2012, 05:50 »
0
bien ahi te dejo la libreria para que la cheques, es bastante sencillo, solo necesitas saber lo siguiente

# include "LCD.h"   // agregas libreria

   // Inicializa la pantalla en modo 4 bits de 2 renglones
   iniciaLCD(FOUR_BIT & TWO_LINE );
   while(busyLCD());       // Espera a que la pantalla LCD se desocupe
   putsLCD(" CONTADOR ");    // Escribe "CONTADOR" en el primer renglon
   setDDRamAddr(0x40);    // Cambia al segundo reglon
   putsLCD("0");          // Escribe "0" la pantalla (renglon 2)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

maurigarcia88

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re:Lcd En Mplab C30
« Respuesta #2 en: Miércoles 28 de Noviembre de 2012, 20:33 »
0
Hola estoy usando esta librería, después de mucho buscar ésta me anduvo. Cómo hago para mostrar en pantalla una variable? Por ejemplo, un valor leído del adc.

jorgepe91

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Lcd En Mplab C30
« Respuesta #3 en: Miércoles 28 de Noviembre de 2012, 20:50 »
0
lo unico que se necesita hacer es utilizar la misma funcion, pero agregar la variable que quieres mostrar de la siguiente manera:
si te fijas en la libreria ahi viene el tipo de valores que recibe, por esa razon tienes que escribir solo valores tipo caracter, de lo contrario te escribira valores basura,

para convertir un valor entero a caracter solo ocupas la funcion sprintf, esta funcion se encuentra en la libreria stdio.h
 ejemplo:

sprintf(cad_variable, "%d", variable);
putsLCD(cad_variable);

espero y te sirva

maurigarcia88

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re:Lcd En Mplab C30
« Respuesta #4 en: Jueves 29 de Noviembre de 2012, 02:32 »
0
Muchísimas gracias, pero no me anda. A la variable cad_variable la declaro como un char *, y hago tal cual me decís (el programa corre perfecto sin error). Pero en la pantalla no me aparece nada. La opción que me queda es descomponer el número en unidades, decenas, centenas, etc y hacer la conversión dígito a dígito sumándole una cte que me dé su valor en ASCII (así lo había hecho anteriormente). Si se te ocurre por qué podría ser el error, te agradecería que me digas.
Una vez gracias! Saludos

jorgepe91

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Lcd En Mplab C30
« Respuesta #5 en: Jueves 29 de Noviembre de 2012, 05:24 »
0
la declaracion de variables es la siguiente:

double lecturaADC; //En esta variable se almacena el resultado del ADC
double grados = 0; //
char stradc[6];

double lecturaADC; //En esta variable se almacena el resultado del ADC
grados = lecturaADC/4095;
   grados*=360;

   setDDRamAddr(0x00);
   sprintf(strgrados, "%.2f",grados);
   putsLCD(strgrados);       

en este programa hice una conversion de grados de un potenciometro, y me funciono perfectamente, si sigues con el problema intenta mandar el codigo y talves te pueda ayudar un poco mas