Autor Tópico: Iniciando programação asm em PIC  (Lida 18079 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

trumpeu

  • Visitante
Re: Iniciando programação asm em PIC
« Resposta #15 Online: 27 de Junho de 2009, 15:03 »
Comece com o ASM, mas aconselho também começar com o C, pois assim vc vê as coisas boas de uma e de outra liguagem.
Uns dos meu projetos da facul, foi fazer um drive para motor de passo(para utilização em CNC) em ASM, depois aprendi a programar em C, ficou bem mais rápido, hoje ao dar cursos eu prefiro C pois os alunos chegam rapidamente nas aplicações avançadas.

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: Iniciando programação asm em PIC
« Resposta #16 Online: 27 de Junho de 2009, 15:55 »
Tverm

o minilathe lhe indicou o uso do ISIS (Proteus) o que eu também recomendo, por alguns motivos onde no meu caso um grande aproveitamento do tempo de estudo.
Eu fiz um esquema inicial e comecei a fazer o programa para o PIC, a cada simulação ou idéia nova eu ia já alterando o circuito e simulando novamente, e a cada nova idéia o ciclo se repetindo, aproveitando assim horas disponíveis nos mais diversos locais, como na hora do almoço na empresa, na faculdade quando não estava em aula, ou em dias em que tomava aquele chá de cadeira em visita a clientes ou fornecedores.
Talvez a maior vantagem seja para mim (como sou estudante e não tenho conhecimento acumulado) montagem virtual do circuito e simulação do software reduz em muito o investimento em componentnes, pois compramos o que precisamos com a certeza de funcionar bem, ou com pequenos ajustes, e não com dúvidas SE vai dar certo.
qqer coisa manda notícias.

abrax!

Offline Tverm

  • Hobby
  • ****
  • Posts: 452
  • Sexo: Masculino
  • Portugal
Re: Iniciando programação asm em PIC
« Resposta #17 Online: 27 de Junho de 2009, 16:21 »
Não conhecia o Proteus mas do que ja vi achei muito bacana.
Tem um poder de simulação como eu nunca tinha visto.

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Iniciando programação asm em PIC
« Resposta #18 Online: 27 de Junho de 2009, 20:43 »
Tverm,

Só pra exemplificar a capacidade do ISIS, segue um trabalho acadêmico que eu fiz usando o PIC16F628 se comunicando com um PC através da porta serial RS232, eu simulei e montei o circuito. Implementei um divisor de baud rate usando jumpers, e tanto a simulação quanto o circuito funcionaram coerentemente.

Seguem imagens e fotos do circuito...

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: Iniciando programação asm em PIC
« Resposta #19 Online: 27 de Junho de 2009, 21:25 »
minilathe

bixo .. tu que manja muito mais me responda ...

o que é modelagem de componentes eletrônicos?

Tem um curso de férias na faculdade que diz ser para modelar componentes ... fiquei interessado mas fiquei em dúvida se vale a pena.

abrax!

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Iniciando programação asm em PIC
« Resposta #20 Online: 27 de Junho de 2009, 22:12 »
Blackmore,

Quando voce roda um programa simulador são usados modelos, ou melhor, representações aproximadas dos componentes, sistemas e sub-sistemas do mundo real.

Por exemplo, um resistor em altas frequências (centenas de MHz) apresenta capacitâncias e indutâncias, que geram reatâncias consideráveis nessas frequências, mas que são deprezíveis em aplicações em CC.

Um transistor de junção (NPN, PNP) também é representado por modelos, e existem vários tipos de modelos para transistores: modelo H, modelo S, modelo Ebers-Moll, .... Alguns desses modelos são para circuitos lineares, outros são mais apropriados para frequências elevadas, outros são para grandes sinais, pequenos sinais, ...

Um transformador, por exemplo, apresenta vários efeitos, que podem ser mais significativos em determinadas situações reais, como a saturação do núcleo, indutância de dispersão, resistências dos enrolamentos, capacitância entre espiras, resistência de fuga, capacitância entre primário e secundário, indutância de magnetização, resistência térmica, ... Esses comportamentos também podem ser modelados, de acordo com a as características da aplicação do circuito que usará o modêlo (uso em alta frequência, correntes elevadas, temperaturas elevadas, baixas frequências, componente DC presente, ...).

De fato, não existe um modêlo completo de um componente que sirva para qualquer situação que se apresente na prática. Daí, usarmos vários tipos de modelo, cada um mais adequado a uma aplicação. Inclusive, onde muita gente se engana, a escolha do modelo inapropriado pode levar a respostas erradas do circuito modelado.

Adicionalmente, a modelagem muitas vezes é incompleta, e não leva em conta o que ocorre numa montagem real, como o ruído, influência da temperatura, reflexões de sinais, descasamento de impedâncias, componentes alterados, especificações diferentes dos usados no modelo, capacitâncias e indutâncias parasitas de conexões e cabos, ....
 
Desse modo, no final da história, nada supera a montagem de um protótipo, que será prova do funcionamento do circuito com componentes reais, numa montagem real e não com meros modelos.

Modelar componentes, sistemas e sub-sistemas é quase uma arte, envolvendo o conhecimento detalhado do componente que será objeto da simulação. Pode-se usar programas, scripts, modelos físicos provenientes da literatura ou aproximações através da associação de componentes ideais para gerar modelos aproximados, mas adequados a uma certo cenário de aplicação.

Apesar do exposto, seria bom dar uma olhada no programa do curso, pra entender o que os organizadores tem em mente.

Offline Tverm

  • Hobby
  • ****
  • Posts: 452
  • Sexo: Masculino
  • Portugal
Re: Iniciando programação asm em PIC
« Resposta #21 Online: 28 de Junho de 2009, 08:16 »
Bem legal.
Pelo que eu percebi é só desenhar o circuito no ISIS gerar o código no MPLAB ou noutro suporte e depois de compilar usar o .HEX no ISIS.
É nunca tinha visto um soft que fizesse esta gestão toda esquemático simulação e uso do programa dos micros.
Os programas que tenho usado (Orcad,Eagel) tem algumas destas funcionalidades mas é preciso fazer uma ginástica enorme para os usar.
« Última modificação: 28 de Junho de 2009, 08:17 por Tverm »

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: Iniciando programação asm em PIC
« Resposta #22 Online: 28 de Junho de 2009, 14:45 »
bom ... o programa é para modelamento apenas de resistores, diodos, capacitores, transistores e amplificadores operacionais.
Não tenho pretenção de ser o mestre, mas apenas de conhecer sobre o assunto, até mesmo pq o valor do curso é muito atraente e me adiciona horas de atividades complementares.   ;D
Um outro em que tenho interesse é o de soldagem SMD, um colega do trabalho me disse que o conteúdo é interessante e pelo curso mais uma vez é muito atraente.  :D
te passei por MP o link dos cursos de férias, não sei se posso fazer propaganda por aqui qqer coisa com autorização dos admin fazemos isso!  :)

abrax! e obrigado pelos esclarecimentos.

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Iniciando programação asm em PIC
« Resposta #23 Online: 28 de Junho de 2009, 15:22 »
Blackmore,

Acho que o curso valerá a pena..., ajudará na modelagem mais realista de seus projetos.

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: Iniciando programação asm em PIC
« Resposta #24 Online: 28 de Junho de 2009, 15:37 »
Viu a MP?

é como falei ... será para agregar algum conhecimento :)

abrax!

Offline André Lima

  • Hobby
  • ****
  • Posts: 513
  • Sexo: Masculino
Re: Iniciando programação asm em PIC
« Resposta #25 Online: 28 de Junho de 2009, 18:22 »
Boa Noite meus amigos....

Eu tb andei fazendo uns programinhas da faculdade em ASM, mas é claro percebi que o C é muito mais compreensivel e rapido....

Eu tb pesquisei sobre o Arduino.... Há um tópico que eu postei, que diz tudo sobre ele. Vcs viram ??? Vale a pena dar uma olhada...

Grande abraço

André Lima

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Iniciando programação asm em PIC
« Resposta #26 Online: 29 de Junho de 2009, 10:23 »

Acredito que programar em C é mais fácil e tem as suas vantagens, mas também não é uma panacéia!!!

Para quem está começando, e quer aprender, é importante conhecer a arquitetura do microcontrolador (registradores, blocos de memória, contadores, acesso às memórias EEPROM e Flash, conversor A/D e D/A, portas SPI e USART, ...), nada melhor que o assembler e trabalhar "direto" com o microcontrolador e acessar as suas estruturas internas.

Além disso, dependendo do tamanho da memória do microcontrolador, programar em C fica complicado devido ao tamanho dos códigos executáveis gerados. Há microcontroladores com 1K ou 2K de memória de programa, usar C seria um desperdício de precioso espaço de memória. Mas isso, certamente, depende da qualidade do compilador e de quão otimizado é, quais as parametrizações que foram feitas para esta otimização. O que requer mais experiência...

Um microcontrolador, por definição, é um processador pequeno adequado para aplicações dedicadas. As linguagens mais leves e rápidas são as melhores. Se houvesse uma linguagem tipo C, Java, Python, ... rodando direto no "microcontrolador", acho que ele não seria "micro" e não haveria o asm.

Um programa em assembler sempre é mais eficiente e menor. Pode-se eté iniciar um projeto em C e depois trabalhar no código asm gerado. Mas isso também requer experiência.

Eu pessoalmente procuro usar asm sempre que possível, só uso C se o código é complexo (ex.: interface Ethernet, protocolo TCP/IP, interfaces com cartões SD usando FAT16 ou FAT32, ...). Usar asm também ajuda a não esquecer a arquitetura do microcontolador que vc está usando.

Offline Paulo_cwb

  • Novato
  • *
  • Posts: 29
Re: Iniciando programação asm em PIC
« Resposta #27 Online: 09 de Julho de 2009, 11:22 »
Daniel,
Se ainda não conhece, um bom lugar pra começar é este link.
http://www.mikroe.com/pt/

La tem um livro pra baixar com muitas dicas.
´
Esses compiladores da Mikroeletronika, não gosto. nunca vi um programa tão bugado.
Mas, é minha opinião. Respeito quem usa. Eu tentei, mas não consegui.
Prefiro o "C" da CCS (www.ccsinfo.com) e o PICBASIC, da Crownhill (www.picbasic.org). Esses são testados e aprovados, não são caros e tem vários exemplos e fóruns na net.

Paulo

Offline Paulo_cwb

  • Novato
  • *
  • Posts: 29
Re: Iniciando programação asm em PIC
« Resposta #28 Online: 09 de Julho de 2009, 11:27 »
O Assembly é útil para algumas rotinas que requerem agilidade e/ou para ocupar pouco espaço na memória.
Então, se você vai fazer um produto que vende 10000 pçs por mês, melhor fazer em assembly, pois pode economizar meméria e alguns centavos usando um microcontrolador menor. (Centavos X 10k = bastante $$$).
Mas, para tirar proveito disso, tem que saber bem o assembly, que não é fácil.
Ou seja, em 99% dos casos, é melhor concentrar esforços para aprender BEM um compilador C ou BASIC.


Fóruns interessantes:
www.asm51.eng.br
www.sonsivri.com/forum (bem completo, em inglês).

Paulo

Offline Paulo_cwb

  • Novato
  • *
  • Posts: 29
Re: Iniciando programação asm em PIC
« Resposta #29 Online: 09 de Julho de 2009, 11:35 »
Bem legal.
Pelo que eu percebi é só desenhar o circuito no ISIS gerar o código no MPLAB ou noutro suporte e depois de compilar usar o .HEX no ISIS.
É nunca tinha visto um soft que fizesse esta gestão toda esquemático simulação e uso do programa dos micros.
Os programas que tenho usado (Orcad,Eagel) tem algumas destas funcionalidades mas é preciso fazer uma ginástica enorme para os usar.

O ISIS é ótimo para simular o funcionamento do PIC. VoCÊ programa em C ou BASIC (compilador), vai no ISIS e aponta pro .HEX e ele simula. Na maioria dos casos, funciona com ótima fidelidade. Só tive problemas com display de 7 segmentos, onda a "varredura" dos displays torna o ISIS lento. Fora isso, até serial RS232 já simulei, e foi bem.


 

/** * */