collapse

* Links de Robótica

* Posts Recentes

Palavras Cruzadas por Hugu
[Hoje às 00:54]


[Projecto] Bomba Airsoft por jm_araujo
[Ontem às 16:54]


Apresentação por Tech_JA
[Ontem às 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]

Autor Tópico: AT 90S1200 começar  (Lida 5858 vezes)

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

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
AT 90S1200 começar
« em: 23 de Julho de 2010, 21:31 »
Boa tarde.

Tenho um AT90S1200 - 12PI que se pode encontrar nos antigos descoficadores piratas da TVcabo.

Queria saber se é possivel programa-lo, parto do presuposto que sim. Que software posso usar para programar em c, e que circuito devo fazer para o ligar ao pc.

Obrigado a todos.

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: AT 90S1200 começar
« Responder #1 em: 24 de Julho de 2010, 04:31 »
Passei a noite a pesquisar e espero que tenham uma solução melhor do que a achei.

Vou fazer a placa para ligar o AVR em série seguindo este site:
http://electronics-diy.com/avr_programmer.php
sacar o programa que lá está PonyProg2000.

De seguida arranjar um programa para programar em C e copilar para .hex
então encontrei o WINAVR mas só dá para programar no bloco de notas, como não gosto muito da ideia saquei o dev-c++.
Quando o programa tiver feito tenho que ir a linha de comando copilar e converter para .hex para poder meter no PonyProg e enviar para o AVR.

Estes processos estão certos? Não haverá nada mais simples?

E já agora o programa do arduino não dá para programar o AVR com o cabo feito no site acima pois não?

Obrigado.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.088
    • Tróniquices
Re: AT 90S1200 começar
« Responder #2 em: 24 de Julho de 2010, 07:32 »
O WinAVR trás um editor de código, o Programmer's Notepad (PN).

Para compilar metes os comandos numa makefile e depois configuras o PN para invocar a makefile, que também pode ter logo o comando para gravar o código no AVR.

Também vais querer sacar o AVR Studio (no site da atmel) porque permite simular código sem correr no chip.

O código para o Arduino não corre nesse AVR (esse AVR foi o 1º modelo de AVR que chegou ao mercado, é o "pai" deles todos).

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: AT 90S1200 começar
« Responder #3 em: 24 de Julho de 2010, 16:48 »
Não dá para programar no AVRstudio?

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: AT 90S1200 começar
« Responder #4 em: 24 de Julho de 2010, 21:42 »
Alguem me podia arranjar um toturial para programar em C?
C já eu sei, queria em C para AVR mas não consigo perceber como declarar as saidas e entradas.
Será que alguém me arranjava um simples exemplo de ligar e desligar um led, por exemplo?

Offline ngoncalves

  • Mini Robot
  • *
  • Mensagens: 145
    • Thinking Olive Tree
Re: AT 90S1200 começar
« Responder #5 em: 24 de Julho de 2010, 22:21 »
Aqui está o site do compilador de C Gnu-AVR: http://www.nongnu.org/avr-libc/. Lá podes encontrar alguns exemplos de como utilizar as bibliotecas.

A principal diferença, a meu ver, entre o C a que estarás habituado e para o AVR tem a ver com o acesso aos registos. Essencialmente a operação de um micro-processador de 8 bits é controlada através de registos, que podes entender como sendo posições de memória a que podes aceder utilizando nomes pré-definidos.

A título de exemplo, aqui vai um programa para acender um led:
Código: [Seleccione]

#include <util/delay.h>
#include <avr/io.h>     // este include contem as definicoes especificas do processador

int main(void)
{
   // primeiro, definir o pino a que esta ligado o led como sendo saida
   // neste exemplo estamos a utilizar o pino 0 da porta A
   // DDRx é o registo que define as direcoes de cada pino da porta x. Colocando
   // o bit correspondente a alto, o pino e' saida, colocando a zero, o pino e' entrada
   // _BV(x) e' uma macro que gera um byte em que apenas o bit nr x esta' a 1. Exemplo
   // _BV(2) = 00000010
   DDRA |= _BV(0) ;

   while(1)
   {
      // acende o led
      // PORTx e' o registo que contem o valor dos pinos da porta x.
      // como o pino 0 e' uma saida, colocando o bit a 1 poe '1' no pino
       PORTA |= _BV(0) ;

      // espera um bocado
       _delay_ms(100) ;   

       // coloca  o pino a zero
       PORTA &= ~(_BV(0)) ;

       // espera mais um pouco
       _delay_ms(100) ;
   }         
   return 0 ;
}
-----
Ambient intelligence, mobile robotics, life. 42
http://www.thinkingolivetree.blogspot.com/

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.726
Re: AT 90S1200 começar
« Responder #6 em: 24 de Julho de 2010, 22:22 »
Vais pensar que estou a ser mau ao dizer: lê o datasheet, no entanto depois de começares a ler vais ver que as datasheet estão muito bem explicadas incluindo exemplos de códigos. No entanto tens um tutorial muito bom http://lusorobotica.com/index.php?topic=1069.0 do Njay

Offline ngoncalves

  • Mini Robot
  • *
  • Mensagens: 145
    • Thinking Olive Tree
Re: AT 90S1200 começar
« Responder #7 em: 24 de Julho de 2010, 22:32 »
Eu não conhecia o tutorial do Njay, mas aqui fica uma outra fonte de informação: https://www.mainframe.cx/~ckuethe/avr-c-tutorial/

E faço minhas as palavras do metRo_, perde uma tarde a ler o datasheet. É chato e penoso, mas no final vais ficar a perceber muito melhor o micro-processador e estarás pronto para utilizar outros que te apareçam pela frente.
-----
Ambient intelligence, mobile robotics, life. 42
http://www.thinkingolivetree.blogspot.com/

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: AT 90S1200 começar
« Responder #8 em: 25 de Julho de 2010, 04:04 »
Obrigado ngoncalves.

Já tinha encontrado alguns comandos d high e low, mas como vi os do arduino pensei que houvesse librarias mais simplificadas.

Eu já tive aulas de C e antes disso já trabalhei com picaxe, que aquilo era só programar em basic, mas eram da escola.
Como sempre gostei destas pequenas brincadeiras e achei este AVR perdido por casa, quis-me aventurar.

obrigado

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.088
    • Tróniquices
Re: AT 90S1200 começar
« Responder #9 em: 25 de Julho de 2010, 11:15 »
"libraria" não existe; em Português, library = biblioteca

O AVRStudio dá para programar mas só em Assembly.

Offline ngoncalves

  • Mini Robot
  • *
  • Mensagens: 145
    • Thinking Olive Tree
Re: AT 90S1200 começar
« Responder #10 em: 25 de Julho de 2010, 11:41 »
O AVRStudio dá para programar mas só em Assembly.

Mas é possível instalar o WinAvr, que traz o compilador de C, e depois configurar o AvrStudio para utilizar o compilador de C.

Eu não grande fã  do AvrStudio, e faço tudo com Makefiles e um editor de texto. A única vantagem de um IDE é a possibilidade de fazer debug, mas debug é coisa de meninos  ;D 
-----
Ambient intelligence, mobile robotics, life. 42
http://www.thinkingolivetree.blogspot.com/

Offline Tyran

  • Mini Robot
  • *
  • Mensagens: 293
Re: AT 90S1200 começar
« Responder #11 em: 25 de Julho de 2010, 11:44 »
Espero que estejas a brincar no debug ser para meninos... mas se não estiveres eu sou mesmo um :)

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.726
Re: AT 90S1200 começar
« Responder #12 em: 25 de Julho de 2010, 11:55 »
"libraria" não existe; em Português, library = biblioteca

O AVRStudio dá para programar mas só em Assembly.

Se instalares inicialmente o WinAVR quando depois fores instalar o AVRStudio ele configura logo para poderes compilar C.

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: AT 90S1200 começar
« Responder #13 em: 25 de Julho de 2010, 15:39 »
"libraria" não existe; em Português, library = biblioteca

tens razão, eu é que tenho a mania de lhe chamar libraria :P


Já tinha instalado o WinAVR e depois o AVRstudio, neste momento estou a fazer o meu codigo em C no AVRstudio, onde o compilo e simulo, só não sei onde é que ele vai buscar os includes.

Offline ngoncalves

  • Mini Robot
  • *
  • Mensagens: 145
    • Thinking Olive Tree
Re: AT 90S1200 começar
« Responder #14 em: 25 de Julho de 2010, 16:03 »
Já tinha instalado o WinAVR e depois o AVRstudio, neste momento estou a fazer o meu codigo em C no AVRstudio, onde o compilo e simulo, só não sei onde é que ele vai buscar os includes.

Eu agora não estou no Windows, mas imagino que deve ser em "C:\WinAvr\include\avr" ou algo parecido
-----
Ambient intelligence, mobile robotics, life. 42
http://www.thinkingolivetree.blogspot.com/