# Συζήτηση Κυκλωμάτων > Ψηφιακά Κυκλώματα > Μικροελεγκτές >  >  Απλά προγράμματα σε assembly (AVR)

## ALAMAN

Καλησπέρα!
Ψάχνω απλά προγράμματα σε γλώσσα assembly για μικροελεγκτές AVR.
Είχα αγοράσει το βιβλίο "Προγραμματίζοντας τον μικροελεγκτή AVR" και είχε μέσα ένα CD με προγράμματα, αλλά το έχω χάσει... :Crying: 
Υπάρχει κανένα site με απλά προγράμματα, όπως πχ το πως γίνετε η αρχηκοποίηση σε έναν μικροελεγκτή (θύρες εισόδου-εξόδου), πώς δίνουμε μια τιμή σε μία θύρα εξόδου, πώς διαβάζουμε απο μία είσοδο κλπ...
Καμιά βοήθεια?

Ευχαριστώ!  :Biggrin:

----------


## Thanos10

Γιωργο και να το ειχες ολα τα προγραμματα ειναι demo με κανενα δεν μπορεις να κανεις κατι.

----------


## tasosmos

http://avr-asm.tripod.com/
http://www.avr-asm-tutorial.net/avr_...rce/index.html

----------


## ALAMAN

> Γιωργο και να το ειχες ολα τα προγραμματα ειναι demo με κανενα δεν μπορεις να κανεις κατι.



Για το CD που είχε το βιβλίο λες?





> http://avr-asm.tripod.com/
> http://www.avr-asm-tutorial.net/avr_...rce/index.html



Ευχαριστώ πολύ φαίνετε ενδιαφέρον!!!

----------


## Thanos10

Ναι για το CD του βιβλιου.

----------


## ALAMAN

Είχε μερικά χρήσιμα παραδείγματα για να μάθεις τις εντολές...

----------


## tasosmos

Τι εννοεις δλδ οτι δεν μπορεις να κανεις κατι?

Απ'οτι θυμαμαι μια χαρα τρεχουν και οκ φαινονται με μια ματια που εριξα τωρα.

Αν εννοεις οτι δεν ειναι καποια χρησιμη εφαρμογη τοτε οκ αλλα ουτως η αλλως η assembly δεν χρησιμοποιειται σχεδον καθολου για σοβαρες εφαρμογες, ειναι περισσοτερο για να δεις πως γινεται η δουλεια σε χαμηλοτερο επιπεδο πλεον.

btw attached ειναι τα προγραμματα του βιβλιου, τα ειχα τελικα στον σκληρο.

----------


## Thanos10

Δεν τρεχουν μια χαρα, τα παραδειγματα με τους κωδικες που δεινει για τις κατασκευες δεν μπορουν να δουλεψουν με τους complilers που εχει το CD γιατι ειναι demo.

----------


## tasosmos

Δεν θυμαμαι αν εχει καποιο αλλο προγραμμα στο cd αλλα υπαρχει παντα τo avrstudio, ειναι απολυτως δωρεαν απο την atmel κατευθειαν και μαλλον ο καλυτερος assembler για avr.

http://atmel.com/dyn/products/tools_...p?tool_id=2725 (χρειαζεται εγγραφη για το κατεβασμα)

----------


## Thanos10

Μολις το ειδα και εχει.

----------


## her

Το cd to έχω εγώ. Θέλετε να το ανεβάσω; Η καλύτερα στείλε μου, το mail σου για να μην διαγράφθη μετά από λίγο καιρό.

----------


## ALAMAN

> Αν εννοεις οτι δεν ειναι καποια χρησιμη εφαρμογη τοτε οκ αλλα ουτως η αλλως η assembly δεν χρησιμοποιειται σχεδον καθολου για σοβαρες εφαρμογες, ειναι περισσοτερο για να δεις πως γινεται η δουλεια σε χαμηλοτερο επιπεδο πλεον.



Εμένα η γλώσσα που μου αρέσει περισσότερο είναι η C, γιατί είναι και πολύ εύκολη. Αλλά θέλω να μάθω 2-3 απλά πράγματα με assembly για να μάθω περισσότερο τη λειτουργία του hardware.
Όπως πχ πώς δηλώνουμε μια μεταβλητή ή πως δουλεύει ο ADC κλπ...
Στη C το μονο που μπορώ να κάνω είναι να μετατρέψω τον μικροελεγκτή σε μια μηχανή καταστάσεων, να κάνει πρόσθεση, αφαίρεση, λογικές πράξεις, κωδικοποίηση κλπ. και επειδή θέλω να μάθω να δουλεύω όλες τις δυνατότητες του μικροελεγκτή, στη C μερικά πράγματα δεν τα πολυκαταλαβαίνω επειδή δεν καταλαβαίνω πως εκτελούντε απο το hardware και αποφάσισα να μάθω λίγο assembly.

----------


## positron

Αν θες να μαθεις για το hardware διαβασε το datasheet του μικροελεγκτη. Λεει τα παντα. 
Καλη ειναι η assembly για να μαθεις το hardware πιο "απο μεσα", αλλα πιστεψε με , η C σου λυνει τα χερια.

Θα συμφωνησω απολυτα με τον *tasosmos*  :Smile:

----------


## ALAMAN

> Αν θες να μαθεις για το hardware διαβασε το datasheet του μικροελεγκτη. Λεει τα παντα. 
> Καλη ειναι η assembly για να μαθεις το hardware πιο "απο μεσα", αλλα πιστεψε με , η C σου λυνει τα χερια.
> 
> Θα συμφωνησω πληρως με τον *tasosmos*



Ναί σωστά! το έχω δεί εξάλου και στην πράξη!  :Wink: 
Δυστηχώς όμως το μόνο πρόβλημα που έχω με τη C είναι το οτι δεν γνωρίζω τις συναρτήσεις που περιέχει η κάθε βιβλιοθήκη... και εκεί τα χάνω όλα !!! 
Οι βιβλιοθήκες της C για μικροελεγκτές είναι λίγο διαφορετικές απο αυτές που χρησιμοποιούμε για τα προγράμματα Η/Υ.

----------


## tasosmos

Δες την βοηθεια του compiler που χρησιμοποιεις, συνηθως γραφει τις βασικοτερες τουλαχιστον μαζι με μια συντομη περιγραφη.

----------


## positron

Αν θες την αποψη μου, να ασχοληθεις με C καλυτερα. Μια και καλη.

http://www.nongnu.org/avr-libc/user-manual/globals.html
http://www.cplusplus.com/doc/tutorial/

----------


## ALAMAN

Αν και αγγλικό το βλέπω πολύ καλογραμμένο...  :Rolleyes: 
Όταν βρώ λίγο χρόνο θα το εξετάσω σχολαστικά!
Για οποιαδήποτε άλλη απορία θα επανέρθω.  :Biggrin: 
Σας ευχαριστώ πολύ !!!

----------


## kontras

Παιδιά να κάνω μία ασχετη ερώτηση; είμαι φοιτητης ηλεκτρονικής και το άλλο εξάμηνο πρέπει να διαλέξω ανάμεσα σε ραδιοτηλεοπτικά ή σ μικροελεγκτες και δεν ξέρω τι να πάρω.!!!με ενδιαφέρει να μάθω για μικροελεγκτες και θέλω να ρωτήσω αν είναι σχετικά εύκολο. αν είναι να διαλέξω το άλλο μάθημα η όχι...

----------


## tasosmos

Αν τα πηγαινεις καλα με προγραμματισμο γενικα τοτε κατα πασα πιθανοτητα ευκολο θα σου φανει. 
Αν δεν σου αρεσει ομως ισως σου φαινεται και βαρετο αν κρινω απο μερικους γνωστους μου...

----------


## amra13579

Αν θες καλό compiler σου προτείνω αυτόν http://hpinfotech.ro/html/cvavr.htm είναι επί πληρωμή, αλλά σου έχει στο help του πολλές συναρτήσεις με παραδειγματάκια και εξήγηση επίσης έχει wizard που σου φτιάχνει τον επεξεργαστή στα μέτρα του προτζεκτ σου, ο οποίος γίνεται να τρέξει και μέσα από το atmel studio αν έχεις αγορασμένη την έκδοση και τέλος μπορείς να δεις και την assembly που δημιουργεί μετά το compile!!

----------


## bchris

> Αν θες καλό compiler σου προτείνω αυτόν http://hpinfotech.ro/html/cvavr.htm είναι επί πληρωμή, αλλά σου έχει στο help του πολλές συναρτήσεις με παραδειγματάκια και εξήγηση επίσης έχει wizard που σου φτιάχνει τον επεξεργαστή στα μέτρα του προτζεκτ σου, ο οποίος γίνεται να τρέξει και μέσα από το atmel studio αν έχεις αγορασμένη την έκδοση και τέλος μπορείς να δεις και την assembly που δημιουργεί μετά το compile!!



Καλλιο αργα, παρα ποτε ε?
 :Lol:

----------


## amra13579

> Καλλιο αργα, παρα ποτε ε?



δεν σε κατάλαβα!!  :Unsure:  αν μπορείς εξήγησε το! ευχαριστώ!!

----------


## bchris

Εννοω οτι απαντησες το *2013* σ' ενα θεμα με τελευταιo post  "*30th January 2010, 14:47*"

----------


## amra13579

ωχ, ούτε που το είχα προσέξει!! Αλλά όντως κάλλιο αργά παρά ποτέ!! :P

----------

