Autor Tema: problemas de copilacion en mplab ide 8.90  (Leído 8474 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado JOSEMP

  • PIC10
  • *
  • Mensajes: 33
problemas de copilacion en mplab ide 8.90
« en: 19 de Junio de 2013, 00:11:51 »
Saludos...

estoy comenzando con esto de programacion de los pic... soy nuevo.... intento hacer un programa sencillo de desplazar un led encendido.. al momento de copilar me sale este error:

Debug build of project `C:\Users\vit\Documents\Cursos\Microcontroladores\Practicas clase 4\Ejercicio 1 clase 4\ejercicio1C4.mcp' started.
Language tool versions: MPASMWIN.exe v5.49, mplink.exe v4.47, mplib.exe v4.47
Preprocessor symbol `__DEBUG' is defined.
Tue Jun 18 22:37:28 2013
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Build aborted.  The project contains no source files.
----------------------------------------------------------------------
Debug build of project `C:\Users\vit\Documents\Cursos\Microcontroladores\Practicas clase 4\Ejercicio 1 clase 4\ejercicio1C4.mcp' failed.
Language tool versions: MPASMWIN.exe v5.49, mplink.exe v4.47, mplib.exe v4.47
Preprocessor symbol `__DEBUG' is defined.
Tue Jun 18 22:37:29 2013
----------------------------------------------------------------------
BUILD FAILED



no creo que sea error de programación... puede ser es que el formato para hacer el programa( que poner primero o despues ) me lo pasaron no se en que version de mplab lo hicieron.. por favor ayuda..





anexo el codigo


     INCLUDE   <P16F877A.INC>
      LIST P=16F877A
        __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF & _BOREN_ON & _LVP_OFF   

;REDIFINICION DE NOMBRE

#DEFINE  PUERTO_A  PORTA                         
#DEFINE  PUERTO_B  PORTB
#DEFINE  PUERTO_C  PORTC
              CBLOCK   0x20             ;BLOQUE DE VARIABLES O REGISTROS
         PDel0
         PDel1
         PDel2
                        ENDC


               ORG   00H
         GOTO           COMIENZO

         ORG             100H
COMIENZO                    CALL   PUERTO ; LLAMDA A PUERTO.
             BCF    STATUS,C
CICLO             RRF    PORTC,F
             CALL   DEMORA
             GOTO    CICLO
         
;***************************************************************************************************
;             BLOQUE DE RUTINAS          BLOQUE DE RUTINAS
;******************************************************************************************************
PUERTO            BSF    STATUS,RP0
                        BCF       STATUS,RP1       
             MOVLW     B 111111
            MOVWF   TRISA
                 MOVLW     B 11111111
            MOVWF   TRISB
            MOVLW   B 11111111
                   MOVWF   TRISC
                 MOVLW   B 11111111
                 MOVWF   TRISD
                 MOVLW   B 111
                 MOVWF   TRISE
                 CLRF    OPTION_REG
            NOP
            MOVLW     B 00000110         
            MOVWF    ADCON1     
                  BCF     PIE1,ADIE           ; DESABILITADA LA CONVERSION
                 BCF    STATUS,RP0
            MOVLW   B 111111
            MOVWF   PORTA
            MOVLW   B 11111111
            MOVWF   PORTB
            MOVLW   B 11111111
            MOVWF   PORTC
            MOVLW   B 11111111 
            MOVWF   PORTD
            MOVLW   B 111
            MOVWF   PORTE
            MOVLW   B 00000000
                   MOVWF   INTCON
                 RETURN


DEMORA  movlw     .167      ; 1 set numero de repeticion  (C)
        movwf     PDel0     ; 1 |
PLoop0  movlw     .41       ; 1 set numero de repeticion  (B)
        movwf     PDel1     ; 1 |
PLoop1  movlw     .72       ; 1 set numero de repeticion  (A)
        movwf     PDel2     ; 1 |
PLoop2  clrwdt              ; 1 clear watchdog
        decfsz    PDel2, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto      PLoop2    ; 2 no, loop
        decfsz    PDel1,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto      PLoop1    ; 2 no, loop
        decfsz    PDel0,  1 ; 1 + (1) es el tiempo 0  ? (C)
        goto      PLoop0    ; 2 no, loop
PDelL1  goto PDelL2         ; 2 ciclos delay
PDelL2  clrwdt              ; 1 ciclo delay
        return              ; 2+2 Fin.            


;******************************************************************************************************
END


Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 624
Re: problemas de copilacion en mplab ide 8.90
« Respuesta #1 en: 19 de Junio de 2013, 11:20:43 »
bienvenido al foro, el error que te marca dice Build aborted.  The project contains no source files. eso quiere decir que tu proyecto no contiene archivos fuentes, para solucionarlo, en la ventana de proyecto debes hacer add Files en la carpeta source files.

Saludos

La electrónica es el arte de manipular señales eléctricas que transportan información
Jan Davidse

Visita mi blog
Visita mi canal de youtube

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: problemas de copilacion en mplab ide 8.90
« Respuesta #2 en: 19 de Junio de 2013, 13:12:04 »
Sander creo que el problema esta en los literales que estan mal escritos, igual hay alguna cosa mas.

Esos literales que tienes en binario creo que no estan bien escritos, pones:

 MOVLW     B 111111

Ponselo asi:

b'111111'

Por cierto creo que quieres encender LEDs y estas configurando como entrada los puertos. Para que sean salida los TRIS hay que ponerlos a "0".

Desconectado JOSEMP

  • PIC10
  • *
  • Mensajes: 33
Re: problemas de copilacion en mplab ide 8.90
« Respuesta #3 en: 19 de Junio de 2013, 14:32:56 »
tapi8 .. muchas gracias ya pude solucionar los problemas con la copilacion ....

sander lo que pasa es que quiero encerder los led con 0.. estoy utilizando lógica inversa pagarlos con un 1 y encenderlos con 0.. me dijeron que es la mejor forma de encerder los
led...

ahora tengo otro problemita .. acomode algo al programa con la subrutina de retardo y al copilar no me da ningún error.. pero estoy intentando simular y me aparece esto:

error ;denle click para ver la captura
tengo entendido que para colocar una fuente de 5v selecciono power en terminales..

asi quedo mi codigo.. no se si tenga detalles

      INCLUDE   <P16F877A.INC>
      LIST P=16F877A
        __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF & _BOREN_ON & _LVP_OFF   

;REDIFINICION DE NOMBRE

#DEFINE  PUERTO_A  PORTA                         
#DEFINE  PUERTO_B  PORTB
#DEFINE  PUERTO_C  PORTC
              CBLOCK   H'20'             ;BLOQUE DE VARIABLES O REGISTROS
         CONT1
         CONT2
         CONT3
                        ENDC


               ORG   H'00'
         GOTO           COMIENZO

         ORG     H'100'
COMIENZO                    CALL   PUERTO ; LLAMDA A PUERTO.
             BCF    STATUS,C
CICLO             RRF    PORTC,F
             CALL   RETARDO
             GOTO    CICLO
         
                        
;***************************************************************************************************
;             BLOQUE DE RUTINAS          BLOQUE DE RUTINAS
;******************************************************************************************************
PUERTO            BSF    STATUS,RP0
                        BCF       STATUS,RP1       
             MOVLW     B'111111'
            MOVWF   TRISA
                 MOVLW     B'11111111'
            MOVWF   TRISB
            MOVLW   B'11111111'
                   MOVWF   TRISC
                 MOVLW   B'11111111'
                 MOVWF   TRISD
                 MOVLW   B'111'
                 MOVWF   TRISE
                 CLRF    OPTION_REG
            NOP
            MOVLW     B'00000110'         
            MOVWF    ADCON1     
                  BCF     PIE1,ADIE           ; DESABILITADA LA CONVERSION
                 BCF    STATUS,RP0
            MOVLW   B'111111'
            MOVWF   PORTA
            MOVLW   B'1111111'
            MOVWF   PORTB
            MOVLW   B'11111111'
            MOVWF   PORTC
            MOVLW   B'11111111' 
            MOVWF   PORTD
            MOVLW   B'111'
            MOVWF   PORTE
            MOVLW   B'00000000'
                   MOVWF   INTCON
                 RETURN


RETARDO               MOVLW    .191
            MOVWF    CONT1
            MOVlW   .191
            MOVWF   CONT2
            MOVLW    .10
            MOVWF    CONT3
CICLO1            DECFSZ    CONT1,F
            GOTO    CICLO1   
            DECFSZ    CONT2,F
            GOTO   CICLO1
            DECFSZ    CONT3,F
            GOTO   CICLO1
            RETURN


;******************************************************************************************************
 END


les agradezco la ayuda de antemano. 






Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: problemas de copilacion en mplab ide 8.90
« Respuesta #4 en: 19 de Junio de 2013, 15:17:20 »
Tienes que poner el PORTC como salida:

 MOVLW   B'11111111'
 MOVWF   TRISC

asi:

MOVLW   B'00000000'
MOVWF   TRISC


Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: problemas de copilacion en mplab ide 8.90
« Respuesta #5 en: 19 de Junio de 2013, 15:31:28 »
Tienes que ir a generator/DC y ponerle la tension que quieres, o poner una bateria y darle 5V, creo que de las dos formas va, creo que mejor la primera.

Desconectado JOSEMP

  • PIC10
  • *
  • Mensajes: 33
Re: problemas de copilacion en mplab ide 8.90
« Respuesta #6 en: 19 de Junio de 2013, 22:25:03 »
gracias a todos por su ayuda.....
tapi8 me puedes explicar un poco la parte de configurar los puertos como entradas o salidas...es que tenia la lógica de que con 1 encendía y 0 apagaba .. y me he enredado un poquito con eso...

y ahora en la simulacion me aparece esto...captura del error


calcula la sub rutina de retardo queria un segundo para el retardo.. y con los calculos me da 1,2 segundos.. utilizo un cristal de 4Mhz.. y la rutina es la que esta en el post anterior..

gracias por todo .. estoy emocionado con esto de los pic y estoy buscando aprender lo que pueda..

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: problemas de copilacion en mplab ide 8.90
« Respuesta #7 en: 20 de Junio de 2013, 05:57:09 »
Todo esto que haces aqui es la configuracion de puertos, decirles si van a ser entradas (1) o salidas (0), si van a activar algo (LEDs, reles, TRIACs, mosfet etc) seran salidas, si van a leer algo (interruptor, pulsador, sensor, etc) seran entradas:

Código: [Seleccionar]
PUERTO            BSF    STATUS,RP0
                        BCF       STATUS,RP1       
             MOVLW     B'111111'
            MOVWF   TRISA
                 MOVLW     B'11111111'
            MOVWF   TRISB
            MOVLW   B'11111111'
                   MOVWF   TRISC
                 MOVLW   B'11111111'
                 MOVWF   TRISD
                 MOVLW   B'111'
                 MOVWF   TRISE
                 CLRF    OPTION_REG
            NOP
            MOVLW     B'00000110'         
            MOVWF    ADCON1     
                  BCF     PIE1,ADIE           ; DESABILITADA LA CONVERSION
                 BCF    STATUS,RP0

Tu el que usas en el circuito es el PORTC, por tanto tienen que ser salidas, el resto como no los vas a usar puedes ponerlos como quieras.

Aqui un tutorial/curso para aprender assembler, practicamente desde cero:

http://www.todopic.com.ar/foros/index.php?topic=24720.0

Un programa que te genera el codigo de las demoras:

http://www.todopic.com.ar/foros/index.php?topic=5968.0

Con Proteus mejor que te ayude otro, yo no soy el mas indicado  :lol: :lol: