Pagina 1 di 2

LINGUAGGIO ASSEMBLY PER MICROCONTROLLORI

Inviato: gio 11 ago 2005, 15:45
da gastone90
ciao; ho un piccolo robot, cotruito un paio di anni fa, me ne pento ancora dato che gli stessi pezzi pagati una follia si potevano comprare con tipo 40 euro :cry: . comunque, ora che ce l'ho vorrei farci qualcosa; ho fatto gia un centinaio di programmi, è un bel robottino, si possono fare tante cose ; l'unica pecca è che per progammarlo si usa il basic :evil: :evil: ; due anni fa non mi cambiava niente, dato che usavo windows e che conoscevo solo il basic stamp (una derivazione del basic usata per questo robot); la parallax ( http://www.parallax.com ), che è la ditta che ha fatto i circuiti, ha anche fatto un prog per linux, ma la cosa che mi interessa è di poterlo programmare non in basic; la prima alternativa sarebbe l'assembled, che però, da quanto mi dice mio cugino, è abbastanza difficile per la mia età :? . però dato che questa è l'unica soluzione, vorrei provarla. vorrei sapere se qualcuno a già usato l'assemebled e se è veramente difficile, e se conoscete prog (e howto) per scrivere in assembled; è che mi scoccia non usare questo robot solo per il linguaggio :evil:

P.S. su gogle non ho trovato granchè

Inviato: gio 11 ago 2005, 16:30
da sir_alex
Bè, da quel (poco) che so io di assembly (fatto quest'anno a info2!!!), per cercare una guida bisogna che tu veda che microprocessore ha su il tuo robot, ad esempio noi quest'anno abbiamo fatto assembly per m68k, l'arm ha il suo, l'intel ha il suo etc etc etc; scoperto il tuo processore penso tu trovi qualche tutorial su internet, e quantomeno sul sito della tua casa produttrice del micro dovrebbe esserci una qualche guida sul loro assembly (l'intel ha una sezione development, così come la Motorola e penso anche le altre varie case)... Spero di non aver detto cavolate... :lol:

Inviato: gio 11 ago 2005, 16:38
da gastone90
sir_alex ha scritto:Spero di non aver detto cavolate... :lol:
Si sapevo che dovevo conoscere tutto l'hardware, adesso andrò a cercare qualche prog e howto specifico. grazie :D :D

P.S. Ma è difficile? :?

Inviato: gio 11 ago 2005, 16:40
da Vlk
Complimenti per il robot. Beh, credo che tu ti riferisca al linguaggio assembly (edit: hai ragione, si chiama anche assembler). Il problema è che è un linguaggio molto difficile, ma efficientissimo per la programmazione di microcontrollori. Purtroppo non lo conosco, ma ti posso dire che è un linguaggio che, al di là delle sua difficoltà, è difficile perchè devi sapere benissimo il tipo di pic che vai a programmare dal punto di vista hardware. Vorrei fare di più, ma la mia ignoranza mi consente solo di inviarti dei link
http://itassembly.cjb.net/
http://webster.cs.ucr.edu/AoA/DOS/
http://www.programmazione.it/front/inde ... egory=1036
Un altro consiglio: l'open spurce c'è anche in questo campo. Molti programmano pic e rendono disponibile il codice senza problemi. Ho trovato questo sito he può aiutarti: http://www.programmersheaven.com/zone5/index.htm
Ti consiglio di spulciare anche la parte sui mitici proci Z80. Se però l'assembly ti scoraggia, ti comunico che molti pic vengono programmati anche in C e addirittura ho letto in C++.

p.s. una curiosità: hai delle conoscenze particolari che ti hanno permesso di costruirlo (cioè hai studiato elettronica, ingegnere etc etc) oppure l'hai fatto montandolo da autodidatta?

Inviato: gio 11 ago 2005, 16:45
da sir_alex
Bè, la difficoltà dipende dal processore che usi, oltre al fatto che devi scrivere direttamente in memoria quindi devi avere una buona idea della struttura del processore! Io ho fatto m68k e per i programmi semplici che abbiamo fatto non era poi così difficile, ma l'm68k (che è un Motorola, per la cronaca) è un processore relativamente semplice, e comunque noi usavamo una piccola parte delle sue potenzialità (ad esempio non abbiamo trattato gli interrupt hardware)! Tu prova comunque a dare un'occhiata, male non fa, no? :wink:

Inviato: gio 11 ago 2005, 16:54
da gastone90
Per Vlk
Ho 15 anni, quindi non ho studiato ingegneria ;-) l'ho costruito seguendo un manuale fatto molto bene e semplice per quel tempo dato che avevo 12 anni.

Per sir_alex
sir_alex ha scritto: male non fa, no? :wink:
Visto che siamo in argomento non è che facendo qualche boiata rischio di rovinare l'hardware? perchè ho vari chip da gestire, implementazioni di output/input, convertitori analogico/digitale, ecc.. in poche parole non vorrei bruciare tutto :wink:

Inviato: gio 11 ago 2005, 17:03
da Vlk
Beato te che sei giovane :cry:
Io a 21 anni suoni non ho fatto nè Itis e nè sono riuscito a fare qualche esame a ing.elettronica, per cui dovrò imparare tutto da solo. MIi raccomando, sei ancora un giovincello, non fare la stessa fine mia :D

Inviato: gio 11 ago 2005, 17:10
da Paoletta
ti potrebbe anche servire
"the art of assembly language"

se però devi ancora imparare a programmare, ti consiglio il C

ciao!

Inviato: gio 11 ago 2005, 17:14
da gastone90
il c++ lo sto imparando, dov'è che si trova "the art of assembly language"?

Inviato: gio 11 ago 2005, 19:37
da marco79
L'assembler nn è molto gradevole soprattutto se nn hai mai programmato.Poi ti consiglio di cercare in rete il tutorial picbyexample basato sui pi c della microcip.E fatto molto bene.Guarda anche http://www.microchipc.com/ che ti permette di programmare gli stessi pic in c.Buon divertimento!

Inviato: gio 11 ago 2005, 20:17
da Paoletta
http://webster.cs.ucr.edu/AoA/index.html

comunque ti converrebbe prima imparare il C...ti consiglio

http://www.libreriauniversitaria.it/BIT ... azione.htm

perchè è molto chiaro e ti farà capire molto bene cosa vuol dire programmare
ciao!

Inviato: ven 12 ago 2005, 11:38
da sir_alex
gastone90 ha scritto: Visto che siamo in argomento non è che facendo qualche boiata rischio di rovinare l'hardware? perchè ho vari chip da gestire, implementazioni di output/input, convertitori analogico/digitale, ecc.. in poche parole non vorrei bruciare tutto :wink:
Non credo tu possa bruciare qualcosa, certo io l'm68k lo facevo girare su un simulatore :D però se inizi con qualcosa di semplice e via via complichi non dovrebbero esserci grandi problemi; se poi è un micro conosciuto magari ci sono simulatori in giro!

Inviato: ven 12 ago 2005, 14:17
da Sari
i simulatori ci sono, ma la difficoltà dell'assembler è notevole. Io l'ho imparato per... non me ricordo, era un microcontrollore samsung (gia dimenticato ovviamente :p). Ho programmato una specie di termostato con gli imput analogici e tutto il resto, un casino, un lavoro di 2 mesi. Credo che se vorrai programmare egregiamente il tuo robot dovrai spendere molto tempo. Dovrai studiarti bene ogni aseptto elettronico, a partire dal funzionamento basilare dei microprocessori, come funzionano e come elaborano, poi potresti cominciare con il glorioso z80 (simulatori in giro si trovano) e poi passare a leggerti i datasheet del procio che monta il robottino confrontando il set di istruzioni con quello dello z80 e facendo le dovute considerazioni. L'aspetto complesso è che programmare in assembler i microcontrollori (non microprocessori) è roba da elettronici o ingegneri, bisogna avere una conoscenza chiara di tutti i componenti, dal controllore ai sensori agli output vari.

Inviato: ven 12 ago 2005, 14:22
da gastone90
be grazie per i chiarimenti vedrò cosa riuscirò a fare. :D

Inviato: sab 13 ago 2005, 11:59
da People
Ciao, ho programmato assembler, su diverse piattaforme, ho sempre fatto riferimeto alle gude dei produttori dei chip nei rispettivi siti.
Voglio metterti in guardia sul fatto che per programmare in assembler devi conoscere non solo il chip che stati programmando, ma anche tutto l'hardware con cui questo ha a che fare. Se commetti qualche errore puoi, purtroppo, brucare tutto, sia il microcontrollore (qui dipende dalla bontà dell'hw) sia le periferiche, soprattutto se vai a gestire periferiche di potenza.
Ciao.
P.