Autor Tema: El código se me regresa sin razón  (Leído 2682 veces)

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

Desconectado wedge550

  • PIC10
  • *
  • Mensajes: 10
El código se me regresa sin razón
« en: 09 de Abril de 2011, 19:55:33 »
Miren estaba haciendo un código en un pic 16f877a y voy como full líneas pero al pasar cierto número el codigo como q se queda solo hasta cierta parte.
Al compilar me dice q voy 2400 lineas y bueno la cosa pasa así

corro un programa en y estoy usando un teclado y un lcd y al cambiar de menú en el lcd entra al nuevo menú pero al realizar la lectura del teclado parece q lee la búsqueda del anterior menú osea en este menu si preionara uno debería ir a una rutina pero si presiono uno realiza la rutina del menú anterior pero el código esta bien lo reviso ya varias veces y siempre q uso muchas lineas me pasa esto, no se si a alguien le ha pasado o me puede ayudar muchas gracias...

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
Re: El código se me regresa sin razón
« Respuesta #1 en: 09 de Abril de 2011, 21:36:56 »
Miren estaba haciendo un código en un pic 16f877a y voy como full líneas pero al pasar cierto número el codigo como q se queda solo hasta cierta parte.
Al compilar me dice q voy 2400 lineas y bueno la cosa pasa así

corro un programa en y estoy usando un teclado y un lcd y al cambiar de menú en el lcd entra al nuevo menú pero al realizar la lectura del teclado parece q lee la búsqueda del anterior menú osea en este menu si preionara uno debería ir a una rutina pero si presiono uno realiza la rutina del menú anterior pero el código esta bien lo reviso ya varias veces y siempre q uso muchas lineas me pasa esto, no se si a alguien le ha pasado o me puede ayudar muchas gracias...

Fíjate si tienes alguna versión del compilador de evaluación, ya que generalmente estos solo compilan cierto numero de líneas, de otra forma, vas a tener que explicar mejor tu problema, por que creo que no eres muy claro, y si puedes, sube el código. Saludos.
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: El código se me regresa sin razón
« Respuesta #2 en: 09 de Abril de 2011, 22:17:59 »
se me ocurre que puede ser que al pasar los múltiplo de 255 lineas no exista un tratamiento de cambios de bancos, pero para estar seguros habría que ver el código en esas secciones
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado wedge550

  • PIC10
  • *
  • Mensajes: 10
Re: El código se me regresa sin razón
« Respuesta #3 en: 09 de Abril de 2011, 22:29:41 »
Miren estaba haciendo un código en un pic 16f877a y voy como full líneas pero al pasar cierto número el codigo como q se queda solo hasta cierta parte.
Al compilar me dice q voy 2400 lineas y bueno la cosa pasa así

corro un programa en y estoy usando un teclado y un lcd y al cambiar de menú en el lcd entra al nuevo menú pero al realizar la lectura del teclado parece q lee la búsqueda del anterior menú osea en este menu si preionara uno debería ir a una rutina pero si presiono uno realiza la rutina del menú anterior pero el código esta bien lo reviso ya varias veces y siempre q uso muchas lineas me pasa esto, no se si a alguien le ha pasado o me puede ayudar muchas gracias...

Fíjate si tienes alguna versión del compilador de evaluación, ya que generalmente estos solo compilan cierto numero de líneas, de otra forma, vas a tener que explicar mejor tu problema, por que creo que no eres muy claro, y si puedes, sube el código. Saludos.


y como se si es una version de evaluación osea es la q baje de la pag de la microchip... el mplab ide v8.00

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: El código se me regresa sin razón
« Respuesta #4 en: 09 de Abril de 2011, 22:41:46 »
Me parece que es problema de código  :? O trata de explicarte mejor.


MPLAB IDE es totalmente gratuito, podrías probar re-instalandolo por las dudas.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado wedge550

  • PIC10
  • *
  • Mensajes: 10
Re: El código se me regresa sin razón
« Respuesta #5 en: 09 de Abril de 2011, 23:10:26 »
Me parece que es problema de código  :? O trata de explicarte mejor.


MPLAB IDE es totalmente gratuito, podrías probar re-instalandolo por las dudas.


Saludos!


Aqui está el código no se si me pueden ayudar sería el éxito... gracias igual por sus ayuda
La librería llamar tiene org 600 la librería teclado org 900 y la librería del lcd org 1000 si pongo 700 en la de llamada me sale q reescribo lineas q estan usadas
por eso use 600 x cualquier duda gracias...

El problema está en la rutina clave cuando quiero ingresar los numeros no me deja sale la frase ingrese clave pero no ingresa los valores y cuando presiono el uno o el 2 realiza lo de la rutina menu es decir la primera presentación del  LCD

Si me ayudan les agradeceré muchísimo GRACIAS

LIST P=16F877A
   INCLUDE "P16F877A.INC"
;VARIABLES

TECLA   EQU   20
DATO   EQU   21
VAR      EQU   22
STORE1   EQU   23
STORE2   EQU   24
DATOS   EQU   25   
PDel1   EQU   26
PDel0    EQU   27
BANDERA   EQU   28
CONTADOR EQU   29
LCD_CaracteresPorLinea   EQU   30   ; Número de caracteres por línea de la pantalla.
CONT   EQU   31
RET1   EQU   32
SELECCION   EQU   33   
UNIDAD EQU 34
DECENA   EQU   35
CENTENA   EQU 36
MEN1   EQU 37
MEN2   EQU 38
MEN3   EQU 39
MILENA  EQU 40
DAT1   EQU 41
DAT2   EQU 42
DAT3   EQU 43
DAT4   EQU 44
GEN1   EQU 45
GEN2   EQU 46
GEN3   EQU 47
GEN4   EQU 48



ORG   00
;CONFIG PORTS
BANKSEL   TRISB
MOVLW   B'11110000'
MOVWF   TRISB
CLRF   TRISD
MOVLW   B'11111010'
MOVWF   TRISC
BANKSEL   PORTD
MOVLW   .255
MOVWF   PORTB

;valor para menu
MOVLW   .1
MOVWF   MEN1
MOVLW   .2
MOVWF   MEN2
MOVLW   .3
MOVWF   MEN3

;codigo general
MOVLW   .12
MOVWF   GEN1
MOVLW   .12
MOVWF   GEN2
MOVLW   .2
MOVWF   GEN3
MOVLW   .3
MOVWF   GEN4

MOVLW   .16
MOVWF   MILENA
MOVLW   .16
MOVWF   CENTENA
MOVLW   .16
MOVWF   DECENA
MOVLW   .16
MOVWF   UNIDAD

BCF   PORTC,0


INICIO
   PAGESEL   LCD_Inicializa
    CALL   LCD_Inicializa
   PAGESEL LAZO
LAZO   

   PAGESEL   LCD_Linea1
   CALL   LCD_Linea1
   MOVLW   '1'
   CALL   LCD_Caracter
   MOVLW   ')'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   'T'
   CALL   LCD_Caracter
   MOVLW   'O'
   CALL   LCD_Caracter
   MOVLW   'T'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'L'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter



   PAGESEL   LCD_Linea2
   CALL   LCD_Linea2
   MOVLW   '2'
   CALL   LCD_Caracter
   MOVLW   ')'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   'P'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'R'
   CALL   LCD_Caracter
   MOVLW   'C'
   CALL   LCD_Caracter
   MOVLW   'I'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'L'
   CALL   LCD_Caracter
   PAGESEL LAZO

BUSQUEDA
   PAGESEL TECLADO
   CALL TECLADO
   PAGESEL LAZO

   
      MOVFW   DATOS
      XORWF   MEN1,0
      BTFSC   STATUS,Z
      GOTO    MENU1

      MOVFW   DATOS
      XORWF   MEN2,0
      BTFSC   STATUS,Z
      GOTO    MENU2


GOTO BUSQUEDA


MENU1
PAGESEL LCD_Borra
CALL   LCD_Borra
PAGESEL LAZO
CLRF   DATOS

MENU1A

PAGESEL LAZO

BCF   PORTC,0
   PAGESEL   LCD_Linea1
   CALL   LCD_Linea1


   MOVLW   'T'
   CALL   LCD_Caracter
   MOVLW   'O'
   CALL   LCD_Caracter
   MOVLW   'T'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'L'
   CALL   LCD_Caracter

   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter   
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   '1'
   CALL   LCD_Caracter
   MOVLW   ')'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter

   MOVLW   'O'
   CALL   LCD_Caracter
   MOVLW   'N'
   CALL   LCD_Caracter
   


   PAGESEL   LCD_Linea2
   CALL   LCD_Linea2
   MOVLW   '3'
   CALL   LCD_Caracter
   MOVLW   ')'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   'S'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'L'
   CALL   LCD_Caracter
   MOVLW   'I'
   CALL   LCD_Caracter
   MOVLW   'R'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter


   MOVLW   '2'
   CALL   LCD_Caracter
   MOVLW   ')'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter


   MOVLW   'O'
   CALL   LCD_Caracter
   MOVLW   'F'
   CALL   LCD_Caracter
   MOVLW   'F'
   CALL   LCD_Caracter

PAGESEL LAZO



BUSQUEDA2
   PAGESEL TECLADO
   CALL TECLADO
   PAGESEL LAZO

   
      MOVFW   DATOS
      XORWF   MEN1,0
      BTFSC   STATUS,Z
   ;   GOTO    ALARMATOTAL
      GOTO   CLAVE

      MOVFW   DATOS
      XORWF   MEN2,0
      BTFSC   STATUS,Z
      GOTO    MENU1A

      MOVFW   DATOS
      XORWF   MEN3,0
      BTFSC   STATUS,Z
      GOTO    BORRAMEN1A

   GOTO BUSQUEDA2

BORRAMEN1A
PAGESEL LCD_Borra
CALL   LCD_Borra
PAGESEL LAZO
CLRF DATOS
GOTO   LAZO


MENU2
PAGESEL LCD_Borra
CALL   LCD_Borra
PAGESEL LAZO
CLRF DATOS
MENU2A

   PAGESEL   LCD_Linea1
   CALL   LCD_Linea1


   MOVLW   'P'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'R'
   CALL   LCD_Caracter
   MOVLW   'C'
   CALL   LCD_Caracter
   MOVLW   'I'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'L'
   CALL   LCD_Caracter

   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter

   MOVLW   '1'
   CALL   LCD_Caracter
   MOVLW   ')'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   'O'
   CALL   LCD_Caracter
   MOVLW   'N'
   CALL   LCD_Caracter

   PAGESEL   LCD_Linea2
   CALL   LCD_Linea2

   MOVLW   '3'
   CALL   LCD_Caracter
   MOVLW   ')'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   'S'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'L'
   CALL   LCD_Caracter
   MOVLW   'I'
   CALL   LCD_Caracter
   MOVLW   'R'
   CALL   LCD_Caracter

   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter

   MOVLW   '2'
   CALL   LCD_Caracter
   MOVLW   ')'
   CALL   LCD_Caracter
   MOVLW   ' '
   CALL   LCD_Caracter
   MOVLW   'O'
   CALL   LCD_Caracter
   MOVLW   'F'
   CALL   LCD_Caracter
   MOVLW   'F'
   CALL   LCD_Caracter
PAGESEL   LAZO

BUSQUEDA3


   PAGESEL TECLADO
   CALL TECLADO
   PAGESEL LAZO

   
      MOVFW   DATOS
      XORWF   MEN1,0
      BTFSC   STATUS,Z
      GOTO    ALARMAPARCIAL

      MOVFW   DATOS
      XORWF   MEN2,0
      BTFSC   STATUS,Z
      GOTO    MENU2A

      MOVFW   DATOS
      XORWF   MEN3,0
      BTFSC   STATUS,Z
      GOTO    BORRAMEN1A

GOTO BUSQUEDA3


ALARMATOTAL

PAGESEL LAZO
CLRF DATOS


PAGESEL LAZO
AT      
   PAGESEL LAZO
   
      PAGESEL TECLADO
      CALL TECLADO
      PAGESEL LAZO
      MOVFW DATOS
      XORWF   MEN2,0
      BTFSC   STATUS,Z
   ;   GOTO    CLAVE
      GOTO   MENU1A
   
;LECTURA DE SENSORES
BTFSC   PORTC,3


GOTO   SIRENA1


GOTO AT



ALARMAPARCIAL
CLRF DATOS


AP      
      PAGESEL TECLADO
      CALL TECLADO
      PAGESEL LAZO
      
      MOVFW   DATOS
      XORWF   MEN2,0
      BTFSC   STATUS,Z
      GOTO    MENU2A





GOTO ALARMAPARCIAL

SIRENA1

BSF   PORTC,0

SIRENA2

PAGESEL TECLADO
      CALL TECLADO
      PAGESEL LAZO
      
      MOVFW   DATOS
      XORWF   MEN2,0
      BTFSC   STATUS,Z
;      GOTO    CLAVE
      GOTO   MENU1A
   
BSF      PORTC,2
PAGESEL   DELAY200MS
CALL   DELAY200MS
CALL   DELAY200MS

PAGESEL   LAZO
BCF      PORTC,2
PAGESEL   DELAY200MS
CALL   DELAY200MS
CALL   DELAY200MS

PAGESEL   LAZO



GOTO   SIRENA2


CLAVE

PAGESEL LCD_Borra
CALL   LCD_Borra
PAGESEL LAZO
CLRF   DATOS
CLAV

   PAGESEL   LCD_Linea1
   CALL   LCD_Linea1

   MOVLW   'I'
   CALL   LCD_Caracter
   MOVLW   'N'
   CALL   LCD_Caracter
   MOVLW   'G'
   CALL   LCD_Caracter
   MOVLW   'R'
   CALL   LCD_Caracter
   MOVLW   'E'
   CALL   LCD_Caracter
   MOVLW   'S'
   CALL   LCD_Caracter
   MOVLW   'E'
   CALL   LCD_Caracter

   MOVLW   'C'
   CALL   LCD_Caracter
   MOVLW   'L'
   CALL   LCD_Caracter
   MOVLW   'A'
   CALL   LCD_Caracter
   MOVLW   'V'
   CALL   LCD_Caracter
   MOVLW   'E'
   CALL   LCD_Caracter

INGRESO_4

      PAGESEL TECLADO
      CALL TECLADO
      PAGESEL LAZO
      
      MOVFW   DATOS
      MOVWF   MILENA

      MOVLW   .16
      XORWF   MILENA,0
      BTFSC   STATUS,Z
      GOTO    INGRESO_4
   
INGRESO_3

      PAGESEL TECLADO
      CALL TECLADO
      PAGESEL LAZO
      
      MOVFW   DATOS
      MOVWF   CENTENA

      MOVLW   .16
      XORWF   MILENA,0
      BTFSC   STATUS,Z
      GOTO    INGRESO_3

INGRESO_2

      PAGESEL TECLADO
      CALL    TECLADO
      PAGESEL LAZO
      
      MOVFW   DATOS
      MOVWF   DECENA

      MOVLW   .16
      XORWF   MILENA,0
      BTFSC   STATUS,Z
      GOTO    INGRESO_2

INGRESO_1

      PAGESEL TECLADO
      CALL   TECLADO
      PAGESEL LAZO
      
      MOVFW   DATOS
      MOVWF   UNIDAD

      MOVLW   .16
      XORWF   MILENA,0
      BTFSC   STATUS,Z
      GOTO    INGRESO_1

PRESENTKEY

   PAGESEL   LCD_Linea2
   CALL   LCD_Linea2
   PAGESEL LAZO
   MOVFW   MILENA
   CALL   TABLA
   PAGESEL LCD_Caracter
   CALL   LCD_Caracter

   PAGESEL LAZO
   MOVFW   CENTENA
   CALL   TABLA
   PAGESEL LCD_Caracter
   CALL   LCD_Caracter

   PAGESEL LAZO
   MOVFW   DECENA
   CALL   TABLA
   PAGESEL LCD_Caracter
   CALL   LCD_Caracter

   PAGESEL LAZO
   MOVFW   UNIDAD
   CALL   TABLA
   PAGESEL LCD_Caracter
   CALL   LCD_Caracter

      PAGESEL LAZO
      PAGESEL TECLADO
      CALL    TECLADO
      PAGESEL LAZO

      MOVLW   .15
      XORWF   DATOS,0
      BTFSC   STATUS,Z
      GOTO    ALARMATOTAL
      GOTO   PRESENTKEY



TABLA
   ADDWF   PCL,F
   RETLW   '0'   
   RETLW   '1'   
   RETLW   '2'   
   RETLW   '3'   
   RETLW   '4'   
   RETLW   '5'   
   RETLW   '6'   
   RETLW   '7'   
   RETLW   '8'   
   RETLW   '9'   
   RETLW   '*'
   RETLW   '#'
   RETLW   'A'
   RETLW   'B'
   RETLW   'C'
   RETLW   'D'

   INCLUDE <TECLADO_PIC.INC>
   INCLUDE <LCD_4BIT.INC>







END
« Última modificación: 10 de Abril de 2011, 20:53:17 por wedge550 »

Desconectado wedge550

  • PIC10
  • *
  • Mensajes: 10
Re: El código se me regresa sin razón
« Respuesta #6 en: 10 de Abril de 2011, 19:28:05 »
se me ocurre que puede ser que al pasar los múltiplo de 255 lineas no exista un tratamiento de cambios de bancos, pero para estar seguros habría que ver el código en esas secciones

me puedes indicar como hago esto q dices de los cambios de banco por favor....

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: El código se me regresa sin razón
« Respuesta #7 en: 11 de Abril de 2011, 01:59:43 »
Cita de: wedge550


y como se si es una version de evaluación osea es la q baje de la pag de la microchip... el mplab ide v8.00
[/quote

esa version que usa no es actual asi que te recomiendo que la actualice, yo uso la Version V8,56

Saludos