Ir ao conteúdo
  • Cadastre-se

Tutorial de PIC - Programação em Assembly


Posts recomendados

substitui pela linha q você mando


----------------------------------------------------------------------
Debug build of project `D:\Documents and Settings\Compartilhado\Desktop\Programação e Microcontroladores\Pisca LED\Pisca LED.mcp' started.
Language tool versions: MPASMWIN.exe v5.40, mplink.exe v4.38, mplib.exe v4.38
Preprocessor symbol `__DEBUG' is defined.
Sun Jun 26 15:18:09 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "D:\Arquivos de programas\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F628A "Pisca LED.ASM" /l"Pisca LED.lst" /e"Pisca LED.err" /o"Pisca LED.o" /d__DEBUG=1
Error[113] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 14 : Symbol not previously defined (_DATA_CP_OFF)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 34 : Found label after column 1. (INI_DELAY_0)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 35 : Found label after column 1. (INI_DELAY_1)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 36 : Found label after column 1. (INI_DELAY_2)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 61 : Found label after column 1. (INICIO)
Message[302] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 64 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 68 : Register in operand not in bank 0. Ensure that bank bits are correct.
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 93 : Found label after column 1. (PRINCIPAL)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 127 : Found label after column 1. (ACENDE_LED)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `D:\Documents and Settings\Compartilhado\Desktop\Programação e Microcontroladores\Pisca LED\Pisca LED.mcp' failed.
Language tool versions: MPASMWIN.exe v5.40, mplink.exe v4.38, mplib.exe v4.38
Preprocessor symbol `__DEBUG' is defined.
Sun Jun 26 15:18:10 2011
----------------------------------------------------------------------
BUILD FAILED

o programa atual


#INCLUDE <P16F628A.INC>

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

#DEFINE BANCO_0 BCF STATUS,RP0
#DEFINE BANCO_1 BSF STATUS,RP0

CBLOCK 0X20
DELAY_0
DELAY_1
DELAY_2
ENDC

INI_DELAY_0 EQU .255
INI_DELAY_1 EQU .50
INI_DELAY_2 EQU .13

#DEFINE LED PORTA,0

ORG 0X00
GOTO INICIO

ORG 0X04
RETFIE

INICIO
BANCO_1
MOVLW B'11111110'
MOVWF TRISA
MOVLW B'11111111'
MOVWF TRISB
BANCO_0
MOVLW B'00000111'
MOVWF CMCON

MOVLW INI_DELAY_0
MOVWF DELAY_0
MOVLW INI_DELAY_1
MOVWF DELAY_1
MOVLW INI_DELAY_2
MOVWF DELAY_2

PRINCIPAL
CLRWDT
DECFSZ DELAY_0,F
GOTO PRINCIPAL
MOVLW INI_DELAY_0
MOVWF DELAY_0
DECFSZ DELAY_1,F
GOTO PRINCIPAL
MOVLW INI_DELAY_1
MOVWF DELAY_1
DECFSZ DELAY_2,F
GOTO PRINCIPAL
MOVLW INI_DELAY_2
MOVWF DELAY_2
BTFSS LED
GOTO ACENDE_LED
BCF LED
GOTO PRINCIPAL
ACENDE_LED
BSF LED
GOTO PRINCIPAL
END

minha versão: 8.66

Link para o comentário
Compartilhar em outros sites

Mulder,dei uma pesquisada rápida na net,e algumas pessoas estão comentando sobre este erro,que possívelmente é um Bug,pois se as outras palavras reservadas comtem o underline,não ha motivo para uma palavra só no bloco ser diferente.

Chuiki,no seu caso,volte para;

DATA_CP_OFF

Link para o comentário
Compartilhar em outros sites

mesmo programa sem o underline:


----------------------------------------------------------------------
Debug build of project `D:\Documents and Settings\Compartilhado\Desktop\Programação e Microcontroladores\Pisca LED\Pisca LED.mcp' started.
Language tool versions: MPASMWIN.exe v5.40, mplink.exe v4.38, mplib.exe v4.38
Preprocessor symbol `__DEBUG' is defined.
Sun Jun 26 15:24:17 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "D:\Arquivos de programas\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F628A "Pisca LED.ASM" /l"Pisca LED.lst" /e"Pisca LED.err" /o"Pisca LED.o" /d__DEBUG=1
Error[113] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 14 : Symbol not previously defined (_DATA_CP_OFF)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 34 : Found label after column 1. (INI_DELAY_0)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 35 : Found label after column 1. (INI_DELAY_1)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 36 : Found label after column 1. (INI_DELAY_2)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 61 : Found label after column 1. (INICIO)
Message[302] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 64 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 68 : Register in operand not in bank 0. Ensure that bank bits are correct.
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 93 : Found label after column 1. (PRINCIPAL)
Warning[207] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\PROGRAMAçãO E MICROCONTROLADORES\PISCA LED\PISCA LED.ASM 127 : Found label after column 1. (ACENDE_LED)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `D:\Documents and Settings\Compartilhado\Desktop\Programação e Microcontroladores\Pisca LED\Pisca LED.mcp' failed.
Language tool versions: MPASMWIN.exe v5.40, mplink.exe v4.38, mplib.exe v4.38
Preprocessor symbol `__DEBUG' is defined.
Sun Jun 26 15:24:18 2011
----------------------------------------------------------------------
BUILD FAILED

o programa:


#INCLUDE <P16F628A.INC>

__CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CP_OFF & DATA_CP_OFF

#DEFINE BANCO_0 BCF STATUS,RP0
#DEFINE BANCO_1 BSF STATUS,RP0

CBLOCK 0X20
DELAY_0
DELAY_1
DELAY_2
ENDC

INI_DELAY_0 EQU .255
INI_DELAY_1 EQU .50
INI_DELAY_2 EQU .13

#DEFINE LED PORTA,0

ORG 0X00
GOTO INICIO

ORG 0X04
RETFIE

INICIO
BANCO_1
MOVLW B'11111110'
MOVWF TRISA
MOVLW B'11111111'
MOVWF TRISB
BANCO_0
MOVLW B'00000111'
MOVWF CMCON

MOVLW INI_DELAY_0
MOVWF DELAY_0
MOVLW INI_DELAY_1
MOVWF DELAY_1
MOVLW INI_DELAY_2
MOVWF DELAY_2

PRINCIPAL
CLRWDT
DECFSZ DELAY_0,F
GOTO PRINCIPAL
MOVLW INI_DELAY_0
MOVWF DELAY_0
DECFSZ DELAY_1,F
GOTO PRINCIPAL
MOVLW INI_DELAY_1
MOVWF DELAY_1
DECFSZ DELAY_2,F
GOTO PRINCIPAL
MOVLW INI_DELAY_2
MOVWF DELAY_2
BTFSS LED
GOTO ACENDE_LED
BCF LED
GOTO PRINCIPAL
ACENDE_LED
BSF LED
GOTO PRINCIPAL
END

Link para o comentário
Compartilhar em outros sites

vtrx, realmente é estranho. Ainda não pesquisei a fundo.

Chikikajimu, abra, com o bloco de notas, o arquivo P16F628A que se encontra na pasta MPASM Suite, que é uma subpasta da pasta Microchip criada quando da instalação do MPLAB.

Quase no fim do arquivo, tem uma seção chamada CONFIG Options .

Veja se existe lá o DATA_CP_OFF. Ele pode estar com outro nome.

Aguardo resposta...

Link para o comentário
Compartilhar em outros sites

pessoal, eu deletei tudo que tinha feito

dai fui e comecei tudo de novo, so copiando o codigo que eu coloquei aqui no forum (o codigo sem o unrline),dai fui la na parte do project winzrd e beleza funciono agora!

eu nao sei porque nao tava indo antes

eu nao mudei nada so refiz tudo usando o mesmo codigo fonte


----------------------------------------------------------------------
Debug build of project `D:\Documents and Settings\Compartilhado\Desktop\Untitled.mcp' started.
Language tool versions: MPASMWIN.exe v5.40, mplink.exe v4.38, mplib.exe v4.38
Preprocessor symbol `__DEBUG' is defined.
Sun Jun 26 15:41:20 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "D:\Documents and Settings\Compartilhado\Desktop\Untitled.o".
Clean: Deleted file "D:\Documents and Settings\Compartilhado\Desktop\Untitled.err".
Clean: Deleted file "D:\Documents and Settings\Compartilhado\Desktop\Untitled.hex".
Clean: Deleted file "D:\Documents and Settings\Compartilhado\Desktop\Untitled.lst".
Clean: Deleted file "D:\Documents and Settings\Compartilhado\Desktop\Untitled.cof".
Clean: Done.
Executing: "D:\Arquivos de programas\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F628A "Untitled.asm" /l"Untitled.lst" /e"Untitled.err" /d__DEBUG=1
Message[302] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\UNTITLED.ASM 29 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] D:\DOCUMENTS AND SETTINGS\COMPARTILHADO\DESKTOP\UNTITLED.ASM 31 : Register in operand not in bank 0. Ensure that bank bits are correct.
Executing: "D:\Arquivos de programas\Microchip\MPASM Suite\mplink.exe" /p16F628A "Untitled.o" /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"Untitled.cof" /M"Untitled.map" /W /x
MPLINK 4.38, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Errors : 0

Loaded D:\Documents and Settings\Compartilhado\Desktop\Untitled.cof.
----------------------------------------------------------------------
Debug build of project `D:\Documents and Settings\Compartilhado\Desktop\Untitled.mcp' succeeded.
Language tool versions: MPASMWIN.exe v5.40, mplink.exe v4.38, mplib.exe v4.38
Preprocessor symbol `__DEBUG' is defined.
Sun Jun 26 15:41:21 2011
----------------------------------------------------------------------
BUILD SUCCEEDED

o programa


#INCLUDE <P16F628A.INC>

__CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CP_OFF & DATA_CP_OFF

#DEFINE BANCO_0 BCF STATUS,RP0
#DEFINE BANCO_1 BSF STATUS,RP0

CBLOCK 0X20
DELAY_0
DELAY_1
DELAY_2
ENDC

INI_DELAY_0 EQU .255
INI_DELAY_1 EQU .50
INI_DELAY_2 EQU .13

#DEFINE LED PORTA,0

ORG 0X00
GOTO INICIO

ORG 0X04
RETFIE

INICIO
BANCO_1
MOVLW B'11111110'
MOVWF TRISA
MOVLW B'11111111'
MOVWF TRISB
BANCO_0
MOVLW B'00000111'
MOVWF CMCON

MOVLW INI_DELAY_0
MOVWF DELAY_0
MOVLW INI_DELAY_1
MOVWF DELAY_1
MOVLW INI_DELAY_2
MOVWF DELAY_2

PRINCIPAL
CLRWDT
DECFSZ DELAY_0,F
GOTO PRINCIPAL
MOVLW INI_DELAY_0
MOVWF DELAY_0
DECFSZ DELAY_1,F
GOTO PRINCIPAL
MOVLW INI_DELAY_1
MOVWF DELAY_1
DECFSZ DELAY_2,F
GOTO PRINCIPAL
MOVLW INI_DELAY_2
MOVWF DELAY_2
BTFSS LED
GOTO ACENDE_LED
BCF LED
GOTO PRINCIPAL
ACENDE_LED
BSF LED
GOTO PRINCIPAL
END

Link para o comentário
Compartilhar em outros sites

obrigado!

essa parte de gerenciar projetos com o mplab é complicada esse workspace é confuso, acho que os problemas anteriores tem a ver com isso

acho que ele tava compilando mais de um codigo fonte

os codigos fontes antigos ... de quando eu tava começando ler a apostila

porque eu dei 'ctrl + f10' é a opção all

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Olá, primeiramente gostaria de agradecer sua contribuição e dizer que o material está muito bem feito e com certeza vai ajudar muitas pessoas!

Em segundo lugar gostaria de causar um pouco de "atrito". Hoje em dia programar somente em assembly é um retrocesso gigantesco, é muito importante conhecer esta linguagem e usa-la quando necessário (ou seja, raramente.)

Trabalho com embarcados a vários anos, sou formado em engenharia da computação e hoje em dia microcontroladores "potentes" estão muito baratos. A tendência é ter um linux embarcado em um uC e programa-lo em C alto nível (claro, considerando device drivers e etc alto nível) por questões de praticidade, facilidade de trabalho em equipe no mesmo código, boa otimização dos compiladores e etc.

Quem sabe para trabalhar com DSPs assembly ainda seja uma boa saída, mas tirando este caso em espifico os compiladores dão show na maioria dos fabricantes e C é muito mais utilizado pela industria.

Abraços e de novo, parabéns pelo material/iniciativa.

Link para o comentário
Compartilhar em outros sites

Obrigado pelo elogio e por expressar sua opinião, aprado.

O material é voltado para amadores que gostam de montar seus pequenos projetos por distração, como eu, e que gostam de "escovar bits" como dizem. :D

Penso que para fins profissionais, a pessoa tem que acompanhar as tendências e exigências do mercado, ou seja, dançar conforme a música. :chicote:

Link para o comentário
Compartilhar em outros sites

Ressaltando que um programador que não domina a linguagem nativa de um microprocessador ou microcontrolador,estará a merce do compilador de alto nível e restrições que as lingaugens de alto nível oferecem.

Muito bem lembrado em relação ao DSP,que é projetado para alto desempenho que naturalmente só a linguagem ASM pode oferecer.

Ha um abismo entre um código programado em ASM por uma pessoa experiente,e por um garoto de 14 e um rapaz de 25 usando,por exemplo,o MikroC.

Ambos os códigos terão o mesmo' córe' genérico.

Sem desmerecer quem programa exclusivamente em linguagem de alto nível,pois cada um tem suas limitações,pode-se perceber que a maioria da dúvidas no programa em C,por exemplo,são facilmente resolvidas se estivesse em ASM pois muita gente confunde programar em C para microcontroladores e programar em C para o PC(que contém um sistema operacional).

tendência é ter um linux embarcado em um uC e programa-lo em C alto nível

Neste caso específico,a programação é direcionada a um sistema operacional que comandará o sistema,o que nem sempre é nescessario.

conhecer esta linguagem e usa-la quando necessário (ou seja, raramente.)

Não se tem total acesso ao HardWare sem a implemetação da linguagem nativa (ASM),exemplo é quando se vai zerar toda a área de memória ou quando se deseja,por exemplo,executar o programa principal através de memória externa que em linguagem C se torna quase impossível,começando pela instrução 'GOTO',que em C pode gerar indefinição(inclusive esta restrição e abordada pela maioria dos compiladores).

Enfim,se quisermos deixar de ser 'indios do terceiro mundo',precisamos ser menos 'acomodados' na hora de criar algo ou programar algo.

PS:Não estou dizendo que quem programa em uma só linguagem é 'indio'.

Link para o comentário
Compartilhar em outros sites

Projetos_afg, não conheço nenhum livro sobre este assunto, mas, não há muitas diferenças entre a família 16 e a 18.

Entre elas, poderia destacar que há mais instruções na família 18, o que facilita a programação e a memória de programa é incrementada de dois em dois.

Eu já programei para o PIC18F1220.

Para quem já programa para a família 16, creio que a leitura do datasheet de um microcontrolador da família 18 seja suficiente.

Link para o comentário
Compartilhar em outros sites

De uma pesquisada neste livro

DESBRAVANDO O MICROCONTROLADOR PIC 18 - PIC18F4520 RECURSOS AVANÇADOS.

Não sei se ha referencia sobre USB,mas existe um framework que é usado por muitos compiladores de alto nível feito em ASM.

É baseado no código de Brad Minch's ,é fácil achalo-lo na net.

Link para o comentário
Compartilhar em outros sites

Obrigado pelas respostas.

Realmente sobre a porta USB, já desisti de procurar material em ASM, só queria me aprofundar na programação em ASM para os PICs da série 18, conheço o set de instruções, mas um livro sempre aborda muito mais que somente as instruções, dá exemplos o que facilita muito no aprendizado.

vtrx,

Já tinha visto esse livro no google, mas não encontrei o link de download. Você sabe onde eu posso baixar o livro?

Link para o comentário
Compartilhar em outros sites

Realmente sobre a porta USB, já desisti de procurar material em ASM

Realmente,depois que lançaram vários compiladores C,começaram a restringir códigos mais complexos em ASM,para 'forçar' a compra de compiladores.

O framework citado,é o super rápido.

Pegue e estude,programado para o 18F2550 a 4 Mhz (Full ou Low Speed),o código enumera o dispositivo como HID,mas tenho exemplo,não meu,em modo CDC.

http://www.4shared.com/file/Tiw5lyJ4/ASM_USB_Framework.html

Link para o comentário
Compartilhar em outros sites

  • mês depois...
Visitante
Este tópico está impedido de receber 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...