Title: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Kodi on March 04, 2015, 18:41:27 pm τόπικ για απορίες σε ασκήσεις μόνο
για παλια θεματα υπάρχει αντιστοιχο τόπικ Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: themis93 on May 12, 2015, 03:21:05 am Έχω μια απορία στην δεύτερη άσκηση:
Στην αρχή γράφει: ,cseg .org 0 jmp reset jmp EXT_INT0 .org $004 reset: .... Τι σημαίνουν αυτά τα jmp μετά το .org 0? το πρόγραμμα όταν ξεκινησει να τρέχει, θα ξεκινήσει από που? και μετά μέσα στην συνάρτηση δεν μπορώ να καταλάβω πότε θα κληθούν οι EXT_INT0 και EXT_INT1. Αν μπορεί κάποιος, ας με βοηθήσει Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Grecs on May 12, 2015, 05:42:12 am O κωδικας ειναι λαθος
κανονικα ειναι ετσι. ,cseg .org 0 jmp reset .org $002 jmp EXT_INT0 reset: Οταν θα γινει το interrupt σε καποιο pin τοτε αυτοματα ο program counter δειχνει σε συγκεκριμενη διευθυνση συμφωνα με τον πινακα ATmega128 Interrupt vectors. Στην συγκεκριμενη περιπτωση επειδη εχεις ιντεραπτ μεσω του πιν ΙΝΤ0 συμφωνα με τον πινακα οταν γινει το ιντεραπτ αυτοματως ο program counter θα δειξει στην θεση $002 οπου εσυ θα χεις προνοησει να χεις εκει ενα jump στην υπορουτινα διακοπης (ΕΧΤ_ΙΝΤ0). Βασικα αυτο ειναι ολη η ουσια των μικρο2 και δεν το εξηγει πουθενα καλα. Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Silvo the Beautiful on May 12, 2015, 11:13:49 am όχι δεν παίζει ρόλο γκρεκς! Ο λόγος είναι ότι μετά το reset έρχεται το external interrupt 0! Οπότε επειδή είναι στη σειρά δνε χρειάζεται να ορίσεις Org. Θα καταλάβει ότι είναι η επόμενη διεύθυνση για το EXT_INT0
Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: xameno kormi on May 12, 2015, 12:30:48 pm διαβαζουμε απο τις διαφανειες του πετρου ετσι για αρχη γ να πιασουμε καποιες βασικες εννοιες για τις ασκησεις ? η απο βιβλιο ?
Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Grecs on May 12, 2015, 14:30:36 pm όχι δεν παίζει ρόλο γκρεκς! Ο λόγος είναι ότι μετά το reset έρχεται το external interrupt 0! Οπότε επειδή είναι στη σειρά δνε χρειάζεται να ορίσεις Org. Θα καταλάβει ότι είναι η επόμενη διεύθυνση για το EXT_INT0 φυλαγε τα ρουχα σου να χεις τα μισα. Καλυτερα να βαζεις org καθε φορα να σαι σιγουρος οτι η αμεσως επομενη σειρα ειναι η διευθυνση του org. Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Tracy_McGrady on June 26, 2015, 16:45:02 pm Μπορεί να εξηγήσει κάποιος γιατί κάνουμε reset τον prescaler?Στην 31 διαφάνεια όταν ξαναξεκινάει τον timer κάνει και reset τον prescaler?
Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Exomag on June 26, 2015, 16:48:17 pm Μπορεί να εξηγήσει κάποιος γιατί κάνουμε reset τον prescaler?Στην 31 διαφάνεια όταν ξαναξεκινάει τον timer κάνει και reset τον prescaler? Διαφάνεια 31 από που; Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Tracy_McGrady on June 26, 2015, 16:54:47 pm Μπορεί να εξηγήσει κάποιος γιατί κάνουμε reset τον prescaler?Στην 31 διαφάνεια όταν ξαναξεκινάει τον timer κάνει και reset τον prescaler? Διαφάνεια 31 από που; Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Exomag on June 26, 2015, 17:03:00 pm Μπορεί να εξηγήσει κάποιος γιατί κάνουμε reset τον prescaler?Στην 31 διαφάνεια όταν ξαναξεκινάει τον timer κάνει και reset τον prescaler? Διαφάνεια 31 από που; Εγώ έχω το tmer1612.4.ppt, και στη σελίδα 31 δεν βλέπω κάτι για reset του prescaler. Μήπως έχεις παλιότερα έκδοση των διαφανειών; Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Tracy_McGrady on June 26, 2015, 17:09:25 pm Μπορεί να εξηγήσει κάποιος γιατί κάνουμε reset τον prescaler?Στην 31 διαφάνεια όταν ξαναξεκινάει τον timer κάνει και reset τον prescaler? Διαφάνεια 31 από που; Εγώ έχω το tmer1612.4.ppt, και στη σελίδα 31 δεν βλέπω κάτι για reset του prescaler. Μήπως έχεις παλιότερα έκδοση των διαφανειών; Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: xameno kormi on June 27, 2015, 18:56:51 pm ποτε γινεται interrupt στον ADC ? π.χ στο θεμα 2 απο αυτα π εχουν ανεβει ιουνιου '08
Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: kofski17 on June 27, 2015, 22:53:40 pm θέμα 2 ιούνιος 2014 - αναλογικός συγκριτής. Δεδομένου ότι ο συγκριτής συγκρίνει το ΑΙΝ1 με το ΑΙΝ0 και παράγει 0 ή 1 στο ACO ανάλογα με το αν ο AIN0 είναι πάνω ή κάτω από το AIN1, και τα σήματα που χώνονται στα AIN μπαίνουν απτα pins 2 και 3 του PORTE, πώς μπορώ να συγκρίνω το Α4 ( που θα το βάλω στο ΑΙΝ0 υποθέτω) με 4 σήματα ταυτόχρονα?? Αφού η άλλη είσοδος του συγκριτή ρυθμίζεται απτο PE3 και εκεί μπορώ να έχω μόνο ενα σημα
Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Δον on June 28, 2015, 09:54:49 am θέμα 2 ιούνιος 2014 - αναλογικός συγκριτής. Δεδομένου ότι ο συγκριτής συγκρίνει το ΑΙΝ1 με το ΑΙΝ0 και παράγει 0 ή 1 στο ACO ανάλογα με το αν ο AIN0 είναι πάνω ή κάτω από το AIN1, και τα σήματα που χώνονται στα AIN μπαίνουν απτα pins 2 και 3 του PORTE, πώς μπορώ να συγκρίνω το Α4 ( που θα το βάλω στο ΑΙΝ0 υποθέτω) με 4 σήματα ταυτόχρονα?? Αφού η άλλη είσοδος του συγκριτή ρυθμίζεται απτο PE3 και εκεί μπορώ να έχω μόνο ενα σημα "Συνδέεις" το Α4 στην θετική είσοδο του συγκριτή και θέτεις τη χρήση του multiplexer (αν θυμάμαι καλά ενεργοποιείς το ACME bit του SFIOR), έτσι ώστε η αρνητική είσοδος να παίρνει εισόδους από τα κανάλια του ADC. "Συνδέεις" έτσι λοιπόν τα Α3-Α0 σε 4 κανάλια του ADC και μετά μέσα σε σοφτγουερ μπορείς να μετατρέπεις ψευτοπαράλληλα τα σήματα. Δηλαδή μέσα σε μια λούπα θα επιλέγεις ποιο κανάλι θέλεις μέσω του ADMUX. Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: christineL on June 28, 2015, 17:48:31 pm Θα ήθελα να κάνω 2 ερωτήσεις¨:
1) Όταν χρησιμοποιούμε PWM δεν χρειάζεται να ορίσουμε κάτι στον TIMSK, σωστά; 2)Όταν χρησιμοποιούμε PWM, με TOP την τιμή του OCR, για να ορίσουμε το duty cycle δεν πρέπει να θέσουμε κατάλληλη τιμή στον ICR? Και αν ναι, εκτός από το να την ορίσουμε, χρειάζεται κάποια άλλη ενέργεια; Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: kofski17 on June 28, 2015, 18:48:59 pm Θα ήθελα να κάνω 2 ερωτήσεις¨: 1) ναι δεν πιστεύω ότι χρειάζεται1) Όταν χρησιμοποιούμε PWM δεν χρειάζεται να ορίσουμε κάτι στον TIMSK, σωστά; 2)Όταν χρησιμοποιούμε PWM, με TOP την τιμή του OCR, για να ορίσουμε το duty cycle δεν πρέπει να θέσουμε κατάλληλη τιμή στον ICR? Και αν ναι, εκτός από το να την ορίσουμε, χρειάζεται κάποια άλλη ενέργεια; 2) εγώ προσωπικά όταν δε με βολεύει να χρησιμοποιήσω το 8,9 ή 10bit mode του PWM και ρυθμίζω το TOP μέσω του OCR1A όπως λες (oυσιαστικά το mode 15), τότε για να αλλάζω το duty cycle χρησιμοποιώ τον OCR1B (ουσιαστικά όταν αρχικοποιείς τον TCCR1A βάζεις στα bit COM1B1:0 = 10 ή 11 ανάλογα αν θες non inverting ή inverting), και μέσω της ISR του ΤΙΜER1_COMPB ( στη θέση $001Α) αλλάζω την τιμή του OCR1B για να αλλάξει το duty cycle. Δεν χρησιμοποιώ δηλαδή τον ICR. Ουσιαστικά δηλαδή το ΤΟP ρυθμίζεται απτον OCR1A και το COMPARE από το OCR1B θέμα 2 ιούνιος 2014 - αναλογικός συγκριτής. Δεδομένου ότι ο συγκριτής συγκρίνει το ΑΙΝ1 με το ΑΙΝ0 και παράγει 0 ή 1 στο ACO ανάλογα με το αν ο AIN0 είναι πάνω ή κάτω από το AIN1, και τα σήματα που χώνονται στα AIN μπαίνουν απτα pins 2 και 3 του PORTE, πώς μπορώ να συγκρίνω το Α4 ( που θα το βάλω στο ΑΙΝ0 υποθέτω) με 4 σήματα ταυτόχρονα?? Αφού η άλλη είσοδος του συγκριτή ρυθμίζεται απτο PE3 και εκεί μπορώ να έχω μόνο ενα σημα "Συνδέεις" το Α4 στην θετική είσοδο του συγκριτή και θέτεις τη χρήση του multiplexer (αν θυμάμαι καλά ενεργοποιείς το ACME bit του SFIOR), έτσι ώστε η αρνητική είσοδος να παίρνει εισόδους από τα κανάλια του ADC. "Συνδέεις" έτσι λοιπόν τα Α3-Α0 σε 4 κανάλια του ADC και μετά μέσα σε σοφτγουερ μπορείς να μετατρέπεις ψευτοπαράλληλα τα σήματα. Δηλαδή μέσα σε μια λούπα θα επιλέγεις ποιο κανάλι θέλεις μέσω του ADMUX. Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: christineL on June 28, 2015, 19:14:50 pm 1) ναι δεν πιστεύω ότι χρειάζεται 2) εγώ προσωπικά όταν δε με βολεύει να χρησιμοποιήσω το 8,9 ή 10bit mode του PWM και ρυθμίζω το TOP μέσω του OCR1A όπως λες (oυσιαστικά το mode 15), τότε για να αλλάζω το duty cycle χρησιμοποιώ τον OCR1B (ουσιαστικά όταν αρχικοποιείς τον TCCR1A βάζεις στα bit COM1B1:0 = 10 ή 11 ανάλογα αν θες non inverting ή inverting), και μέσω της ISR του ΤΙΜER1_COMPB ( στη θέση $001Α) αλλάζω την τιμή του OCR1B για να αλλάξει το duty cycle. Δεν χρησιμοποιώ δηλαδή τον ICR. Ουσιαστικά δηλαδή το ΤΟP ρυθμίζεται απτον OCR1A και το COMPARE από το OCR1B Δεν μου φαίνεται λογικό να καλείται interrupt κάθε φορά που το OCR1B έχει την τιμή του TIMER, για το PWM. Δεν ξέρω, τι να πω... Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: christineL on June 28, 2015, 19:27:45 pm Βασικά κατάλαβα τι εννοείς, απλά δεν χρειάζεται η ISR, για να αλλάξεις την τιμή του OCR1B.
Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: themis93 on June 29, 2015, 00:01:14 am Στην ερώτηση που λέει να πούμε τις διαφορές μεταξύ διακοπών και DMA τι πρέπει να πούμε; Ισχύει ότι στη μέθοδο των διακοπών ο μικροελεγκτής αντιλαμβάνεται ότι υπάρχει αίτημα επικονωνίας ενώ στους DMAC υπάρχει ένα ξεχωριστό κύκλωμα που αντιλαμβάνεται το αίτημα; Υπάρχει άλλη διαφορά;
Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: Tracy_McGrady on June 29, 2015, 01:48:14 am Βασικά κατάλαβα τι εννοείς, απλά δεν χρειάζεται η ISR, για να αλλάξεις την τιμή του OCR1B. Δοκιμάσατε να φτιάξετε PWM στο AVR??...την έξοδο σας την βγάζει???Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: MG9S on June 29, 2015, 12:58:46 pm παιδια επειδη δεν το πολυκατάλαβα μπορεί κάποιος να εξηγήσει πώς δουλεύουμε με το pwm? :)
Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: et3rn1ty on June 29, 2015, 13:33:58 pm Όταν θέλουμε να έχουμε compare output mode (έστω στον Timer0), πχ στο CTC να κάνει toggle το output pin, λέει στο datasheet ότι πρέπει να ορίσουμε το pin αυτό ως output. Ποιό όμως είναι το PORT του, αυτό το λέει κάπου?
Δηλαδή, έστω ότι βάζω τον timer σε CTC mode (WGM01:0=10) και βάζω toggle (COM01:0=01). Πρέπει να ρυθμίσω επιπλέον και το DDR κάποιου port για output? Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: απλυτος on June 29, 2015, 13:39:18 pm Όταν θέλουμε να έχουμε compare output mode (έστω στον Timer0), πχ στο CTC να κάνει toggle το output pin, λέει στο datasheet ότι πρέπει να ορίσουμε το pin αυτό ως output. Ποιό όμως είναι το PORT του, αυτό το λέει κάπου? Δηλαδή, έστω ότι βάζω τον timer σε CTC mode (WGM01:0=10) και βάζω toggle (COM01:0=01). Πρέπει να ρυθμίσω επιπλέον και το DDR κάποιου port για output? είναι το pin OC0 (έτσι λέγεται), το οποίο είναι το pin PB3 δηλαδή το 3ο pin του PORTB οπότε, sbi DDRB, 3 Title: Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2015 Post by: et3rn1ty on June 29, 2015, 13:44:22 pm Όταν θέλουμε να έχουμε compare output mode (έστω στον Timer0), πχ στο CTC να κάνει toggle το output pin, λέει στο datasheet ότι πρέπει να ορίσουμε το pin αυτό ως output. Ποιό όμως είναι το PORT του, αυτό το λέει κάπου? Δηλαδή, έστω ότι βάζω τον timer σε CTC mode (WGM01:0=10) και βάζω toggle (COM01:0=01). Πρέπει να ρυθμίσω επιπλέον και το DDR κάποιου port για output? είναι το pin OC0 (έτσι λέγεται), το οποίο είναι το pin PB3 δηλαδή το 3ο pin του PORTB οπότε, sbi DDRB, 3 Χίλια θενξ! |