Iniciante em PIC32

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Iniciante em PIC32

Mensagempor gui-jac » 18 Out 2010 09:06

Olá Pessoal.

Sou iniciante em Microntroladores, e preciso fazer uma pesquisa sobre PIC32 ( Características, Registradores, Acesso à Memória, Aplicações, etc..) , e um dos pontos da pesquisa é criar um programa simples em Assembly ( utilizando o MPLAB ), e explicar debugando a aplicação, o que as instruções estão fazendo.Bom, já consegui compilar alguns programas para o PIC32 no MPLAB. Compilo, mas não sei o significado de várias coisas, por exemplo: tenho o trecho de código abaixo:

Código: Selecionar todos

main:
   
addiu       $sp,$sp,-16
sw          $s8,8($sp)
addu        $s8,$sp,$zero
sw          $zero,0($s8)   
addu        $sp,$s8,$zero
lw          $s8,8($sp)
addiu       $sp,$sp,16
jr          $ra
nop

   
.end main



O que seria por exemplo o $sp? Qual registrador ele referencia? E o zero?
( Desculpem a ignorância ).Sei que o recomendável seria começar por um microcontrolador mais simples como PIC16, etc....mas é que minha pesquisa é sobre o PIC32.

Se alguém pudesse postar um código assembly para PIC32 que fizesse uma simples soma de dois números, comentando as operações e as referências à registradores já seria de grande ajuda.Dei uma olhada no Datasheet, mas fiquei um tanto perdido.

Obrigado.
gui-jac
 
Mensagens: 3
Registrado em: 17 Out 2010 21:03

Mensagempor ddspereira » 18 Out 2010 10:56

a linguagem assembly é um pouco complicada quando ao ponto de partida, na net vc encontra um livro em PDF, com dicas como iniciar o assembly porem para pic 16F84, agora a linguagem C é uma otima opção pois os software tras exemplos didiatico, e dependendo da aplicação é viavel.
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor rcakto » 18 Out 2010 11:43

gui-jac, olá companheiro, e seja bem vindo ao forum.. infelizmente ja lhe digo que está pelo caminho errado... voce vai precisar entender primeiro o assembly para depois entender o datasheet e finalmente modelos de codigos que voce queira analisar... PIC é muito facil de se programar, o problema é o assembly pois voce precisa de muitos comandos para uma simples função que muitas vezes em linguagens mais "avancadas" voce iria precisar 1 a 3 comandos... e digo "avancadas" pelo fato que quando compilada ela irá transformar em assembly para depois no hexa que é a linguagem mais procima do processador, caso voce não saiba...

e como voce disse... voce deverá comecar pelos modelos mais basicos como o PIC16
(parado por culpa da faculdade...)Osciloscopio opensource... entre e participe:
http://asm51.eng.br/phpBB/viewtopic.php?t=10710
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor gui-jac » 18 Out 2010 13:53

rcakto escreveu:gui-jac, olá companheiro, e seja bem vindo ao forum.. infelizmente ja lhe digo que está pelo caminho errado... voce vai precisar entender primeiro o assembly para depois entender o datasheet e finalmente modelos de codigos que voce queira analisar... PIC é muito facil de se programar, o problema é o assembly pois voce precisa de muitos comandos para uma simples função que muitas vezes em linguagens mais "avancadas" voce iria precisar 1 a 3 comandos... e digo "avancadas" pelo fato que quando compilada ela irá transformar em assembly para depois no hexa que é a linguagem mais procima do processador, caso voce não saiba...

e como voce disse... voce deverá comecar pelos modelos mais basicos como o PIC16



Obrigado rcakto. Então cara, como já programo em outras linguagens, apesar de difícil, eu até consigo entender um pouco do assembly, por exemplo, no PIC16 você tem:

Código: Selecionar todos
ADDWF f,d

que Adiciona W com o registrador ‘f’ ,

muito bem, no PIC16, você tem esse tal registrador 'f', porém, o assembly para PIC32 é diferente, eu gostaria de saber o nome de dois ou três registradores pelo menos para eu fazer uma simples soma.E o que acontece é que para minha pesquisa eu tenho de usar assemly e PIC32 entendem....não é porquê eu quero...rs....

Então, se alguém pudesse postar um programa básico, só para efetuar a soma de dois números em PIC32, comentando os nomes dos registradores, para mim já ajudaria muito, eu ´já conseguiria me virar a partir daí.

Beleza pessoal.Valeu aí.
gui-jac
 
Mensagens: 3
Registrado em: 17 Out 2010 21:03

Mensagempor Sergio38br » 18 Out 2010 14:01

VC ja baixou o pdf de algum pic32 para ter em mão as instruções??


http://ww1.microchip.com/downloads/en/D ... 20Sections).zip

[ ]'s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor gui-jac » 18 Out 2010 16:53

Sergio38br escreveu:VC ja baixou o pdf de algum pic32 para ter em mão as instruções??


http://ww1.microchip.com/downloads/en/D ... 20Sections).zip

[ ]'s
Sergio


Olá Sérgio.
Obrigado cara, esta documentação que você indicou ajudou bastante.Eu tinha o Datasheet e achava que ele já tinha tudo sobre o PIC ( e isto tinha me deixado preocupado....rs....).

Agora por exemplo, o capítulo 2 (MCU) já fala sobre os nomes dos registradores, agora sei por exemplo que t0, zero, t1 são nomes de registradores do PIC32.As duas linhas que criei abaixo já fazem a soma simples que eu tinha comentado.

addiu $t0,$zero,5

addiu $t1,$t0,10


Utilizando estes documentos que você me indicou junto com o que tenho aqui sobre assembly ( MIPS Assembly Language Programming
CS50 Discussion and Project Book ), as coisas agora começam fazer sentido.
Valeu mesmo!!!
gui-jac
 
Mensagens: 3
Registrado em: 17 Out 2010 21:03

Mensagempor Djalma Toledo Rodrigues » 18 Out 2010 17:06

Sugestão:

Eu Copio e Colo as Intruções do µC na IDE

Como ficam após End em nada atrapalham.

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor chrdcv » 18 Out 2010 21:42

PIC32 é um core MIPS32 M4K, para saber MUITOS detalhes acerca dessa arquitetura, vá direto "a fonte":
http://www.amazon.com/Computer-Architecture-Quantitative-Approach-4th/dp/0123704901

Qualquer biblioteca tem esse livro (ou uma das edições anteriores)...

christian
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor marcelo campos » 24 Out 2010 18:36

tem livro "Programming 32-bit Microcontrollers In C: Exploring The Pic32" na Litec www.litec.com.br muito bom sobre o pIC32 começa bem do básico:
http://asm51.eng.br/phpBB/viewtopic.php?t=9719
marcelo campos
Word
 
Mensagens: 648
Registrado em: 08 Ago 2009 08:37

Mensagempor marcelo campos » 24 Out 2010 18:37

tem livro "Programming 32-bit Microcontrollers In C: Exploring The Pic32" na Litec www.litec.com.br muito bom sobre o pIC32 começa bem do básico:
http://asm51.eng.br/phpBB/viewtopic.php?t=9719
marcelo campos
Word
 
Mensagens: 648
Registrado em: 08 Ago 2009 08:37


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x