Autor Tema: Necesito me aconsejen para ver que hice mal?  (Leído 2831 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado do.Ob

  • PIC10
  • *
  • Mensajes: 4
Necesito me aconsejen para ver que hice mal?
« en: 15 de Julio de 2009, 00:45:03 »
buenas es mi primera publicacion pero tengo un problema con el programa en assembler, mi programa se trata de encender y apagar 8 leds mediante un codigo incertado desde la hiperterminal hasta hace poco funciono  y de un momento a otro no quiere funcionar copio el programa si alguien me  puede ayudar de verdad no veo que error tengo y gracias al que me pueda ayudar  :)
« Última modificación: 16 de Julio de 2009, 09:44:44 por do.Ob »

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Necesito ayuda con un programita si pueden ayudarme PLX !!!!
« Respuesta #1 en: 15 de Julio de 2009, 14:13:38 »
.

Pues, si alguna vez funcionó correctamente y de un momento a otro dejó de responder, el problema no debe ser un error en el programa del pic. Sugiero verificar que todas las conexiones hacia el LCD estén donde deben estar (más de una vez me pasó, con tanto cable de un lado al otro del protoboard) y también la configuración del puerto COM que estés usando (velocidad, bits de datos, paridad, etc.). Y una última cosa (que también me pasó y casi tiro todo el prototipo por la ventana antes de darme cuenta): fíjate que el voltaje de alimentación del cristal líquido (el terminal 3 en la mayoría de los LCDs, que regula el contraste del display) sea el adecuado como para lograr ver los caracteres.
¡Si nada de esto te sirve, pues tu proyecto me ha superado a mi también!

Saludos.

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado do.Ob

  • PIC10
  • *
  • Mensajes: 4
Re: Necesito ayuda con un programita si pueden ayudarme PLX !!!!
« Respuesta #2 en: 15 de Julio de 2009, 20:45:51 »
hola gracias por la respuesta pero el programa no esta en fisico solamente simulado en ISIS y con respecto a la velocidad trabaje a 2400 baudios porq en la simulacion es la que funciona me gustaria que alguien me ayudara no en la parte practica si no mas bien en la programacion que no se si tengo algun error ya que el programa al comprobarlo con un encendido de puerto b funciona correctamente creo que el error esta en la transmision desde la hyperterminal pero no se decir donde ya que no lo veo =(

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Necesito ayuda con un programita si pueden ayudarme PLX !!!!
« Respuesta #3 en: 16 de Julio de 2009, 04:13:27 »
do.Ob deberías leer las normas antes de nada

Bienvenido

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Necesito ayuda con un programita si pueden ayudarme PLX !!!!
« Respuesta #4 en: 16 de Julio de 2009, 04:28:06 »
do.Ob deberías leer las normas antes de nada

Bienvenido

concuerdo con la idea de leer las reglas del foro, de ésta forma todo será mas ordenado y podremos ayudarte mejor.
P.D.: No es aconsejable que insertes todo el código en la ventana de texto... lo más recomendable es que adjuntes el archivo.
Saludos  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado do.Ob

  • PIC10
  • *
  • Mensajes: 4
Re: Necesito me aconsejen para ver que hice mal?
« Respuesta #5 en: 16 de Julio de 2009, 09:49:51 »
buenas disculpen que no habia leido las normas  :( ya entendi muchas cosas pero de verdad me gustaria que me ayudaran ya modifique el post y segun lo que he tratado se que el problema lo tengo en la recepcion porque el resto del programa funciona perfecto pero el error de recepcion no lo veo por eso pedi la ayuda por aca ya que vi que hay mucha gente que conoce mucho del assembler

Desconectado alogic.on

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 772
Re: Necesito me aconsejen para ver que hice mal?
« Respuesta #6 en: 16 de Julio de 2009, 09:55:54 »
hola y bienvenido,  solo lo he miradopor encima, pero cuando salta la interrupcion tienes que guardar los registros W, status y todos aquellos que se puedan modifificar durante la interrupcion y antes de retfie volver a reponerlos, setea los cambios de pagina, y como prueba vuelve a hacer la simulacion desde cero que hay veces que se le va la olla

un saludo

Desconectado jarpax

  • PIC10
  • *
  • Mensajes: 11
Re: Necesito me aconsejen para ver que hice mal?
« Respuesta #7 en: 16 de Julio de 2009, 23:23:02 »
mira yo tambien tube problemas con la recepcion, el chiste esta que si la primera ves que te llega  el dato por el serial, se guarda en un buffer, ahora cuando llege otro creo que cuando se sobreescribe este se bloquea, te aconsejo que cada ves que te llege un dato lo tomes y proceses luego al salir de la interrupcion reinicies el modulo de recepcion, creo que es CREN
asi podras,

SALIRSS            ;ETIQUETA DE SALIDA, UNA VES PROCESES TU INTERRUPCION

SWAPF   GUARDAR_STATUS,0         
MOVWF   STATUS
SWAPF   GUARDAR_W,1
SWAPF   GUARDAR_W,0

bcf RCSTA,CREN
bsf RCSTA,CREN

RETFIE      ;SALIR DE INTERRUPCION   

por cierto en que momento le das RETFIE para volver de la interrupcion, cuando NO es una falsa interrupcion?
solo veo esto

      org   0x04      ;Vector de interrupción
      goto   Inter

;********************************************************************************************
;Tx_Dato: Transmite vía serie el dato presente en el reg. W

Tx_Dato      bcf   PIR1,TXIF   ;Restaura el flag del transmisor
movwf   TXREG      ;Almacena el byte a transmitir
bsf   STATUS,RP0
Tx_Dato_Wait   btfss   TXSTA,TRMT   ;Byte transmitido ??
goto   Tx_Dato_Wait   ;No, esperar
bcf   STATUS,RP0
return         ;Si

;******************************************************************************************
;Tratamiento de la interrupción

Inter      btfss   PIR1,RCIF   ;Ha sido interrupción en la recepción ??
retfie        ;No, falsa interrupción
bcf      PIR1,RCIF
movf   RCREG,W      ;Lee el dato recibido
movwf  dato      ;Lo saca por la puerta B
call   Tx_Dato      ;Lo retransmite a modo de eco
return  

;*******************************************************************************************
;Programa principal

Inicio1           clrwdt
      clrf   PORTC      
      clrf   PORTB
      bsf   STATUS,RP0   ;Selecciona banco 1
      clrf   PORTB      ;Puerta B salida

veo un return al final de tu rutina de interupcion y luego tu programa principal, es eso con lo que volves de la interrupcion?  :-/

« Última modificación: 16 de Julio de 2009, 23:43:38 por jarpax »

Desconectado do.Ob

  • PIC10
  • *
  • Mensajes: 4
Re: Necesito me aconsejen para ver que hice mal?
« Respuesta #8 en: 17 de Julio de 2009, 01:56:59 »
ah ok eso puede ser lo voy a probar y si me habia equivocado donde dice "return" es un "retfie"  :shock: para salir de la interrupcion. gracias por el dato de que tengo que guardar cada vez que recibe no sabia eso lo pruebo y te aviso si era eso

Gracias a todos por su ayuda   :mrgreen: