TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Slalen en 04 de Octubre de 2006, 15:02:46
-
Buenas!!
He leido manuales del proteus y no entiendo porque no se ejecutan mis programas para los PIC. Los programo con el MPLAB y al ejecuarlos en proteus no me da error pero no hace nada.
¿Hay que configurar el MPLAB de alguan manera para crear los HEX?
Todos los ejemplos que me he bajado de internet y los que trae me funcionan perfectamente
Gracias
-
Hola Slalen:
Si el MPLAB te genera el HEX, ya no es problema de este sino de Proteus, pero si otros ejemplos si corren me inclino a pensar que algun error cometes.
Creo que deberias preguntar en el foro de simuladores de circuitos y darnos mas detalles, cargas el codigo fuente, el hex, el contador corre, sale algun mensaje, etc.
En todo caso podrias postear tu programa, el hex correspondiente y tu simulacion para probarlos y ver por donde va el error.
Saludos
-
Buenas!!
He leido manuales del proteus y no entiendo porque no se ejecutan mis programas para los PIC. Los programo con el MPLAB y al ejecuarlos en proteus no me da error pero no hace nada.
¿Hay que configurar el MPLAB de alguan manera para crear los HEX?
Todos los ejemplos que me he bajado de internet y los que trae me funcionan perfectamente
Gracias
Quetal... para poder correr un programa en PROTEUS solo tienes que especificar la direccion del codigo .HEX y con eso tienes... pero si quieres llegar a ver el codigo tienes que configurar
En el menu SOURCE...elegir como
--- Generador de codigo el tools MPASMDDX
--- EXtension del codigo fuente ASM
--- y Añadir el archivo fuente (osea tu archivo con la extension .ASM)
y con eso podras ver el codigo fuente de tu programa y ejecutarlo paso a paso...
SI PUEDES ENVIA EL PROGRAMA QUE QUIERES SIMULAR.. y ASI VER DE FORMA CLARA CUAL ES EL PROBLEMA....
Saludos....
-
En algunos casos, la palabra de configuracion afecta, prueba con eso.
bytes
Yoel
-
Quetal... para poder correr un programa en PROTEUS solo tienes que especificar la direccion del codigo .HEX y con eso tienes... pero si quieres llegar a ver el codigo tienes que configurar
En el menu SOURCE...elegir como
--- Generador de codigo el tools MPASMDDX
--- EXtension del codigo fuente ASM
--- y Añadir el archivo fuente (osea tu archivo con la extension .ASM)
y con eso podras ver el codigo fuente de tu programa y ejecutarlo paso a paso...
SI PUEDES ENVIA EL PROGRAMA QUE QUIERES SIMULAR.. y ASI VER DE FORMA CLARA CUAL ES EL PROBLEMA....
Saludos....
Al darle a SOURCE->Define Code Generation Tools... me aparece MPASM y MPASMWIN no MPASMDDX. He probado con los dos y no me funciona ninguno.
Los pasos que das son los que hago después le doy a SOURCE->build all y ejecuto el programa.
-
Al darle a SOURCE->Define Code Generation Tools... me aparece MPASM y MPASMWIN no MPASMDDX. He probado con los dos y no me funciona ninguno.
Los pasos que das son los que hago después le doy a SOURCE->build all y ejecuto el programa.
Primero tienes que agregar la herramienta o el tools.. como te muestro en las imagenes que te adjunto... una ves que hayas agragado el nuevo tools.. recien podras añadir el codigo fuente utilizando como generador de codigo MPASMDDX... eso tambien esta adjunto al archivo comprimido...
una ves que hayas agragado tu codigo fuente . ASM recien podras darle BUILT ALL...
Suerte...
NOTA: el nombre de tu proyecto compilado en MPLAB no debe tener espacios... debe estar seguido o con guiones bajos...
-
Quiza este pequeño manual que confeccioné para un amigo les pueda servir.
Es para ensamblar en PROTEUS y no tener que usar otro ensamblador.
Salu2
BRAULIO
-
Nada,sigo igual...
Os adjunto el programa y el diseño de proteus a ver si me podeis decir lo que está mal
El programa funciona porque programé el micro y monté el sistema y funcionaba correctamente
Muchas gracias por vuestro tiempo
-
El problema es que borras muy rapido el mensaje, si le bajas la velocidad al 16F84A en la simulacion a unos 4 KHz veras claramente el mensaje.
Ponle una pausa al programa de unos 200 ms cada vez que muestres un caracter y podras ver el mensaje.
Saludos
-
Este código que te pongo es la correción del tuyo: ya lo prové en proteus y funcionó de perlas, con el unico problema q no escribe la primera letra, es por que en tu programa no haz inicializado correctamente el lcd, en el datasheet del LCD indica la forma de inicializarlo: mandas 3 veces 38h por el bus (rs, rw = 0) esperando algo de 15 o 40 ms entre cada una y antes de la 1ra vez también, pero no verifiques BF antes de ninguna y luego continuas trabajando; esto lo haces antes de hacer cualquier cosa con el lcd, te recomiendo lo hagas al empezar el programa.
Lo que estaba mal en tu programa es:
1. que al mandar cualquier instrucción o caracter al lcd debes 1º poner los valores en el bus y en rs y rw, luego mandas un pulso en E (chekea la correccion)
esto se aplica tanto para proteus como para la implementación física
2. cuando verificas BF, en proteus debes mandar el pulso E, y luego verificar; esto no se cumple en la realidad, para que funcione en la implementación debes setear E, leer BF (salvarlo), resetear E y luego verificar el valor que tenía BF (chekea la correccion)
Eso es todo lo que corregí en tu programa.
Salu2
BRAULIO
-
PD: de errores como ese te puedes dar cuenta usando las herraminetas del proteus en el menu debug, solo que estos solo estan disponibles si haz hecho el ensamblado en proteus (ahi arriba puse el manual de como ensamblar), pruevalos.
BRAULIO
-
PPD: Disculpa, me equivoque en decir q tu programa estaba mal, no esta mal, el que esta mal es el proteus; he visto bien tu original y lo que te indico para la implementación es lo q hiciste.
Salu2
BRAULIO
-
Muchas gracias a todos!!!
Como era el primer programa que simulaba con proteus pensé que era yo que hacía algo mal ya que el programa funciona en el circuito montado
Gracias a todos por vuestro tiempo :mrgreen: