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

Temas similares

09/05/2013 #61


Hola mario1577

Armé el circuito en el ISIS de Proteus y compilé el código que adjuntaste en formato .TXT.
Curiosamente funciona el circuito y el programa.

Si el nombre del archivo de tu código es LCD.C probablemente ese sea el problema por lo que no funciona.

saludos
a sus ordenes
09/05/2013 #62


mmm que raro me descargue sus archivos y si jala, pero lo hago con el circuito que hice y ya no jala con el mismo codigo que escribieron.
10/05/2013 #63


Hola mario1577

Si, verdaderamente es curioso.
Me gustaría tener ese archivo .DSN para analizarlo. Me refiero al que no funciona.

Tal vez quieras comprimirlo con WinZip o WinRar y adjuntarlo aquí.

saludos
a sus ordenes
10/05/2013 #64


Aqui estaivo el archivo
Archivos Adjuntos
Tipo de Archivo: rar lcd1.rar (15,1 KB (Kilobytes), 18 visitas)
10/05/2013 #65
Moderador

Avatar de D@rkbytes

mario1577 dijo: Ver Mensaje
Aqui está el archivo
Pues a mi si me funciona, aún teniendo el PIC la frecuencia de trabajo a 1MHz.
Cosa que tienes que corregir, y es importante que uses la frecuencia de trabajo del programa.

Me supongo que a MrCarlos también le funciona.
Quizás tengas que reinstalar el programa, o actualizarlo.
10/05/2013 #66


Hola mario1577

Creo que no vamos a descubrir qué está pasando.
Probé el circuito que adjuntaste pero no tengo el archivo LCD.COF que le asignas al PIC. El que tu realizaste.

Si le asigno el que se generó con el código que adjuntaste en tu mensaje original si funciona.

Qué te parece si lo dejamos de ese tamaño ??

La diferencia que tenemos es que yo los nombré TheCode.xxx y Tú LCD.xxx; es por eso que creo que falla en la simulación.

En el código que adjuntaste haces referencia en la 4Ta línea: #include <lcd.c>
Así que como tu Código tiene el mismo nombre es ahí, creo, donde falla. Se confunde el ISIS de Proteus.

saludos
a sus ordenes
10/05/2013 #67
Moderador

Avatar de D@rkbytes

No MrCarlos, ese no es el problema.
El programa asume cual es el código fuente, y cuales son las librerías.
El programa se puede llamar igual que alguna librería, incluso tener la misma extensión.
Y ésto se logra ya que código fuente y librería no residen en la misma carpeta.
Es bien sabido que dos archivos con el mismo nombre y extensión, no se pueden tener en la misma carpeta.

Los archivos *.cof solo son para hacer debug al programa, pero genéricamente hacen lo mismo que el *.hex.

Debe ser otro problema.
10/05/2013 #68


Hola D@rkbytes

Efectivamente así es.

Hablé (Escribí) si haber estudiado antes el manual que tengo.
Vi también que es diferente cuando se hace un #include con <. . .> que con “. . . ”
En fin yo lo dejo de ese tamaño no sé que estará pasando.

saludos
a sus ordenes
10/05/2013 #69


pues esta raro, mejor volvere a instalar el proteus
10/05/2013 #70
Moderador

Avatar de D@rkbytes

MrCarlos dijo: Ver Mensaje
Hola D@rkbytes

Efectivamente así es.

Hablé (Escribí) si haber estudiado antes el manual que tengo.
Vi también que es diferente cuando se hace un #include con <. . .> que con “. . . ”
En fin yo lo dejo de ese tamaño no sé que estará pasando.

saludos
a sus ordenes
Pues si, se supone que al escribir #include "mi_lib.h" se refiere a cuando la librería está en la carpeta del proyecto.
Y cuando se escribe #include <mi_lib.h> se refiere a archivos en las carpetas destinadas a las librerías.
Sin embargo en el PCWHD Compiler también se puede escribir #include "mi_lib.h"
y hacer referencia a un archivo de una carpeta remota. (Por default Devices/Drivers) ó las que definamos.
Así con esto, se puede ver que el programa hace mucho por nosotros, ya que busca los archivos.

Saludos.
10/05/2013 #71


Creo que es el compilador porque me instale el proteus 8, ya que tenia el 7.7 y puse el programa que me mandaste Hola D@rkbytes y si jalo ya, pero copie ese mismo programa e hice uno nuevo y lo simule en proteus y no jala, que podra ser??

---------- Actualizado después de 2 minutos ----------

lo extraño es que en protoboard si fi funciona el programa que me enviaste D@rkbytes y tambien el mio
10/05/2013 #72
Moderador

Avatar de D@rkbytes

mario1577 dijo: Ver Mensaje
Creo que es el compilador porque me instale el proteus 8, ya que tenia el 7.7 y puse el programa que me mandaste Hola D@rkbytes y si jalo ya, pero copie ese mismo programa e hice uno nuevo y lo simule en proteus y no jala, que podra ser??

---------- Actualizado después de 2 minutos ----------

lo extraño es que en protoboard si fi funciona el programa que me enviaste D@rkbytes y tambien el mio
Existía un problema anteriormente con respecto a la librería LCD.C en alguna versión del PCWHD
No recuerdo cual, motivo por el cual me olvide de programar en C con ese compilador.
Luego un día por ahí leí, que se corregía actualizando el programa. Fue lo que hice y funciono.
Sin embargo aún sigue teniendo problemas en otras cosas, y por eso no lo considero muy bueno.
Tiene muchas cosas que no me agradan con respecto a otros programas, que en varios aspectos lo superan.

Pero también recuerdo que el error no solo era en simulación, también era físicamente.
No se mostraba nada en la pantalla. Y se soluciono hasta que actualice la versión del PCWHD.

PD:
Proteus no se queda atrás, y también tiene muchas malas historias que contar.

Saludos.
10/05/2013 #73


Tambien lo mas extraño esque comenzo a fallar desde ayer, porque en la mañan si me simulaba ese programa, despues empece a simular con lcd y teclado pero no funcionaba, habia investigado que era un bug del proteus pero pues apartir de ahi ya no me funciono nada
10/05/2013 #74
Moderador

Avatar de D@rkbytes

Usa el Revo Uninstaller y le das a Advanced, seleccionando todos los registros que te muestre, y los borras.
Así te dejará el sistema libre de rastros de la instalación de proteus. (No es muy confiable, pero suele serlo)
Yo en esos casos de desinstalar programas sin dejar rastro, lo hago manualmente, pero se requiere conocimiento.
Luego reinicias y vuelves a instalar, por lo regular funciona todo otra vez.
10/05/2013 #75


ya funciono toda ya hice un programa de hola mundo (ya que ni ese mostraba) y el programa que hice anteriormente y ya los muestra el lcd, lo que hice fue volver a instalar el compilador la version 4.13 y ya jalo, gracias por la ayuda
10/05/2013 #76
Moderador

Avatar de D@rkbytes

Lo ves, ahora que ya resolviste tu problema, tienes más por aprender, y verás que existen muchas cosas nuevas.
Así es esto, y siempre se aprende algo nuevo.

Te deseo mucha suerte.
29/05/2013 #77


Buen día para todos. tengo un problema en la visualización de la LCD 2X16 mediante micro 16f877A.
resulta que el programa que esta echo en PCW funciona a la perfección en el simulador Proteus. pero cuando pruebo físicamente en la protoboard con todos los elementos del montaje en la visualización aparecen saltos y los valores no se ven estables, parece como si la visualización estuviera alocada.

despliego el programa.

Código:
#include <16f877a.h> 
#device adc=10                    // Set ADC resolution a 10Bit
#fuses NOWDT,HS
#use delay(clock=20M) 
#include <lcd.c>
#include <math.h>

void main (void){
int16 q;
float h,HR,x,d;

   setup_adc_ports(AN0_AN1_AN2_AN3_AN4);
   setup_adc(ADC_CLOCK_INTERNAL);       // Inicialización ADC con una rate de Crystal/20MHz  
   delay_us(10);                  // El modulo ADC es lento, necesita algo de tiempopara el ajuste.    
   lcd_init();                            // Enciende LCD
   delay_ms(100);

for(;;){  
      set_adc_channel(0);              // Activa canal ADC 0
      delay_us(20);                    // Espera 20 milisegundos
      q = read_adc();                  // Captura la corriente y la lee ADC
      h = 5.0*q/1024.0;                // Valor en tención del ADC
      x = h-3.05;                      // Resta el valor de tención al 100% establecido
      d = (100*x)/0.55;          // Se multiplica la resta*100 y se divide por 0.55 que es el 100%
      HR = 100-d;  

printf(lcd_putc,"\fVol = %2.3f",h); 
printf(lcd_putc,"\nHR = %01.2f%%     ",HR); // Imprime el valor en LCD
      delay_ms(100);
  }         
}
29/05/2013 #78
Moderador

Avatar de D@rkbytes

Prueba quitando el "\f" para evitar que la pantalla se esté limpiando cada 100Ms.
Deja la instrucción así...
printf(lcd_putc,"Vol = %2.3f",h);

Suerte.
20/06/2013 #79

Avatar de XSGAV

hola, había tenido muchos problemas para utilizar mi display con un pic16f628a hasta el momento, me ah ayudado el archivo de prueba que adjunto D@rkbytes es el único archivo el cual me a funcionado a la perfeccion y pude descartar que no sirvieran mis display, el problema es que cuando utilizo mi librería LCD.C aun que habilite el puerto b no puedo lograr alguna visualización agradecería su ayuda eh bajado librerías actualizadas como la flex420 sin resultados
21/06/2013 #80
Moderador

Avatar de D@rkbytes

XSGAV dijo: Ver Mensaje
hola, había tenido muchos problemas para utilizar mi display con un pic16f628a hasta el momento, me ah ayudado el archivo de prueba que adjunto D@rkbytes es el único archivo el cual me a funcionado a la perfeccion y pude descartar que no sirvieran mis display, el problema es que cuando utilizo mi librería LCD.C aun que habilite el puerto b no puedo lograr alguna visualización agradecería su ayuda eh bajado librerías actualizadas como la flex420 sin resultados
Sube dentro de un archivo comprimido el programa que no te funciona, incluyendo tu librería.

Saludos.
¿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.