Ir ao conteúdo
  • Cadastre-se

Dificuldades com o MPLAB


joseca

Posts recomendados

Ola a todos!

Estou com dificuldades para compilar com o MPLAB V8.10.

Não estou sabendo lidar com os arquivos.

Eu escrevi o programa piscaled.asm do murder_fox no editor dei um nome salvei com a extensão .asm,depois criei um projeto salvei,mas na hora de compilar ele diz que nao tem arquivo fonte.:angry:

Link para o comentário
Compartilhar em outros sites

OK,deu certo,compilou mas achou bastante erros,segue abaixo o codigo fonte,onde eu errei???

;************************************************************************************************************************************************************************
; PROGRAMA:PISCA
; VERSÃO 1.0
; DESENVOLVIDO POR JOSÉ CARLOS RAYMUNDO
; DATA:26/03/2012

#INCLUDE<p16f628a.inc> ;ARQUIVO PADRÃO MICROCHIP PIC16F628A
;************************************************************************************************************************************************************************
; BITS DE CONFIGURAÇÃO

_CONFIG_INTOSC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON &_MCLRE_OFF & _BOREN_OFF &_LVP_OFF&_CP_OFF &DATA_CP_OFF
;***********************************************************************************************************************************************************************
; PAGINAÇÃO DE MEMORIA
#DEFINE BANCO_O BCF STATUS,RP0 ;SETA BANCO 0 DE MEMORIA
#DEFINE BANCO_1 BSF STATUS,RP0 ;SETA BANCO 1 DE MEMORIA

;***********************************************************************************************************************************************************************
; VARIAVEIS
CBLOCK 0X20 ;ENDEREÇO INICIAL DA MEMORIA DO USUARIO
DELAY_0 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
DELAY_1 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
DELAY_2 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
ENDC ;FIM DO BLOCO DE MEMORIA

;************************************************************************************************************************************************************************
; CONSTANTES
INI_DELAY_0 EQU .255 ;VALOR QUE DELAY_0 INICIA
INI_DELAY_1 EQU .50 ;VALOR QUE DELAY_1 INICIA
INI_DELAY_2 EQU .13 ;VALOR QUE DELAY_2 INICIA
;***********************************************************************************************************************************************************************
; SAIDA
#DEFINE LED PORTA,0 ;LED LIGADO EM RA0
;***********************************************************************************************************************************************************************
; VETOR DE RESET

ORG 0X00 ;ENDEREÇO INICIAL DE PROCESSAMENTO
GOTO INICIO ;DESVIA PARA INICIO
;***********************************************************************************************************************************************************************
; ROTINA DE INTERRUPÇÃO
ORG OX04 ;VETOR DAS INTERRUPÇÕES
RETFIE ;RETORNA
;*************************************************************************************************************************************************************************
; CONFIGURAÇÃO DOS REGISTRADORES DE USO ESPECIFICO
INICIO
BANCO_1 ;SELECIONA BANCO 1 DE MEMORIA
MOVLW B'11111110' ;W=B'11111110'
MOVWF TRISA ;CONFIGURA RA0 COMO SAIDA E DEMAIS COMO ENTRADAS
MOVLW B'11111111'
MOVWF TRISB ;TODOS OS PINOS DO PORTB COMO ENTRADAS
BANCO_0 ;SELECIONA BANCO 0 DE MEMORIA
MOVLW B'00000111'
MOVWF CMCON ;CONFIGURA RA3,RA2,RA1 E RA0 COMO I/O
;**************************************************************************************************************************************************************************
; INICIALIZAÇÃO DAS VARIAVEIS
MOVLW INI_DELAY_0 ;W=INI_DELAY_0
MOVWF DELAY_0 ;INICIALIZA DELAY_0
MOVLW INI_DELAY_1 ;W=INI_DELAY_1
MOVWF DELAY_1 ;INICIALIZA DELAY_1
MOVLW INI_DELAY_2 ;W=INI_DELAY_2
MOVWF DELAY_2 ;INICIALIZA DELAY_2
;*************************************************************************************************************************************************************************
; ROTINA PRINCIPAL DO PROGRAMA

PRINCIPAL
CLRWDT ;LIMPA O WDT
DECFSZ DELAY_0,F ;DECREMENTA DELAY_0.DELAY_0=O?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_0 ;SIM,W=INI_DELAY_0
MOVWF DELAY_0 ;REINICIALIZADA DELAY_0
DECFSZ DELAY_1,F ;DECREMENTA DELAY_1.DELAY_1=0?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_1 ;SIM,W=INI_DELAY_1
MOVWF DELAY_1 ;REINICIALIZA DELAY_1
DECFSZ DELAY_2,F ;DECREMENTA DELAY_2.DELAY_2=0?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_2 ;SIM,W=INI_DELAY_2
MOVWF DELAY_2 ;REINICIALIZA DELAY_2
BTFSS LED ;TESTA O VALOR DO BIT 0 DO PORTA
GOTO ACENDE_LED ;VALOR=0,DESVIA
BCF LED ;VALOR=1,APAGA O LED
GOTO PRINCIPAL ;DESVIA
ACENDE_LED
BSF LED;ACENDE O LED
GOTO PRINCIPAL ;DESVIA
END ;FIM DO PROGRAMA

Debug build of project `C:\Documents and Settings\José Carlos\Meus documentos\mplab2\PISCA.mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Sat Mar 31 11:35:33 2012
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Arquivos de programas\Microchip\MPASM Suite\MPASMWIN.exe" /q /p18F452 "pisca.asm" /l"pisca.lst" /e"pisca.err" /d__DEBUG=1
Message[301] C:\ARQUIVOS DE PROGRAMAS\MICROCHIP\MPASM SUITE\P16F628A.INC 35 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Error[108] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 11 : Illegal character (&)
Warning[205] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 19 : Found directive in column 1. (CBLOCK)
Warning[205] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 23 : Found directive in column 1. (ENDC)
Warning[205] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 36 : Found directive in column 1. (ORG)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 37 : Found opcode in column 1. (GOTO)
Warning[205] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 40 : Found directive in column 1. (ORG)
Error[113] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 40 : Symbol not previously defined (OX04)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 41 : Found opcode in column 1. (RETFIE)
Error[118] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 41 : Overwriting previous address contents (0000)
Error[118] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 41 : Overwriting previous address contents (0001)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 45 : Found opcode in column 1. (BSF)
Error[118] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 45 : Overwriting previous address contents (0002)
Error[118] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 45 : Overwriting previous address contents (0003)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 46 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 47 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 48 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 49 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 51 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 52 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 55 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 56 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 57 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 58 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 59 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 60 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 65 : Found opcode in column 1. (CLRWDT)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 66 : Found opcode in column 1. (DECFSZ)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 67 : Found opcode in column 1. (GOTO)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 68 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 69 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 70 : Found opcode in column 1. (DECFSZ)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 71 : Found opcode in column 1. (GOTO)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 72 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 73 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 74 : Found opcode in column 1. (DECFSZ)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 75 : Found opcode in column 1. (GOTO)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 76 : Found opcode in column 1. (MOVLW)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 77 : Found opcode in column 1. (MOVWF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 78 : Found opcode in column 1. (BTFSS)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 79 : Found opcode in column 1. (GOTO)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 80 : Found opcode in column 1. (BCF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 81 : Found opcode in column 1. (GOTO)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 83 : Found opcode in column 1. (BSF)
Warning[203] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 84 : Found opcode in column 1. (GOTO)
Warning[205] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 85 : Found directive in column 1. (END)
Error[173] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 86 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\Documents and Settings\José Carlos\Meus documentos\mplab2\PISCA.mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Sat Mar 31 11:35:34 2012

Link para o comentário
Compartilhar em outros sites

Só vou estar em casa a tarde,caso ninguem responda até lá,verifique algumas coisas;

Os 'WARNING',são avisos e não erro.

No seu caso,deixa um espaço no começo de cada linha de código.

Fazendo isso,voce vai ver apenas os erros.

Verifique tambem se voce tem a ultima versão do MPLAB,pois este que voce esta usando está apontando que a pasta do seu projeto esta num caminho muito longo ;

C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM

Altere tambem o dispositivo no MPLAB('Config/Devices')para o PIC em questão,16F628A.

Quando voce compila e aparece um ERRO ou WARNING,se voce der dois clikes na linha do erro ,no aviso,o programa redireciona o foco para a linha no código que contem o erro,isso ajuda um pouco a descobrir o erro.

Link para o comentário
Compartilhar em outros sites

Corrigi algumas coisas:

alterei para o PIC16F628A

Tirei os comandos da primeira coluna,mas mesmo assim esta dando erros

veja:

Debug build of project `C:\Documents and Settings\José Carlos\Meus documentos\mplab2\PISCA.mcp' started.

Preprocessor symbol `__DEBUG' is defined.

Sat Mar 31 13:46:03 2012

----------------------------------------------------------------------

Clean: Deleting intermediary and output files.

Clean: Deleted file "C:\Documents and Settings\José Carlos\Meus documentos\mplab2\PISCA.mcs".

Clean: Done.

Executing: "C:\Arquivos de programas\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F628A "pisca.asm" /l"pisca.lst" /e"pisca.err" /d__DEBUG=1

Error[108] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 11 : Illegal character (&)

Error[113] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 40 : Symbol not previously defined (OX04)

Error[118] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 41 : Overwriting previous address contents (0000)

Error[118] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 41 : Overwriting previous address contents (0000)

Message[302] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 47 : Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 49 : Register in operand not in bank 0. Ensure that bank bits are correct.

Warning[207] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 50 : Found label after column 1. (BANCO_0)

Warning[205] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 85 : Found directive in column 1. (END)

Error[173] C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM 86 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\JOSé CARLOS\MEUS DOCUMENTOS\MPLAB2\PISCA.ASM)

Halting build on first failure as requested.

----------------------------------------------------------------------

Debug build of project `C:\Documents and Settings\José Carlos\Meus documentos\mplab2\PISCA.mcp' failed.

Preprocessor symbol `__DEBUG' is defined.

Sat Mar 31 13:46:06 2012

----------------------------------------------------------------------

BUILD FAILED

Link para o comentário
Compartilhar em outros sites

Coloque,depois da linha de configuração,o comando a seguir;

ERRORLEVEL -302

Isso evita aquele 'WARNING' chato de ;

Register in operand not in bank 0. Ensure that bank bits are correct.

Cria sua pasta de teste que contem os códigos no driver C:

Use a indentação do código abaixo como referencia para voce não ter mais problemas de espaços e digitação.

Mantenha os espaços e utilize sempre a tecla 'TAB' para deixar tudo organizado,será melhor para voce.

;************************************************* ************************************************** ************************
; PROGRAMA:PISCA
; VERSÃO 1.0
; DESENVOLVIDO POR JOSÉ CARLOS RAYMUNDO
; DATA:26/03/2012

#INCLUDE<p16f628a.inc> ;ARQUIVO PADRÃO MICROCHIP PIC16F628A
;************************************************* ************************************************** ************************
; BITS DE CONFIGURAÇÃO
__CONFIG _BODEN_OFF & _CP_OFF & _PWRTE_ON & _WDT_ON & _LVP_OFF & _MCLRE_OFF & _INTOSC_OSC_NOCLKOUT & _CP_OFF & DATA_CP_OFF;
ERRORLEVEL -302
; ************************************************* ************************************************** ************************
; PAGINAÇÃO DE MEMORIA
#DEFINE BANCO_O BCF STATUS,RP0 ;SETA BANCO 0 DE MEMORIA
#DEFINE BANCO_1 BSF STATUS,RP0 ;SETA BANCO 1 DE MEMORIA

;************************************************* ************************************************** *************************
; VARIAVEIS
CBLOCK 0X20 ;ENDEREÇO INICIAL DA MEMORIA DO USUARIO
DELAY_0 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
DELAY_1 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
DELAY_2 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
ENDC ;FIM DO BLOCO DE MEMORIA

;************************************************* ************************************************** **************************
; CONSTANTES
INI_DELAY_0 EQU .255 ;VALOR QUE DELAY_0 INICIA
INI_DELAY_1 EQU .50 ;VALOR QUE DELAY_1 INICIA
INI_DELAY_2 EQU .13 ;VALOR QUE DELAY_2 INICIA
;************************************************* ************************************************** ***************************
; SAIDA
#DEFINE LED PORTA,0 ;LED LIGADO EM RA0
;************************************************* ************************************************** ***************************
; VETOR DE RESET

ORG 0X00 ;ENDEREÇO INICIAL DE PROCESSAMENTO
GOTO INICIO ;DESVIA PARA INICIO
;************************************************* ************************************************** ****************************
; ROTINA DE INTERRUPÇÃO
ORG 0X04 ;VETOR DAS INTERRUPÇÕES
RETFIE ;RETORNA
;************************************************* ************************************************** ****************************
; CONFIGURAÇÃO DOS REGISTRADORES DE USO ESPECIFICO
INICIO
BANCO_1 ;SELECIONA BANCO 1 DE MEMORIA
MOVLW B'11111110' ;W=B'11111110'
MOVWF TRISA ;CONFIGURA RA0 COMO SAIDA E DEMAIS COMO ENTRADAS
MOVLW B'11111111'
MOVWF TRISB ;TODOS OS PINOS DO PORTB COMO ENTRADAS
BANCO_0 ;SELECIONA BANCO 0 DE MEMORIA
MOVLW B'00000111'
MOVWF CMCON ;CONFIGURA RA3,RA2,RA1 E RA0 COMO I/O
;************************************************* ************************************************** *****************************
; INICIALIZAÇÃO DAS VARIAVEIS
MOVLW INI_DELAY_0 ;W=INI_DELAY_0
MOVWF DELAY_0 ;INICIALIZA DELAY_0
MOVLW INI_DELAY_1 ;W=INI_DELAY_1
MOVWF DELAY_1 ;INICIALIZA DELAY_1
MOVLW INI_DELAY_2 ;W=INI_DELAY_2
MOVWF DELAY_2 ;INICIALIZA DELAY_2
;************************************************* ************************************************** *****************************
; ROTINA PRINCIPAL DO PROGRAMA
PRINCIPAL
CLRWDT ;LIMPA O WDT
DECFSZ DELAY_0,F ;DECREMENTA DELAY_0.DELAY_0=O?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_0 ;SIM,W=INI_DELAY_0
MOVWF DELAY_0 ;REINICIALIZADA DELAY_0
DECFSZ DELAY_1,F ;DECREMENTA DELAY_1.DELAY_1=0?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_1 ;SIM,W=INI_DELAY_1
MOVWF DELAY_1 ;REINICIALIZA DELAY_1
DECFSZ DELAY_2,F ;DECREMENTA DELAY_2.DELAY_2=0?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_2 ;SIM,W=INI_DELAY_2
MOVWF DELAY_2 ;REINICIALIZA DELAY_2
BTFSS LED ;TESTA O VALOR DO BIT 0 DO PORTA
GOTO ACENDE_LED ;VALOR=0,DESVIA
BCF LED ;VALOR=1,APAGA O LED
GOTO PRINCIPAL ;DESVIA
ACENDE_LED
BSF LED ;ACENDE O LED
GOTO PRINCIPAL ;DESVIA
;------------------------------
END ;FIM DO PROGRAMA

Qual a versão do MPLAB voce está usando?

Link para o comentário
Compartilhar em outros sites

Mplab v8.10.

:confused:Corrigi alguns erros e compilou,mas deu alguns avisos e mensagens,gerou o .hex gravei no PIC16F628A mas nao roda o programa.

Será que esse avisos são os culpados?Mas se ferou o .hex é por que deu tudo certo,não é isso???

Deu isso:


Preprocessor symbol `__DEBUG' is defined.
Mon Apr 02 10:44:01 2012
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\estudoMPLAB\pisca.asm.mcs".
Clean: Done.
Executing: "C:\Arquivos de programas\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F628A "pisca.asm" /l"pisca.lst" /e"pisca.err" /d__DEBUG=1
Warning[203] C:\ESTUDOMPLAB\PISCA.ASM 45 : Found opcode in column 1. (BSF)
Message[302] C:\ESTUDOMPLAB\PISCA.ASM 47 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\ESTUDOMPLAB\PISCA.ASM 49 : Register in operand not in bank 0. Ensure that bank bits are correct.
Loaded C:\estudoMPLAB\pisca.cod.
----------------------------------------------------------------------
Debug build of project `C:\estudoMPLAB\pisca.asm.mcp' succeeded.
Preprocessor symbol `__DEBUG' is defined.
Mon Apr 02 10:44:20 2012
----------------------------------------------------------------------
BUILD SUCCEEDED

:Agora funcionou belezinha,pessoal,eu tinha configurado as portas de saida erradas por isso o led nao acendia.agora esta perfeito,obrigado pessoal pela força ,valeu muito...

Segue com ficou o codigo:


PROGRAMA:PISCA
; VERSÃO 1.0
; DESENVOLVIDO POR JOSÉ CARLOS RAYMUNDO
; DATA:26/03/2012

#INCLUDE<p16f628a.inc> ;ARQUIVO PADRÃO MICROCHIP PIC16F628A
;************************************************************************************************************************************************************************
; BITS DE CONFIGURAÇÃO

__config _INTOSC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CP_OFF & _DATA_CP_OFF
;***********************************************************************************************************************************************************************
; PAGINAÇÃO DE MEMORIA
#DEFINE BANCO_O BCF STATUS,RP0 ;SETA BANCO 0 DE MEMORIA
#DEFINE BANCO_1 BSF STATUS,RP0 ;SETA BANCO 1 DE MEMORIA

;***********************************************************************************************************************************************************************
; VARIAVEIS
CBLOCK 0X20 ;ENDEREÇO INICIAL DA MEMORIA DO USUARIO
DELAY_0 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
DELAY_1 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
DELAY_2 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
ENDC ;FIM DO BLOCO DE MEMORIA

;************************************************************************************************************************************************************************
; CONSTANTES
INI_DELAY_0 EQU .255 ;VALOR QUE DELAY_0 INICIA
INI_DELAY_1 EQU .50 ;VALOR QUE DELAY_1 INICIA
INI_DELAY_2 EQU .13 ;VALOR QUE DELAY_2 INICIA
;***********************************************************************************************************************************************************************
; SAIDA
#DEFINE LED PORTB,0 ;LED LIGADO EM RB0
;***********************************************************************************************************************************************************************
; VETOR DE RESET

ORG 0x00 ;ENDEREÇO INICIAL DE PROCESSAMENTO
GOTO INICIO ;DESVIA PARA INICIO
;***********************************************************************************************************************************************************************
; ROTINA DE INTERRUPÇÃO
ORG 0x04 ;VETOR DAS INTERRUPÇÕES
RETFIE ;RETORNA
;*************************************************************************************************************************************************************************
; CONFIGURAÇÃO DOS REGISTRADORES DE USO ESPECIFICO
INICIO
BANCO_1 ;SELECIONA BANCO 1 DE MEMORIA
MOVLW B'11111111' ;W=B'11111111'
MOVWF TRISA ;CONFIGURA PORTA COMO ENTRADA
MOVLW B'00000000'
MOVWF TRISB ;TODOS OS PINOS DO PORTB COMO SAIDAS
BANCO_0 ;SELECIONA BANCO 0 DE MEMORIA
MOVLW B'00000111'
MOVWF CMCON ;CONFIGURA RA3,RA2,RA1 E RA0 COMO I/O
;**************************************************************************************************************************************************************************
; INICIALIZAÇÃO DAS VARIAVEIS
MOVLW INI_DELAY_0 ;W=INI_DELAY_0
MOVWF DELAY_0 ;INICIALIZA DELAY_0
MOVLW INI_DELAY_1 ;W=INI_DELAY_1
MOVWF DELAY_1 ;INICIALIZA DELAY_1
MOVLW INI_DELAY_2 ;W=INI_DELAY_2
MOVWF DELAY_2 ;INICIALIZA DELAY_2
;*************************************************************************************************************************************************************************
; ROTINA PRINCIPAL DO PROGRAMA

PRINCIPAL
CLRWDT ;LIMPA O WDT
DECFSZ DELAY_0,F ;DECREMENTA DELAY_0.DELAY_0=O?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_0 ;SIM,W=INI_DELAY_0
MOVWF DELAY_0 ;REINICIALIZADA DELAY_0
DECFSZ DELAY_1,F ;DECREMENTA DELAY_1.DELAY_1=0?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_1 ;SIM,W=INI_DELAY_1
MOVWF DELAY_1 ;REINICIALIZA DELAY_1
DECFSZ DELAY_2,F ;DECREMENTA DELAY_2.DELAY_2=0?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_2 ;SIM,W=INI_DELAY_2
MOVWF DELAY_2 ;REINICIALIZA DELAY_2
BTFSS LED ;TESTA O VALOR DO BIT 0 DO PORTA
GOTO ACENDE_LED ;VALOR=0,DESVIA
BCF LED ;VALOR=1,APAGA O LED
GOTO PRINCIPAL ;DESVIA
ACENDE_LED
BSF LED;ACENDE O LED
GOTO PRINCIPAL ;DESVIA
END ;FIM DO PROGRAMA

:Agora funcionou belezinha,pessoal,eu tinha configurado as portas de saida erradas por isso o led nao acendia.agora esta perfeito,obrigado pessoal pela força ,valeu muito...

Segue com ficou o codigo:


PROGRAMA:PISCA
; VERSÃO 1.0
; DESENVOLVIDO POR JOSÉ CARLOS RAYMUNDO
; DATA:26/03/2012

#INCLUDE<p16f628a.inc> ;ARQUIVO PADRÃO MICROCHIP PIC16F628A
;************************************************************************************************************************************************************************
; BITS DE CONFIGURAÇÃO

__config _INTOSC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CP_OFF & _DATA_CP_OFF
;***********************************************************************************************************************************************************************
; PAGINAÇÃO DE MEMORIA
#DEFINE BANCO_O BCF STATUS,RP0 ;SETA BANCO 0 DE MEMORIA
#DEFINE BANCO_1 BSF STATUS,RP0 ;SETA BANCO 1 DE MEMORIA

;***********************************************************************************************************************************************************************
; VARIAVEIS
CBLOCK 0X20 ;ENDEREÇO INICIAL DA MEMORIA DO USUARIO
DELAY_0 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
DELAY_1 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
DELAY_2 ;USADO PARA GERAR O TEMPO DE 0,5 SEGUNDO
ENDC ;FIM DO BLOCO DE MEMORIA

;************************************************************************************************************************************************************************
; CONSTANTES
INI_DELAY_0 EQU .255 ;VALOR QUE DELAY_0 INICIA
INI_DELAY_1 EQU .50 ;VALOR QUE DELAY_1 INICIA
INI_DELAY_2 EQU .13 ;VALOR QUE DELAY_2 INICIA
;***********************************************************************************************************************************************************************
; SAIDA
#DEFINE LED PORTB,0 ;LED LIGADO EM RB0
;***********************************************************************************************************************************************************************
; VETOR DE RESET

ORG 0x00 ;ENDEREÇO INICIAL DE PROCESSAMENTO
GOTO INICIO ;DESVIA PARA INICIO
;***********************************************************************************************************************************************************************
; ROTINA DE INTERRUPÇÃO
ORG 0x04 ;VETOR DAS INTERRUPÇÕES
RETFIE ;RETORNA
;*************************************************************************************************************************************************************************
; CONFIGURAÇÃO DOS REGISTRADORES DE USO ESPECIFICO
INICIO
BANCO_1 ;SELECIONA BANCO 1 DE MEMORIA
MOVLW B'11111111' ;W=B'11111111'
MOVWF TRISA ;CONFIGURA PORTA COMO ENTRADA
MOVLW B'00000000'
MOVWF TRISB ;TODOS OS PINOS DO PORTB COMO SAIDAS
BANCO_0 ;SELECIONA BANCO 0 DE MEMORIA
MOVLW B'00000111'
MOVWF CMCON ;CONFIGURA RA3,RA2,RA1 E RA0 COMO I/O
;**************************************************************************************************************************************************************************
; INICIALIZAÇÃO DAS VARIAVEIS
MOVLW INI_DELAY_0 ;W=INI_DELAY_0
MOVWF DELAY_0 ;INICIALIZA DELAY_0
MOVLW INI_DELAY_1 ;W=INI_DELAY_1
MOVWF DELAY_1 ;INICIALIZA DELAY_1
MOVLW INI_DELAY_2 ;W=INI_DELAY_2
MOVWF DELAY_2 ;INICIALIZA DELAY_2
;*************************************************************************************************************************************************************************
; ROTINA PRINCIPAL DO PROGRAMA

PRINCIPAL
CLRWDT ;LIMPA O WDT
DECFSZ DELAY_0,F ;DECREMENTA DELAY_0.DELAY_0=O?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_0 ;SIM,W=INI_DELAY_0
MOVWF DELAY_0 ;REINICIALIZADA DELAY_0
DECFSZ DELAY_1,F ;DECREMENTA DELAY_1.DELAY_1=0?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_1 ;SIM,W=INI_DELAY_1
MOVWF DELAY_1 ;REINICIALIZA DELAY_1
DECFSZ DELAY_2,F ;DECREMENTA DELAY_2.DELAY_2=0?
GOTO PRINCIPAL ;NÃO
MOVLW INI_DELAY_2 ;SIM,W=INI_DELAY_2
MOVWF DELAY_2 ;REINICIALIZA DELAY_2
BTFSS LED ;TESTA O VALOR DO BIT 0 DO PORTA
GOTO ACENDE_LED ;VALOR=0,DESVIA
BCF LED ;VALOR=1,APAGA O LED
GOTO PRINCIPAL ;DESVIA
ACENDE_LED
BSF LED;ACENDE O LED
GOTO PRINCIPAL ;DESVIA
END ;FIM DO PROGRAMA
Debug build of project `C:\estudoMPLAB\pisca.asm.mcp' started.

Link para o comentário
Compartilhar em outros sites

Usei sim,corrigi a primeira linha do codigo que nao aceitava o simbolo "&",

Mas agora deu tudo certo como postei acima,obrigado!

Estou começando a pegar gosto pelo assembler,rs...

:o

é obrigatorio os bits de configuração?

BITS DE CONFIGURAÇÃO

__config _INTOSC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CP_OFF & _DATA_CP_OFF

Por que tenho visto codigos sem ele...

Link para o comentário
Compartilhar em outros sites

Fiz um código aqui e funcionou perfeitamente!

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Desenvolvido por Augusto Fraga Giachero ;;
;;Oscilador interno ;;
;; ;;
;; ;;
;; ;;
;;Data: 05/04/2012 ;;
;; ;;
;;PIC 16F628 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

processor 16F628
include <p16f628.inc>
__CONFIG _BODEN_OFF & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT & _CP_OFF & DATA_CP_OFF;


CBLOCK 0X20
DELAY_0
DELAY_1
DELAY_2
ENDC

#define LED1 PORTA,0


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Definição de macrocomandos
;
BANK1 macro ;
bsf STATUS,RP0 ;Muda para o banco 1
bcf STATUS,RP1 ;
Endm ;
;
BANK0 macro ;
bcf STATUS,RP0 ;Volta ao banco 0
bcf STATUS,RP1 ;
Endm ;
;

;
ORG 0X0000 ;Pular para a rotina principal

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Main ;Rotina principal
BANK1
movlw b'11111110'
movwf TRISA
BANK0
Loop1:
bsf LED1
call Delay_500ms
bcf LED1
call Delay_500ms
goto Loop1

sleep
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Começo das sub-rotinas
Delay_500ms
;499994 cycles
movlw 0x03
movwf DELAY_0
movlw 0x18
movwf DELAY_1
movlw 0x02
movwf DELAY_2
Delay_500ms_0
decfsz DELAY_0, f
goto $+2
decfsz DELAY_1, f
goto $+2
decfsz DELAY_2, f
goto Delay_500ms_0

;2 cycles
goto $+1

;4 cycles (including call)
return


END ;Fim do programa

Desliguei o WDT.

Compile ai e veja se funciona.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!