PDA

Επιστροφή στο Forum : Κύκλωμα με ΑVR



ALAMAN
10-06-06, 15:55
Πώς μπορώ να φτιάξω ένα κύκλωμα με 10 LED να αναβοσβίνουνε το ένα μετά το άλλο :?:
Το κύκλωμα θέλω να είναι με μικροελενκτή AVR για αρχάριους.

chip
14-06-06, 00:51
Για εργασια σε σχολη είνα η δεν υπαρχουν περιορισμοι στον τρόπο λειτουργίας?
Έχει καθόλου εμπιρία σε προγραμματισμό AVR?

ALAMAN
14-06-06, 15:05
Οχι δεν είναι εργασία αυτό το θέλω για μένα για να
μάθω να χρησιμοποιώ τους AVR.
Δεν έχω καθόλου εμπιρία οπότε ας είναι ότιδίποτε αρκεί να με βοηθήσετε
στους κώδικες και στον προγραμματισμό.

ok1gr
14-06-06, 15:21
Θα κατεβάσεις κάποιον compiler (Www.mikroe.com)
και θα δείς τα παραδείγματα....
είναι πολύ εύκολο ;)

ALAMAN
14-06-06, 16:26
Που ακριβώς πρέπει να ψάξω εκει μέσα λέει
όλο για PIC, εγώ θέλω AVR.

ok1gr
14-06-06, 16:31
http://www.mikroelektronika.co.yu/english/product/compilers/compilers.htm


mikrobasic/micropascal for AVR (στο τέλος της σελίδας)

gsmaster
14-06-06, 17:52
ALAMAN

Ο Γοοοούυγλης είναι φίλος σου..... (http://www.google.gr/search?hl=el&q=AVR+tutorial+stk500)

και συγκεκριμένα.... http://www.avrfreaks.net/index.php?module=dpDocs&func=index&cid=10 χρειάζεται να κάνεις εγγραφή και έχει ένα ωραίο οδηγό για το STK500. Στο ίδιο site μπορείς να βρείς ότι θες για AVR

chip
17-06-06, 17:10
Παιδειά! Ελεος μην τον τρελάνεται τον ALAMAN!
Διάβασα σε άλλο post οτι έχεις το STK. Άρα από εργαλεία είσαι OK!
Έχεις το AVR studio που έχει assembler και simulator και έχεις και πλακέτα προγραμματισμού. Δεν χρειάζεσε κάτι άλλο.
Ασε τους compiller και τις γλωσσες προγραματισμού υψηλού επιπέδου που σου λένε για αργότερα!
Τώρα το μόνο που χρειάζεται είναι μελέτη πειραματισμό και λίγο βοήθεια που θα την έχεις σίγουρα!
Πριν σου πω για το τρεχαντηράκι σου θα κοιτάξω να σου πώ για το ηλεκτρονικό ζάρι στο άλλο post που έκανες.
για να λύνοντε ένα ενα τα προβλήματα.

ALAMAN
17-06-06, 17:36
Μα σας είπα εγώ στο μόνο που δυσκολεύομαι είναι στην συνδεσμολογία πάνω στον
προγραμματιστή, στην τοποθέτηση του προγραμματιστή και στους κώδικες διοτι
όπως είπα και σε άλλο ποστ μέσα στους κώδικες αφήνη σειρές και καμιά φορά μεγάλα
κενά και δεν ξέρω πως να τους γράψω.

wlan
28-06-06, 02:33
Αρχικα πρεπει να εχεις το STK500 η STK300 η STK200 η καποιο αλλο αναλογο αναπτυξιακο (που μαλλον το εχεις)

Πειραματισου αρχικα με τα 8 LED που υπαρχουν στο αναπτυξιακο.

Αν σου δουλεψουν σωστα τοτε πειραματισου με 10 LED.

Στον BASIC compiler η assembler προσεξε τη διαχειριση τω καταχωρητων DDRx και PORTx

O Data Direction Register (DDRx) Καθοριζει αν ενα PORT ειναι εισοδος η εξοδος.

Το PORTx καθοριζει την κατασταση του PORT.

ALAMAN
23-07-06, 23:55
Τελικά προγραμμάτισα τον μικροελενκτή ATtiny2313 και τον ATmega8515
και έκανα τα led να αναβοσήνουν το ένα μετά το άλλο, με το πρόγραμμα microbasic το έκανα hex. και
στη συννέχεια το φόρτωσα με το AVR studio 4.0. η ερώτησή μου είναι η εξής:
Με το AVR studio 4.0 πώς μπορώ να κάνω hex την Assembly προσπάθησα αρκετές φορές αλλα τίποτα.

Τα led πώς μπορώ να τα κάνω να αναβοσβήνουν διαφορετικά με το πάτημα ενος μπουτόν. (σαν το χριστουγεννιάτικο δέντρο)

Στο πρόγραμμα microbasic όταν βάζω "delay_ms(1000)" δηλαδή ένα δευτερόλεπτο τα led αναβοσβήνουν καθε 8 δευτερόλεπτα. Γιατί το κάνει αυτό, δεν καταλαβαίνω

Γιατί οταν γράφω την εντολή ddrb=1 ανάβει μόνο το pin0 της θύρας b και τα άλλα αναβοσβήνουν παρα πολύ σιγά
ανογκαστικά γράφω:
ddrb.0=1
ddrb.1=1
ddrb.2=1
ddrb.3=1
ddrb.4=1
ddrb.5=1
ddrb.6=1
ddrb.7=1
θα προσπαθήσω αύριο ή μεθάυριο να ανεβάσω τον κώδικα να τον δείτε, όπως είπα είναι γραμμένος σε microbasic.

gsmaster
24-07-06, 01:15
Καλως ήρθες στον μαγικό κόσμο των μικροελεκτών.


...

Στο πρόγραμμα microbasic όταν βάζω "delay_ms(1000)" δηλαδή ένα δευτερόλεπτο τα led αναβοσβήνουν καθε 8 δευτερόλεπτα. Γιατί το κάνει αυτό, δεν καταλαβαίνω
....


Αυτο μου φαίνεται σαν να έχεις βάλει λάθος συχνότητα στον ταλαντωτή.

savnik
24-07-06, 11:17
Γιατί οταν γράφω την εντολή ddrb=1 ανάβει μόνο το pin0 της θύρας b και τα άλλα αναβοσβήνουν παρα πολύ σιγά
ανογκαστικά γράφω:
ddrb.0=1
ddrb.1=1
ddrb.2=1
ddrb.3=1
ddrb.4=1
ddrb.5=1
ddrb.6=1
ddrb.7=1
θα προσπαθήσω αύριο ή μεθάυριο να ανεβάσω τον κώδικα να τον δείτε, όπως είπα είναι γραμμένος σε microbasic.
Αν και δεν εχω ασχοληθεί καθόλου με AVR , μάλλον πρέπει να γραψεις ddrb=255 , δηλαδη ολα εξοδοι (αφου το εχεις βαλει σε δεκαδική μορφή)

frogman
24-07-06, 12:04
Τι διαφορά έχει το ddr από το port :?:

ALAMAN
24-07-06, 12:07
Αυτο μου φαίνεται σαν να έχεις βάλει λάθος συχνότητα στον ταλαντωτή.

Αν εννοείς τον κρύσταλο, στο πρόγραμμα μέσα έβαλα 8 MHz και στον μικροελεγκτή το ίδιο.

savnik
24-07-06, 12:08
O Data Direction Register (DDRx) Καθοριζει αν ενα PORT ειναι εισοδος η εξοδος.

Το PORTx καθοριζει την κατασταση του PORT.

ALAMAN
24-07-06, 15:30
Αλλα το παράξενο είναι οτι δουλεύει και χωρίς κρύσταλο.

ALAMAN
24-07-06, 15:35
Νά και οι κώδικες:
program led_blinking


main:
ddrb.0=1
ddrb.1=1
ddrb.2=1
ddrb.3=1
ddrb.4=1
ddrb.5=1
ddrb.6=1
ddrb.7=1
while true
portb.0=1
portb.1=0
portb.2=0
portb.3=0
portb.4=0
portb.5=0
portb.6=0
portb.7=0
delay_ms(40)
portb.0=0
portb.1=1
portb.2=0
portb.3=0
portb.4=0
portb.5=0
portb.6=0
portb.7=0
delay_ms(40)
portb.0=0
portb.1=0
portb.2=1
portb.3=0
portb.4=0
portb.5=0
portb.6=0
portb.7=0
delay_ms(40)
portb.0=0
portb.1=0
portb.2=0
portb.3=1
portb.4=0
portb.5=0
portb.6=0
portb.7=0
delay_ms(40)
portb.0=0
portb.1=0
portb.2=0
portb.3=0
portb.4=1
portb.5=0
portb.6=0
portb.7=0
delay_ms(40)
portb.0=0
portb.1=0
portb.2=0
portb.3=0
portb.4=0
portb.5=1
portb.6=0
portb.7=0
delay_ms(40)
portb.0=0
portb.1=0
portb.2=0
portb.3=0
portb.4=0
portb.5=0
portb.6=1
portb.7=0
delay_ms(40)
portb.0=0
portb.1=0
portb.2=0
portb.3=0
portb.4=0
portb.5=0
portb.6=0
portb.7=1
delay_ms(40)

wend
end.


Και όπως έλεγα αν το delay το βάλω 1000ms θα περιμένει περίπου 8 δευτερόλεπτα
Αν στο main βάλω μόνο ddrb=1 τοτε θα ανάβει μόνο το pin0 της θύρας portb

ΕΥΚΛΕΙΔΗΣ
26-07-06, 08:26
Μήπως το έχεις προγραμματίσει να δουλέυει με τον εσωτερικό ταλαντωτή?

ALAMAN
26-07-06, 11:21
Αυτό σκέφτηκα και εγώ μήπως το έκανα κατα λόθος.
Τώρα μου έτυχε κάτι άλλο. Οταν βάζω ddrb=255 όπως είπε ο φίλος μας ο savnik
δουλέυει για περίπου 1,3-1,5 δευτερόλεπτα πάντως το μέτρησα ένα δευτερόλεπτο δεν είναι
με τίποτε.

ALAMAN
26-07-06, 11:33
Τα led μπορούμε να τα κάνουμε να ανάβοσβήνουν πιο αργα και πιο γρήγορα
με την ρύθμυση ενός ποτενσιομέτρου ή να ελέγχουμε τα led με ένα ή περισότερα μπουτόν.

kwstakis
28-01-07, 20:47
φιλε chip εχω το avr studio 4 μπορεισ να μου εξηγησεις λιγο πως δουλευει???το assembler και simulator δεν το βρησκω καπου