PDA

Επιστροφή στο Forum : AVR χρονιστής



GeorgeK
05-06-07, 02:30
Έχω φτιάξει έναν κώδικα και τον τρέχω σε mega 8535 . Έχω ορίσει στον timer1 μια τιμή
που όταν την φτάνει δημιουργεί ένα interupt και τρέχει κάποιος κώδικας . Το πρόβλημα μου
είναι πως υποτίθεται ότι ο timer θα έτρεχε με την συχνότητα που του έχω ορίσει με τον
κρύσταλλο . Βέβαια ακόμα και αν αφαιρέσω τον κρύσταλλο συνεχίζει να παίζει .
Μήπως κάτι δεν ΄εχω καταλάβει καλά?

billilis
05-06-07, 08:28
Όλα τα chip AVR με ενσωμματωμένο internal RC ταλαντωτή είναι από το εργοστάσιο με τον ταλαντωτή αυτόν ενεργοποιημένο. Άρα το chip σου έτρεχε με τη συχνότητα του εσωτερικού ταλαντωτή και όταν είχες τοποθετήσει εξωτερικό κρύσταλλο. Όταν τον αφαίρεσες συνέχισε να κάνει το ίδιο.

GeorgeK
05-06-07, 14:22
billilis ευχαριστώ πολύ .

Υπάρχει τρόπος να τον απενεργοποιήσω?
Είναι πολύ αργός και δεν προλαβαίνει να κάνει αυτά που πρέπει .

billilis
05-06-07, 18:07
Ναι υπάρχει. Αν χρησιμοποιείς το Studio μπες στα fuse bits του μC και επέλεξε external crystal η κατι παρόμοιο.
Οι εσωτερικοί ταλαντωτές όμως πάνε μέχρι 8Mhz. Ίσως η ταχύτητα σου φτάνει. Δεν ξέρω αν σε ικανοποιεί η ακρίβειά τους.

GeorgeK
05-06-07, 18:35
Αυτό που θέλω να κάνω είναι να ενεργοποιήσω κάποιον απο τους timer και να βάλω
να γίνεται interupt κάθε 200 κύκλους μηχανής και τοτε να εκτελείται κάτι . Θα πρέπει
όμως ο timer να τρέχει με τον κρύσταλλο που τρέχει και το υπόλοιπο σύστημα
(ακίδες XTAL1,XTAL2) . To εσωτερικό ρολόι δεν είναι τόσο ακριβές και θα έχω πρόβλημα .


ldi r16,0xC8 ;=200
out OCR1AL,r16 ;orismos tou compare value
ldi r16,0b00000000 ;arxikopoihsh tou counter
out TCCR1A,r16
ldi r16,0b00001001 ;arxikopoihsh tou counter
out TCCR1B,r16


ldi r16,0b00010000 ;orismos periodic interrupt apo compare match
out TIMSK,r16

Ο κώδικάς μου πως σας φαίνεται?

billilis θα κοιτάξω το εγχειρίδιό του για fuse bits . Ευχαριστώ και πάλι

th_shak
05-06-07, 19:05
Πρόγραμμα για τον υπολογισμό του Timer και του UART.

http://www.juke.co.za/utils/avrcalc.exe (freeware)