Autor Tema: error al crear archivo .hex  (Leído 2882 veces)

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

Desconectado aamoros79

  • PIC10
  • *
  • Mensajes: 46
error al crear archivo .hex
« en: 03 de Abril de 2006, 03:09:00 »
hola amigos.
he hecho un programilla para comunicar el pic con el ordenador y q este ultimo reciba datos de un sensor (no se si estara bien)
el problema es que al pasar de asm a hex me da a entender como que no programo bien los bancos. os envio el archivo con los errores por si sabeis una solucion porque la cosa es qe justo antes de que me de el error estoy cambiando de banco. sera que no me lo detecta? o que esty poniendo mal el banco?
gracias

MPASM 02.30 Released             PIC1.ASM   4-3-2006  9:44:42         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00001         Title "primer programa"
                    00002 ;queremos que teniendo una entrada analogica
                    00003 ;los datos que entren por esta salgan por el puerto serie y vayan al pc
                    00004
                    00005
                    00006         list p=16f876 ; processor type
                    00007         include <p16f876.inc>
                    00001         LIST
                    00002 ; P16F876.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
                    00357         LIST
                    00008
  00000020          00009 TEMP equ 0x20
                    00010
                    00011 ;-------
                    00012 ; RESET
                    00013 ;-------
0000                00014         org 00h                 ; direccion de comienzo = 0000
                    00015                                 ; cuando se produce un reset o comienza el programa
0000 2801           00016         goto INICIO             ; va a la primera instruccion del programa
                    00017
                    00018
                    00019 ; --------------------
                    00020 ; INICIO DE PROGRAMA
                    00021 ; --------------------
                    00022
0001 1283           00023 INICIO  bcf STATUS,RP0          ; BANCO 0
0002 1303           00024         bcf STATUS,RP1
                    00025        
0003 0187           00026         clrf PORTC              ; Limpia todos los bits de PORTC
0004 0186           00027         clrf PORTB              ; Limpia todos los bits de PORTB
                    00028        
0005 1683           00029         bsf STATUS,RP0          ; BANCO 1
0006 1303           00030         bcf STATUS,RP1
                    00031        
0007 3001           00032         movlw b"00000001"
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0008 0085           00033         movwf TRISA             ; PORTA como entradas
                    00034        
0009 1283           00035         bcf STATUS,RP0          ; BANCO 0
000A 1303           00036         bcf STATUS,RP1
                    00037        
000B 1798           00038         bsf RCSTA,SPEN          ; Activamos la USART (bit SPEN del
                    00039                                 ; registro RCSTA) 7=habilito puerto serie
                    00040        
000C 1683           00041         bsf STATUS,RP0          ; BANCO 1
000D 1303           00042         bcf STATUS,RP1
                    00043        
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
000E 0186           00044         clrf TRISB              ; puertab como salida
000F 30FF           00045         movlw b"11111111"       ; RC7/RX entrada
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0010 0087           00046         movwf TRISC             ; RC6/TX salida
                    00047
MPASM 02.30 Released             PIC1.ASM   4-3-2006  9:44:42         PAGE  2
primer programa

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0011 3024           00048         movlw b"00100100"       ; Configuramos USART para high speed y
                    00049                                 ; permitimos transmisión
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0012 0098           00050         movwf TXSTA             ; y activacion de transmision (asincrono)
                    00051
0013 3019           00052         movlw d"25"             ; Miramos la tablas del datasheet y
                    00053                                 ; escribimos 25 en SPBRG
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0014 0099           00054         movwf SPBRG             ; para configurar una velocidad de
                    00055                                 ; transmisión de 9600 BAUDIOS a 4 MHz
                    00056
0015 1283           00057         bcf STATUS,RP0          ; BANCO0
0016 1303           00058         bCf STATUS,RP1
                    00059
0017 3080           00060         movlw b"10000000"
0018 0098           00061         movwf RCSTA             ; habilito puerto serie
                    00062
0019 1683           00063         bsf STATUS,RP0          ; banco1
001A 1303           00064         bCf STATUS,RP1
                    00065
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
001B 1698           00066         bsf TXSTA,TXEN          ; 5=TXEN habilita la transmision
                    00067
001C 2021           00068         call INICIAAD           ; configura modulo A/D
001D 2038           00069         call ENVIAR             ; envia datos por puerto serie
                    00070
001E 3080           00071         movlw b"10000000"       ; hago parpadear led q indica que funciona
001F 0686           00072         xorwf PORTB,F
0020 2821           00073         goto INICIAAD
                    00074
                    00075 ;---------------------------------------------------------
                    00076 ; IniciaAD - inicializa e instala el hardware a/d.
                    00077 ; Selecion de AN0 como entrada analogica, RC clock.
                    00078 ; Permire interrupciones
                    00079 ;---------------------------------------------------------
                    00080
0021 1683           00081 INICIAAD bsf STATUS,RP0         ; Pasar a RAM BANCO1
0022 1303           00082         bCf STATUS,RP1
                    00083
0023 308E           00084         movlw B"10001110"       ; RA0 analog inputs(el resto RAx I/O digitales)
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0024 009F           00085         movwf ADCON1            ; justificado a la derecha
                    00086                                 ; 8 bits mas significativos en ADRESH
                    00087
0025 1283           00088         bcf STATUS,RP0          ; elegimos BANCO0
0026 1303           00089         bCf STATUS,RP1
                    00090
0027 3041           00091         movLW B"01000001"       ; Selecciono RC osc (FOSC/8), AN0
0028 009F           00092         movWF ADCON0            ; A/D habilitado
0029 130C           00093         bcf PIR1,ADIF           ; cuando finaliza una conversion este bit se activa
002A 151F           00094         bsf ADCON0,GO           ; 2=GO , la conversion esta en proceso
                    00095
002B 081E           00096 UPDATE  movf ADRESH,w           ; convsigue valor a/d
MPASM 02.30 Released             PIC1.ASM   4-3-2006  9:44:42         PAGE  3
primer programa

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

002C 0087           00097         movwf   PORTC           ; output a portc
002D 2033           00098         call ESPERA
002E 151F           00099         bsf ADCON0,GO           ; comienza nueva conversion
                    00100
002F 191F           00101 LOOP    btfsc ADCON0,GO         ; si go=0 la siguiente instruccion es descartada
                    00102                                 ; (ejecuta NOP) saltando a la siguiente
                    00103                                 ; si go=1 ejecuta la siguiente instruccion
0030 282B           00104         goto UPDATE
0031 282F           00105         goto LOOP
                    00106
0032 0008           00107         return
                    00108
                    00109 ;-------------------------------------------------------
                    00110 ; ESPERA - necesitamos un tiempo de retraso
                    00111 ; para que se pueda asegurar la adquisicion de datos.
                    00112 ;-------------------------------------------------------
                    00113
0033 3003           00114 ESPERA  movlw 3
0034 00A0           00115         movwf TEMP
0035 0BA0           00116 SD      decfsz TEMP, F
0036 2835           00117         goto SD
0037 0008           00118         return
                    00119
                    00120 ;----------------------------------------------------
                    00121 ; ENVIAR datos por puerto serie
                    00122 ;----------------------------------------------------
                    00123
0038 0099           00124 ENVIAR movwf TXREG              ; Movemos lo que queremos transmitir
                    00125                                 ; (debe estar en el registro W)
                    00126                                 ; al registro TXREG y empezamos a transmitir
                    00127        
0039 1F98           00128 FIN_TX btfss RCSTA,SPEN         ; Compruebo si el bit TMRT del registro esta
                    00129                                 ; a "1" o a "0".
003A 2839           00130         goto FIN_TX             ; Si esta a "0" es que esta lleno TMRT y no
                    00131                                 ; ha terminado de transmitir,
                    00132                                 ; para ello TRMT tiene que estar a 1, hasta
                    00133                                 ; entonces esperamos.
003B 0008           00134         return
                    00135
                    00136         END
MPASM 02.30 Released             PIC1.ASM   4-3-2006  9:44:42         PAGE  4
primer programa

.
.
.
.

MEMORY USAGE MAP ("X" = Used,  "-" = Unused)

0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXX----

All other memory blocks unused.

Program Memory Words Used:    60
Program Memory Words Free:  8132


Errors   :     0
Warnings :     0 reported,     0 suppressed
Messages :     7 reported,     0 suppressed

« Última modificación: 08 de Mayo de 2006, 07:49:17 por aamoros79 »

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: URGENTE error al crear archivo .hex
« Respuesta #1 en: 03 de Abril de 2006, 11:27:00 »
Yo no veo que te indique ningún error
¿no te genera el archivo .hex?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: URGENTE error al crear archivo .hex
« Respuesta #2 en: 03 de Abril de 2006, 18:00:00 »
aamoros79 tampoco veo errores en el archivo.  Ahora bien, ese es el volcado de un archivo .lst ?

Si te salen errores los debieras ver en un archivo .err

Si te salen warnings o mensajes los debieras ver en la pantalla de OUTPUT del Mplab. (si es que usas este).

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: URGENTE error al crear archivo .hex
« Respuesta #3 en: 03 de Abril de 2006, 19:23:00 »
q cansino

Desconectado aamoros79

  • PIC10
  • *
  • Mensajes: 46
RE: URGENTE error al crear archivo .hex
« Respuesta #4 en: 04 de Abril de 2006, 01:06:00 »
son mensajes no errores pero a la hora de grabar el pic me da error de verificacion
q puede ser?

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
RE: URGENTE error al crear archivo .hex
« Respuesta #5 en: 04 de Abril de 2006, 05:09:00 »
Con que grabador, con que pic y con que software grabador?

Saludos desde Almería, España
Saludos desde Almería, España

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: URGENTE error al crear archivo .hex
« Respuesta #6 en: 04 de Abril de 2006, 08:43:00 »
Escrito originalmente por aamoros79
son mensajes no errores pero a la hora de grabar el pic me da error de verificacion
q puede ser?


Eso es otra cosa.

El grabador cuando quiere "verificar" no puede o bien recibe todos datos vacíos.

Si usas un programador del tipo JDM, Pablin, etc, te aconsejo que cambies el programador.

Saludos

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado aamoros79

  • PIC10
  • *
  • Mensajes: 46
RE: URGENTE error al crear archivo .hex
« Respuesta #7 en: 05 de Abril de 2006, 01:23:00 »
utilizo el entrenador upictrainer, el pic a grabar es pic16f876 y el programa que utilizo viene con el entrenador y se llama picme-tr.
gracias

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: RE: URGENTE error al crear archivo .hex
« Respuesta #8 en: 08 de Abril de 2006, 14:28:15 »
utilizo el entrenador upictrainer, el pic a grabar es pic16f876 y el programa que utilizo viene con el entrenador y se llama picme-tr.
gracias

Ah,  es que no conozco ese entrenador.  Esto del error te lo dio siempre? Es decir, con todos los pics que has programado con dicho entrenador o esta es la primera vez que lo intentas y te has frustrado de primer intento?

Se me ocurre que podrias ver de cambiar el pic si es que esto te sigue dando problemas.  Si aún persiste el inconveniente es para comenzar a sospechar que ocurre algo entre tu pc y el entrenador.  Algo como que no estes eligiendo bien el puerto serie o algo por el estilo.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything