Title: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 05, 2005, 21:31:22 pm Παιδια κοιταξε κανεις την εργαστηριακη ασκηση?
ζηταει για αρχη να εγγραφουν τα 2 τελευταια ψηφια των δυο ΑΕΜ της ομαδας στην μνημη. που ομως? τσπ τα βαζω στην αρχη (διευθυνση $60) μετα ζηταει να εμφανιστει στα leds tis STK500 ο κωδικας BCD των δυο τελευταιων ψηφιων των ΑΕΜ. Εφοσον δεν λεει να γινεται η μετατροπη απο το προγραμμα δεν ασχολουμαστε με κατι τετοιο σωστα? δεν χρειαζεται δλδ καποια μετατροπη απο δυαδικο σε BCD? απλα το φορτωνω εγω ετοιμο σε BCD μεσω του προγραμματος μου ε? και το κυριοτερο: πως θα εμφανιστουν τα ψηφια στην εξοδο? παιρνω συμπληρωμα (γιατι τα led της STK δουλευουν αναποδα) τα στελνω στην PORTB ... και μετα? τι θα κανω θα στειλω το ενα μετα το αλλο? δεν θα προλαβαινουμε να δουμε τπτ.. θα πηγαινουν τα μπιτς θα φευγουν και τελος. αν βαλω ενα λουπ αεναο θα φαινονται αλλα ποιο απο τα δυο να δειχνω? τα λεντς ειναι 8 ολα κι ολα...μηπως να τα δειχνω διαδοχικα? και τελος: εχω γραψει ενα προγραμματακι στον AVR το κανω compile kai build αλλα οι καταστασεις των καταχωρητων, μνημης κλπ δεν αλλαζουν!! HELP...BOB...KAMENOS!! :P Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 05, 2005, 22:32:39 pm τα δεδομένα δεν είναι απαραίτητο να τα βάλεις σε διεύθυνση που έχεις δώσει στο 16δικό. Μπορέις άνετα τα βάλεις ένα tag εκεί και να κάνεις εύκολη αναφορά αργότερα. πχ
ldi zl,low(aem) ldi zh,high......................... έστω ότι θέλεις 23words πχ για να αποθηκέυσεις τα 2 aem μετά θα μπορείς να κάνεις αναφορά σε αυτά με aem+1, aem+5 ή aem+7854 Για μετατροπή μπορεί να μη λέει αλλά όπως και να έχει πρέπει να απομονώσεις τα ψηφία. κάνε αυτό και το πρόβλημα σου θα λυθεί "δια μαγείας" Τώρα για την έξοδο: Η STK500 έχει τα led συνδεδεμένα στη portb. Μία port στον AVR πόσα bit έχει??? Εσεί πόσα χρειάζεσαι?????? Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 06, 2005, 01:50:15 am Δδλδ εσυ λες να δειχνω με τον pointer Z στα ΑΕΜ.
τα ΑΕΜ που θα ειναι? στη μνημη διαδοχικα ε? η Port εχει 8bit και θελω 16! για τα 2 αεμ * 2 ψηφια*4βιτς το καθενα! σορρυ αν λεω καμμια μλκια αλλα δεν εχω προλαβει να τα δω καλα! Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: golden on December 06, 2005, 02:39:42 am Μήπως ζητάει να εμφανίζει εναλλάξ τα 2 ΑΕΜ στα leds? Εγώ κάτι τέτοιο είχα καταλάβει αρχικά! Κι εγώ σόρρυ αν λέω μλκια αλλά είμαι ακόμα ζαλισμένος από τα σηματα! :o
Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 06, 2005, 03:26:19 am Το Ζ το λέω αν είναι να τα φορτώσεις στην μνήμη δεδομένων. Θεωρητικά μπορείς να τα φορτώσεις και στη PM.
Το εναλλάξ είναι λίγο δύσκολο να το κάνεις. (διαδοχικά) Πρέπει να βάλεις delay μετά από κάθε out port. Για να βάλεις delay χρειάζεται να ξέρεις πως λειτουργεί ο timer που είναι μίκρο 2. οπότε λίγο δύσκολο να θέλει αυτό. Από ότι βλέπω στην εργασία του τμήματος 2 παίζει με τα switches αυτή μπορεί να είναι η λύση. δηλαδή να πατάς ένα κουμπί και να αλλάζει το ΑΕΜ. Πάντως τώρα που την διαβάζω από το ethmmy έχει μία ασάφεια Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: abc on December 06, 2005, 22:11:19 pm :o Να υποθέσω ότι τις εργασίες τις ανακοίνωσε μες την τάξη ο κος Πέτρου; :o
Έχει κανείς την καλωσύνη να τις postαρει κάπου τριγύρω;;; ::) :P Αναστάσης Ζ. Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 07, 2005, 00:14:34 am στο εΤΗΜΜΥ ειναι τασο!
μας ειπε σημερα οτι εννοει με το πατημα ενος διακοπτη να γυρνανε εναλλαξ! Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 07, 2005, 00:29:47 am off topic
..... Αναστάσης Ζ. Εσύ είσαι ρε Τάσο και αναρωτιόμουν ποίος είναι αυτός ο abc και που με ξέρει. LOL Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: dictator23 on December 08, 2005, 13:17:33 pm Διορθωστε με αν κανω λαθος παιδια αλλα ο Πετρου δεν ειχε πει οτι θα ανεβασει στο site του μαθηματος ασκησεις-παραδειγματα;
Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 08, 2005, 13:23:33 pm Εγώ δε θυμάμαι κάτι τέτοιο αλλά είναι πολύ πιθανό να μην το άκουσα. Αν όμως το πούμε στον Πέτρου δε αποκλείεται να τα ανεβάσει. Πάντως η αλήθεια είναι ότι για τον AVR υπάρχουν στο Internet πάρα πολλά παραδείγματα σε επίσημα και ανεπίσημα site.
Title: Re: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: abc on December 08, 2005, 15:23:56 pm Εγώ δε θυμάμαι κάτι τέτοιο αλλά είναι πολύ πιθανό να μην το άκουσα. Αν όμως το πούμε στον Πέτρου δε αποκλείεται να τα ανεβάσει. Πάντως η αλήθεια είναι ότι για τον AVR υπάρχουν στο Internet πάρα πολλά παραδείγματα σε επίσημα και ανεπίσημα site. Πολύ sample code έχει και το CD του Τζιόλα. Δε ξέρω αν βοήθησε κανέναν ως τώρα. Εγώ να ρωτήσω το εξής (έστειλα και mail στον κο Πέτρου) Θα έχουμε τον AT90S8515 ή τον ΑΤmega8515 Ο AT90S8515 είναι outdated παρατήρησα... "Not recommended for new design: replaced by ATmega8515" Ρωτώ απλά για το manual :-* Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Καμένος on December 08, 2005, 16:21:23 pm Μάλλον τον AT90S8515.
Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 08, 2005, 16:56:47 pm αν θυμαμαι καλα ειπε οποιον θελουμε...
ετσι κ αλλιως κατι τετοιο αλλαζει και γρηγορα εκεινη την ωρα.. εγω εβαλα τον απλο! οσο για τις ασκησεις, το ειπε...οτι θα τις ανεβασει στο εΤΗΜΜΥ. Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: shiver on December 09, 2005, 23:17:23 pm και τελος: εχω γραψει ενα προγραμματακι στον AVR το κανω compile kai build αλλα οι καταστασεις των καταχωρητων, μνημης κλπ δεν αλλαζουν!! τελικά με αυτό το θέμα βρήκες λύση? γιατί και εγώ το ίδιο πρόβλημα έχω.! Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 09, 2005, 23:42:42 pm ναι...
οι καταστασεις αλλαζουν οταν τον κανεις debug... δηλαδη compile build και μετα run... αλλα επειδη η εντολη run δεν βολευει(παει σφαιρα) πατας πιο διπλα ενα κουμπακι (step into νομιζω) και το εκτελεις εντολη-εντολη! Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: ioanna208 on December 10, 2005, 00:25:14 am Έχω διαβάσει σένα σημείο για το AVR Studio 4 για τον simulator. Προσπαθώ να βρω την επιλογή Simulator options που είναι Debug->simulator options σύμφωνα με την "Βοήθεια" του προγράμματος αλλά δεν υπάρχει. Μπορεί κάποιος να μου εξηγήσει γιατί ακριβώς χρειάζεται ο simulator και που υπάρχει στο πρόγραμμα? :???:
Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 10, 2005, 00:57:31 am χαχα :D Καλά που πήγες και το πέτυχες αυτό με τα simulator options?? Έχεις δίκιο σε αυτό σο σημείο έχει ένα μικρό πρόβλημα το Studio. Η επιλογή AVR simulator options εμφανίζεται στο μενού debug μόνο όταν "τρέχεις" το κώδικα σου. Όπότε αν θες να δεις το μενού αυτό γράψε ένα μικρό κώδικα, τρέξ' τον και επίλεξε το μενού που τότε ως δια μαγείας θα εμφανιστεί. Πάντως δε νομίζω να χρειάζονται και τίποτα αλλαγές σε εκεί για την εργασία.
Ο simulator είναι το σημαντικότερο μέρος του AVR studio. Αφού γράψεις το κώδικα σου και τον κάνεις compile μπορείς να τρέξεις το κώδικα σε αυτόν βλέποντας πως θα έτρεχε σε έναν κανονικό AVR. Βέβαια έχει κάποια μειονεκτήματα στο ότι δε μπορείς να προσομοιώσεις εξωτερικά περιφερειακά αλλά τις απαιτήσεις της εργασίας τις καλύπτει πλήρως. Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: ioanna208 on December 10, 2005, 01:09:00 am τελικά ναι έχεις δίκιο ότι εμφανίζεται όταν τρέξω τον κώδικα. Και πάλι όμως τις επιλογές στο simulator options που έχει δεν τις πολυκαταλαβαίνω. υποτίθεται ότι πρέπει να επιλέξω από τις PORTΧ ποιες χρησιμοποιώ για τον συγκεκριμένο κώδικα??Και στην επιλογή file τι γράφω?? Δεν πρέπει να κάνω κάποιες αλλαγές για την εργασία σε αυτά τα σημεία?
Και κάτι ακόμα όταν λες να τρέξω τον κώδικα στον simulator πως ακριβώς...?? Μάλλον οι ερωτήσεις μου είναι λίγο χαζές αλλά δεν έχω ασχοληθεί και πολύ και ίσως δεν έχω κάποιες βασικές γνώσεις...προσπαθώ να μάθω... Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 10, 2005, 02:06:28 am Δεν είναι απαραίτητο να κάνεις κάποιες αλλαγές σε αυτό το μενού. Αυτά που έχει για τα port και stimouli δε τα χρηάζεσαι. Απλά από αυτό το μενού θα μπορούσες να κάνεις τον simulator να πέρνει αυτόματα κάποιες εισόδους στα port (πχ τα push button που στον υπολογιστή δεν τα έχεις μπροστά σου να τα πατήσεις). Παρόλα αυτά αν θες να δεις αν ο κώδικας σου λειτουργεί δε χρηάζεται να μπείς σε τόσο περίπλοκη διαδικασία. Απλά τρέχεις εντολή προς εντολή το κώδικα και αριστερά που έχει τους διάφορους καταχωρητές του AVR μπορείς να θέτεις τιμές εσύ σε αυτούς με το ποντίκι κάνοντας Click στο αντίστοιχο bit.
Όταν λέω να τρέξεις το κώδικα εννοώ το κουμπί που είναι σαν play πάνω στο AVR studio. Έτσι το τ΄ρεχεις εντολή προς εντολή. Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: golden on December 10, 2005, 16:47:16 pm Λοιπόοοοον.. Έχω μαζέψει 2-3 απορίες όσον αφορά την 1η εργασία! Αρχικά στο πρώτο σκέλος του εργαστηρίου, θέλει να εξάγουμε τα 2 τελευταία ψηφία του ΑΕΜ σε led 7 τμημάτων ή απλά σε δυαδική μορφή μέσω leds? Δεύτερον, πώς μπορώ να επέμβω μέσω των switches στις εξόδους των leds? Ευχαριστώ εκ των προτέρων για την βοήθεια!
Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: ioanna208 on December 10, 2005, 20:19:12 pm Στο φυλλάδιο της εργασίας στην τελευταία σελίδα εκεί που λέει για την δομή του προγράμματος στον "κώδικας αρχικοποίησης" τι υποτίθεται ότι πρέπει να γράψουμε??
Και όταν λέει ¨προγραμματισμός θυρών" εννοεί ποιες χρησιμοποιούμε ως εισόδους και ποιες ως εξόδους? τα δεδομένα δεν είναι απαραίτητο να τα βάλεις σε διεύθυνση που έχεις δώσει στο 16δικό. Μπορέις άνετα τα βάλεις ένα tag εκεί και να κάνεις εύκολη αναφορά αργότερα. πχ ldi zl,low(aem) ldi zh,high......................... έστω ότι θέλεις 23words πχ για να αποθηκέυσεις τα 2 aem μετά θα μπορείς να κάνεις αναφορά σε αυτά με aem+1, aem+5 ή aem+7854 Αυτό το tag τι σύνταξη θα πρέπει να έχει μέσα στον κώδικα? σχετικά με την εντολή ldi zl,low(aem)...το aem περιέχει τα δύο ψηφία και των δύο aem (δηλαδή τέσσερα ψηφία), η έκφραση low(aem) σημαίνει τα δύο ψηφία του ενός ΑΕΜ (αφου low σημαίνει το least significant byte), και δηλαδή καταχωρούμε στον zl αυτά τα δύο ψηφία?? Όμως o zl περιέχει διευθύνσεις στη μνήμη. Που κάνω λάθος στο παραπάνω σκεπτικό?? Τα ψηφία των ΑΕΜ θα τα καταχωρησουμε που?Στην SRAM? Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 10, 2005, 20:37:08 pm Λοιπόοοοον.. Έχω μαζέψει 2-3 απορίες όσον αφορά την 1η εργασία! Αρχικά στο πρώτο σκέλος του εργαστηρίου, θέλει να εξάγουμε τα 2 τελευταία ψηφία του ΑΕΜ σε led 7 τμημάτων ή απλά σε δυαδική μορφή μέσω leds? Δεύτερον, πώς μπορώ να επέμβω μέσω των switches στις εξόδους των leds? Ευχαριστώ εκ των προτέρων για την βοήθεια! Την έξοδο δεν τη θέλει σε led 7 seg. Δεν αναφέρει πουθενά κάτι τέτοιο στην εργασία. ¨οταν λες να επεμβεις στην έξοδο των led μέσω των switches τι εννοείς??? Βασικά τόσο τα sw όσο και τα led ειναι συνδεδεμένα σε ports του AVR, οπότε τα πάντα μπορείς να τα κάνεις διαβάζοντας και γ΄ραφοντας στις θύρες. Στο φυλλάδιο της εργασίας στην τελευταία σελίδα εκεί που λέει για την δομή του προγράμματος στον "κώδικας αρχικοποίησης" τι υποτίθεται ότι πρέπει να γράψουμε?? εννοεί τα IRQs του AVR δες στο αντίστοιχο σημείο του βιβλίου. Γενικά το 1o IRQ είναι αυτό που συμβαίνει με την εκκίνηση του AVR οπότε εκεί βάζεις μία εντολή που στέλνει τον AVR στην πρώτη εντολή σου. Στη συνέχεια ακολουθούν τα εξωτερικά IRQs στα οποία βάζεις reti έτσι ώστε να ενεργοποιηθούν τυχαία από θόρυβο να μην συμβεί τίποτα και να συνεχίσει η νορμάλ πορεία του κώδικα. Και όταν λέει ¨προγραμματισμός θυρών" εννοεί ποιες χρησιμοποιούμε ως εισόδους και ποιες ως εξόδους? ακριβώς αυτό. Αυτό το tag τι σύνταξη θα πρέπει να έχει μέσα στον κώδικα? σχετικά με την εντολή ldi zl,low(aem)...το aem περιέχει τα δύο ψηφία και των δύο aem (δηλαδή τέσσερα ψηφία), η έκφραση low(aem) σημαίνει τα δύο ψηφία του ενός ΑΕΜ (αφου low σημαίνει το least significant byte), και δηλαδή καταχωρούμε στον zl αυτά τα δύο ψηφία?? Όμως o zl περιέχει διευθύνσεις στη μνήμη. Που κάνω λάθος στο παραπάνω σκεπτικό?? Τα ψηφία των ΑΕΜ θα τα καταχωρησουμε που?Στην SRAM? ο Πέτρου είπε ότι δεν είναι απαραίτητο να αποθηκευτούν στην Sram μπορείς απλά να φορτώνεις τις τιμές άμεσα στους καταχωριτές. Τώρα αν θα ήθελες να χρησιμοποιήσεις την Sram το low και το high δεν αναφέρονται λιγοτερο και περισσότερο σημαντικά ψηφία του αριθμού. Εϊναι τα 8 LSbit και MSbit της διεύθυνσης που είναι αποθηκευμένο το aem. αν χρησιμοποιήσεις την Program Μem. τότε αυτή είναι 16bit και μπορείς να αποθηκεύσεις τα 4συνολικά ψηφία σε 1 λέξη. στην data mem επειδή είναι 8bit θα χρηαστείς 2 words. Στον zh:zl μπαίνει η διεύθυνση στην οποία είναι αποθηκευμένες οι τιμές σου και έτσι με την εντολή πχ ld r16,z φορτώνεις τις τιμές που είναι αποθηκευμένες σε αυτή την διεύθυνση, στον καταχωριτή 17 το tag "aem" είναι ουσιαστικά η διεύθυνση αυτή. Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 10, 2005, 23:57:56 pm Επειδη ισως ο ΒΟΒ σας μπερδεψε λιγο... :)
φορτωνουμε τον BCD κωδικα των 2 ψηφιων του ΑΕΜ σε εναν καταχωρητη. φορτωνουμε τα αλλα 2 του αλλου ΑΕΜ σε αλλο. παιρνουμε συμπληρωμα γιατι οι εξοδοι ειναι αρνητικης λογικης. ΛΕΝΤ ΟΝ = 0 !! κανουμε την θυρα Β εξοδο. κανουμε την θυρα D εισοδο. βγαζουμε το ενα αεμ στην εξοδο. περιμενουμε πατημα ενος κουμπιου (λουπ) και μολις πατηθει και αφεθει εμφανιζουμε το αλλο αεμ. το πατημα αναγνωριζεται απο μεταβολες στην θυρα D αφου εκει ειναι συνδεδεμενα τα switches. και παλι τα ιδια!! Προσοχη!!...στο διακοπτικο φαινομενο... πληροφοριες σελιδα 150!...θυμηθειτε το προγραμμα τρεχει σε νανοσεκοντ! Δεν ειναι αναγκαιο να μπλεξετε με ποιντερς. Η εξοδος δεν εμφανιζεται σε λεντ 7 τμηματων...δειτε το αρχειο που ανεβασε ο κ.Πετρου για την καρτα STK500 ! αυτα! :) Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: marauber on December 11, 2005, 16:48:58 pm Σχετικά με το τμήμα 1 της εργασίας, στο σημείο που θέλει με το πάτημα ενός διακόπτη να εμφανίζεται το άλλο ΑΕΜ, πρέπει να βάλουμε μια υπορουτίνα που θα προκαλεί καθυστέρηση όπως στη σελ.155; Επίσης θέλουμε το ΑΕΜ να αλλάζει με το πάτημα οποιαδήποτε διακόπτη;
Και κάτι ακόμα: Αφού εμφανιστεί το άλλο ΑΕΜ, μετά τι θέλουμε να γίνεται; Να τερματίζει το πρόγραμμα ή αν ξαναπατήσουμε διακόπτη να εμφανιστεί το πρώτο και πάει λέγοντας; Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 12, 2005, 00:20:18 am Σχετικά με το τμήμα 1 της εργασίας, στο σημείο που θέλει με το πάτημα ενός διακόπτη να εμφανίζεται το άλλο ΑΕΜ, πρέπει να βάλουμε μια υπορουτίνα που θα προκαλεί καθυστέρηση όπως στη σελ.155; Επίσης θέλουμε το ΑΕΜ να αλλάζει με το πάτημα οποιαδήποτε διακόπτη; Εγω εβαλα καθυστερηση...νομιζω οτι χρειαζεται!η με οποιοδηποτε η ενος συγκεκριμενου...δεν νομιζω να υπαρχει προβλημα εκει...εγω πχ εβαλα μονο του SW0 Και κάτι ακόμα: Αφού εμφανιστεί το άλλο ΑΕΜ, μετά τι θέλουμε να γίνεται; Να τερματίζει το πρόγραμμα ή αν ξαναπατήσουμε διακόπτη να εμφανιστεί το πρώτο και πάει λέγοντας; Το δευτερο!Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on December 12, 2005, 02:01:31 am Ρε παιδιά, οι οδηγίες που μας έδωσε είναι πολύ φλου.
Εγώ για παράδειγμα το προγραμμάτισα εάν είναι ολα τα κουμπιά ελεύθερα να εμφανίζει το ένα ΑΕΜ, ενώ εάν πατηθεί έστω και ένα τότε να εμφανίζεται το άλλο ΑΕΜ. Νομίζω πως είμαι εντος θέματος. Όσο για την δεύτερη εργασία είναι ακόμη πιο φλου. Θα εισάγουμε καθυστέρηση ή όχι. Το φυλλάδιο δεν αναφέρει τίποτα γι' αυτό , αλλά μάλλον πρέπει σε δύο σημεία του κώδικα. Εκτώς αυτού έχει βγάλει στην εκφώνηση και ένα σκαρίφημα του κώδικα που θέλει να γράψουμε, κι εμείς τώρα πρέπει να μαντέψουμε την υλοποίηση που έχει κάνει αυτός. Εγώ το έλυσα το πρόβλημα χωρίς να ακολουθήσω αυτά τα βήματα που περιγράφει.... Δεν ξέρω αλλά έχω ψιλοπελαγώσει. Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 12, 2005, 02:23:05 am Δε νομίζω ρε συ να θέλει την δικιά του υλοποίηση ακόμη και στις ασκήσεις που κάνει μέσα στο μάθημα λέει ότι πάντα υπάρχουν διαφορετικές υλοποιήσεις.
Για αυτό που λέτε να εμφανίζει τα αεμ εναλλάξ δε το λέει καθόλου στην εργασία. Και εγώ έτσι το έβαλα αλλά δε νομίζω να είναι υποχρεωτικό. Η καθυστέρηση γιατί χρειάζεται??? Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: abc on December 12, 2005, 18:20:12 pm ΕΛΕΟΣ.
Τι κάνω λάθος; Δίνω τον παρακάτω κώδικα και μου βγάζει error: mul r17,r16 PartB.asm(28): error: mul r17, r16: Unsupported instruction on AT90S8515 Είναι δυνατό να έχω σφάλμα unsupported instruction στην mul;;; Τπτ χαζό θα είναι και κλαίγομαι τζάμπα... Θενκ γιου. :o Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on December 12, 2005, 23:42:28 pm Η καθυστέρηση γιατί χρειάζεται??? Το αναφέρει το βιβλίο! Επειδή λεει το κουμπί είναι μηχανικό και μπορεί να σου βγάλει σφάλματα. Δες το βιβλίο σελ 150.Άσε που τελικά ο ίδιος ο Πέτρου τους είπε ότι δεν είναι απαραίτητο να βάλουν καθυστέρηση ΠΑΛΙ ΚΑΛΑ!!! ;) Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on December 12, 2005, 23:45:26 pm mul r17,r16 Βρε Τάσο, το σφάλμα σου είναι πολύ απλό. :)PartB.asm(28): error: mul r17, r16: Unsupported instruction on AT90S8515 Ο AT90S8515 δεν υποστηρίζει την εντολή MUL! Κι αυτό γιατί είναι ο παλιός 8515. Ο καινούργιος ονομάζεται mega8515 και την υποστηρίζει. Πάντως στο εργαστήριο κατά πάσα πιθανότητα θα έχουμε τον AT90S8515. Άσε που η mul δεν σου χρειάζεται για να λύσεις τις δύο ασκήσεις... Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 13, 2005, 01:07:14 am Η καθυστέρηση γιατί χρειάζεται??? Το αναφέρει το βιβλίο! Επειδή λεει το κουμπί είναι μηχανικό και μπορεί να σου βγάλει σφάλματα. Δες το βιβλίο σελ 150.Άσε που τελικά ο ίδιος ο Πέτρου τους είπε ότι δεν είναι απαραίτητο να βάλουν καθυστέρηση ΠΑΛΙ ΚΑΛΑ!!! ;) Τώρα το διαβάζω και έχω βάλει καθυστέρηση...... ΓΓΡΡΡΡΡΡ να το είχα δει πιο νωρίς. Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: abc on December 13, 2005, 01:21:38 am mul r17,r16 Βρε Τάσο, το σφάλμα σου είναι πολύ απλό. :)PartB.asm(28): error: mul r17, r16: Unsupported instruction on AT90S8515 Ο AT90S8515 δεν υποστηρίζει την εντολή MUL! Κι αυτό γιατί είναι ο παλιός 8515. Ο καινούργιος ονομάζεται mega8515 και την υποστηρίζει. Πάντως στο εργαστήριο κατά πάσα πιθανότητα θα έχουμε τον AT90S8515. Άσε που η mul δεν σου χρειάζεται για να λύσεις τις δύο ασκήσεις... Απλά όταν λέει ο κος Πέτρου στην εκφώνηση της άσκησης 3: "Με βάση τις προηγούμενες ασκήσεις, να υλοποιηθεί με δύο διαφορετικούς τρόπους η ρουτίνα πολλαπλασιασμού (χωρίς την χρήση των υπαρχουσών εντολών πολλαπλασιασμού)..." καταλαβαίνω ότι υλοποιείται η MUL. Αλλά μάλλον εννοεί για τις ομάδες που χρησιμοποιούν τον ΑΤmega8515. Τέλος πάντων, Κρις. Υλοποιήθηκε sideways, με λογικά μπαντιλίκια δεξιά αριστερά... :'( Ευχαριστώ πάντως ::) Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 13, 2005, 01:29:50 am Τέλος πάντων, Κρις. Υλοποιήθηκε sideways, με λογικά μπαντιλίκια δεξιά αριστερά... :'( :D :D και με μερικές χειροφρενιές τελικά το φέρνεις βόλτα. :P Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Fuzzee on December 16, 2005, 03:13:04 am Ξέρει κανείς τί παίζει με τις υπορουτίνες???
είμαι σε κάποιο σημείο του προγράμματος και πετάω π.χ την rcall loop πηγαίνει στο loop ψήνει καφέ και στο τέλος όταν φτάνει στο ret αντί να γυρίσει στο σημείο που την κάλεσα πηγαίνει στην αρχή του προγράμματος και ξεκινάει απο την αρχή !!!! τί έκανα λάθος ??? τι χρειάζετε να βάλω??αφτά τα push pop ??? πάντος στα παραδείγματα του βιβλίου τις ίδιες .... κάνει !!!! Ευχαριστώ προκαταβολικά για κάθε βοήθεια!!!!! Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 16, 2005, 16:44:46 pm όταν κάνει κλήση σε υπορουτίνα η διεύθυνση της επιστροφής αποθηκεύεται στην στοίβα. Για να χρησιμοποιήσεις την στοίβα όμως πρέπει να την αρχικοποιήσεις. δηλαδή να βάλεις τον stack pointer να δείχνει στην τελευταία διεύθυνση της SRAM.
Υ.Γ. για να πάρεις τις τελευταίες τιμές της SRAM μπορείς να χρησιμοποιήσεις το low(ramend) και το high(ramend) που ουσιαστικά αποτελούν δηλώσεις μέσα στο αρχείο που έχεις κάνει include στην αρχή του προγράμματος. Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: shiver on December 16, 2005, 20:42:13 pm Σχετικά με την εργασία που έχουμε να παραδίδουμε κάθε φορά μετά το εργαστήριο στο σημείο που λέει:
" Αναφέρατε τις διαφορές που είχατε στην αποσφαλμάτωση στον προσομοιωτή και στην αναπτυξιακή κάρτα" τι διαφορές υποτίθεται ότι πρέπει να γράψουμε; Εγώ για να δω ότι το πρόγραμμα τρέχει σωστά απλά το έτρεχα βήμα προς βήμα και ελέγχα το περιεχόμενο των καταχωρητών κάνοντας και ανάλογες αλλαγές. Υποτίθεται ότι πρέπει να κάνουμε κάτι πιο συγκεκριμένο με τον Simulator και αν ναι πως γιατί αν και το έψαξα δεν έβγαλα και πολύ άκρη από τις οδηγιες που μας έδωσε; Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: abc on December 16, 2005, 22:56:58 pm Σχετικά με την εργασία που έχουμε να παραδίδουμε κάθε φορά μετά το εργαστήριο στο σημείο που λέει: " Αναφέρατε τις διαφορές που είχατε στην αποσφαλμάτωση στον προσομοιωτή και στην αναπτυξιακή κάρτα" τι διαφορές υποτίθεται ότι πρέπει να γράψουμε; Εγώ για να δω ότι το πρόγραμμα τρέχει σωστά απλά το έτρεχα βήμα προς βήμα και ελέγχα το περιεχόμενο των καταχωρητών κάνοντας και ανάλογες αλλαγές. Υποτίθεται ότι πρέπει να κάνουμε κάτι πιο συγκεκριμένο με τον Simulator και αν ναι πως γιατί αν και το έψαξα δεν έβγαλα και πολύ άκρη από τις οδηγιες που μας έδωσε; Αν παρατηρήσεις ότι το πρόγραμμα στην STK500 δε τρέχει όπως έτρεχε και στον Simulator, τότε πρέπει να επισημάνεις αυτές τις διαφορές. Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: shiver on December 17, 2005, 21:07:16 pm Σχετικά με την εργασία που έχουμε να παραδίδουμε κάθε φορά μετά το εργαστήριο στο σημείο που λέει: " Αναφέρατε τις διαφορές που είχατε στην αποσφαλμάτωση στον προσομοιωτή και στην αναπτυξιακή κάρτα" τι διαφορές υποτίθεται ότι πρέπει να γράψουμε; Εγώ για να δω ότι το πρόγραμμα τρέχει σωστά απλά το έτρεχα βήμα προς βήμα και ελέγχα το περιεχόμενο των καταχωρητών κάνοντας και ανάλογες αλλαγές. Υποτίθεται ότι πρέπει να κάνουμε κάτι πιο συγκεκριμένο με τον Simulator και αν ναι πως γιατί αν και το έψαξα δεν έβγαλα και πολύ άκρη από τις οδηγιες που μας έδωσε; Ουσιαστίκα αυτό που ρωτάω είναι αν λέγοντας αυτός αποσφαλμάτωση του προγράμματος εννοει κατι διαφορετικό από απλό τρέξιμο του προγράμματος γιατί στις σημειώσαεις που έχει ανεβάσει στο eTHMMY έχει πόσες σελίδες στις οποίες αναφέρεται σε simulator options και κάτι files .sti με τα οποία μπορεί να εισάγεις τίμες σε καταχωρητές θυρών κ.λ.πΕπίσης αναφέρεται και σε .hex files .Έχει καταλάβει κανείς πως τα χρησιμοποιούμε όλα αυτα και αν πρέπει να τα κάνουμε στην συγκεκριμλένη περίπτωση; Αλλιώς δεν καταλαβαίνω τι διαφορές θα μπορούσαν να υπάρχουν στην αποσφαλμάτωση στον προσομοιωτή και όταν έχουμε την αναπτυξιακή κάρτα στο εργαστήριοεκτός ίσως από κάποια λάθη που ύπαρχουν στο πρόγραμμα τα οπία δεν μπορείς να καταλάβεις στην απλή εκτέλεση αφού δεν υπάρχουν LED και switches. Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on December 17, 2005, 23:33:12 pm Αλλιώς δεν καταλαβαίνω τι διαφορές θα μπορούσαν να υπάρχουν στην αποσφαλμάτωση στον προσομοιωτή και όταν έχουμε την αναπτυξιακή κάρτα στο εργαστήριοεκτός ίσως από κάποια λάθη που ύπαρχουν στο πρόγραμμα τα οπία δεν μπορείς να καταλάβεις στην απλή εκτέλεση αφού δεν υπάρχουν LED και switches. Βασικά σε τόσο απλές ασκήσεις όπως η πρώτη δεν περιμένουμε να προκύψει καμία διαφορά. Όταν όμως προγραμματίζεις κάτι πιο σύνθετο, ενδεχομένως ο έλεγχος του προγράμματός σου με τον προσωμοιωτή και η εφαρμογή του προγράμματός σου στον AVR του εργαστηρίου να έχουν διαφορές.Οπότε νομίζω πως το " Αναφέρατε τις διαφορές που είχατε στην αποσφαλμάτωση στον προσομοιωτή και στην αναπτυξιακή κάρτα" πήγαινε κυρίως για περισσότερο προχωρημένες ασκήσεις και όχι για την πρώτη. ;) Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: TT_PTOLEMAIDA on December 18, 2005, 03:16:41 am Σχετικά με την εργασία που έχουμε να παραδίδουμε κάθε φορά μετά το εργαστήριο στο σημείο που λέει: Σε εμένα συνέβη το εξής:" Αναφέρατε τις διαφορές που είχατε στην αποσφαλμάτωση στον προσομοιωτή και στην αναπτυξιακή κάρτα" τι διαφορές υποτίθεται ότι πρέπει να γράψουμε; Εγώ για να δω ότι το πρόγραμμα τρέχει σωστά απλά το έτρεχα βήμα προς βήμα και ελέγχα το περιεχόμενο των καταχωρητών κάνοντας και ανάλογες αλλαγές. Υποτίθεται ότι πρέπει να κάνουμε κάτι πιο συγκεκριμένο με τον Simulator και αν ναι πως γιατί αν και το έψαξα δεν έβγαλα και πολύ άκρη από τις οδηγιες που μας έδωσε; Όταν έτρεξα το πρόγραμμα στον simulator όλα πηγαιναν καλά, δεν έβγαλε κανένα error και οι καταχωρητές είχαν τις τιμές που έπρεπε να έχουν. Όταν όμως πέρασα το πρόγραμμα στην κάρτα, ήρθε ο Πέτρου να κάνει το πείραμα (της άσκησης 1 τμήμα 2) και διαπίστωσε ότι όταν άφηνε το switch0 τα leds των πλήκτων που πατούσε λίγο πριν, έσβηναν ενώ έπρεπε να έμεναν αναμμένα. Τότε μου είπε να βάλω κάτι εντολές μέσα σε ένα loop και το πρόβλημα θα λυνόταν. Δηλαδή στην "one step" ανάλυση του προγράμματος με τον simulator, το παραπάνω "πρόβλημα" δεν το διαπίστωσα, πράγμα που νομίζω πως είναι μια διαφορά σαν αυτές που ζητάει. Δεν είμαι σίγουρος αν το πάθημα μου είναι μια από αυτές τις διαφορές, αλλα σου δείχνω κάποιο τρόπο απάντησης... ;) Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: BOBoMASTORAS on December 18, 2005, 13:51:48 pm Ναι αυτό που λες mega ήταν μάλλον από τα φαινόμενα κακής επαφής του διακόπτη. δηλαδή όταν πατάς τον διακόπτη δε κλείνει αμέσως αλλά κάνει μεταβάσεις on-off. Κάτι τέτοια μάλλον θέλει. Πάντως ο simulator όσο αναφορά τη προσομοίωση του κώδικα είναι ακριβής, τα όποια προβλήματα του είναι κυρίως στη διασύνδεση με εξωτερικές συσκευές τις οποίες δε μπορεί να προσομοιώσει. τέτοιες είναι στις εργασίες μας τα sw και τα led οπότε εκεί μάλλον θα βρίσκονται όλες οι διαφορές.
Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: marauber on December 18, 2005, 17:59:41 pm Όντως, προσομοιωτής είναι, δεν μπορεί να περιγράψει πλήρως ένα "χειροπιαστό" αντικείμενο όπως η STK500.
Εγώ σαν διαφορά έγραψα ότι στον προσομοιωτή του AVR με την έναρξη του προγράμματος τα pins του PORTD τίθενται αυτόματα σε λογικό μηδέν, ενώ το αντίστροφο συμβαίνει στην αναπτυξιακή κάρτα, οπότε προκειμένου να γίνει σωστά η αποσφαλμάτωση έπρεπε να αλλάξουμε χειροκίνητα τα pins στον προσομοιωτή σε λογικό 1. Η ερώτηση μου είναι η εξής: Πειράζει να χρησιμοποιήσω τον mega8515 που έχει και τη mul΄; Έχω την εντύπωση ότι χρειάζεται στο τμήμα 2 της άσκησης 2 που ζητάει μετατροπή από BCD σε δυαδικό. Εγώ αυτό που σκέφτηκα ήταν πολλαπλασιασμός της high περιοχής του καταχωρητή με το 10 (επειδή αυτό είναι το ψηφίο των δεκάδων) και μετά άθροιση με την low περιοχή (δηλαδή το ψηφίο των μονάδων) έτσι ώστε να μετατραπεί ο αριθμός σε δυαδική μορφή; Η μήπως υπάρχει και άλλος τρόπος που δεν τον σκέφτηκα; Δεν πιστεύω να θέλει να υλοποιήσουμε ολόκληρο αλγόριθμο που να κάνει τον πολλαπλασιασμό με χρήση πρόσθεσης και ολίσθησης :o!!! Edit: Το βρήκα τελικά! Έκανα 3 φορές ολίσθηση προς τα αριστερά (x8) και μετά πρόσθεσα 2 φορές τον εαυτό του (x2), οπότε συνολικά έχουμε πολλαπλασιασμό x10! Πιο απλό από ότι φανταζόμουν... Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 18, 2005, 23:59:29 pm ακριβως αυτο marauber!
mega8515 εχουν μονο δυο καρτες στο εργαστηριο...θελει χωρις την mul και γινεται οπως ειπες... βασικα τα ειχε κανει ολα αυτα μεσα στην ταξη! :) Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: TT_PTOLEMAIDA on December 20, 2005, 02:05:30 am βασικα τα ειχε κανει ολα αυτα μεσα στην ταξη! :) Στο μάθημα-6 Δεκεμβρίου- ο Πέτρου είχε αναφέρει τον αλγόριθμο (στην ουσία την υπορουτίνα) για μετατροπή από bcd σε binary και έδειξε τον πολλαπλασιασμό με και χωρίς την εντολή mul. Όμως κάπου εκεί μέσα στην υπορουτίνα κάνει έλεγχο αν το ψηφίο είναι μεγαλύτερο του 10 και αν όντως είναι τότε ο έλεγχος του προγράμματος μεταβαίνει σε μια label(πχ init_bcd_digit:set ret η οποία κάνει 1 το flag Τ-Σημαία αντιγραφής-αποθήκευσης (bit-6) του status register Όποιος παρακολούθησε εκείνη την μέρα ή έχει καταλάβει, μπορεί να μου πει τι 'καταφέραμε' με το να θέσουμε την σημαία Τ σε λογικό 1; Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on December 20, 2005, 02:37:30 am απλα υποθετει οτι γραφεις ενα προγραμμα το οποιο να μπορει να χρησιμοποιηθει και σαν ρουτινα για ενα μεγαλυτερο γενικοτερο προγραμμα.
οποτε απο το μεγαλο-γαματο σου προγραμμα :P οταν καλεσεις τη ρουτινα και επιστρεψει ελεγχεις απλα το flag T και αν ειναι 1 ξερεις οτι κατι πηγε στραβα! Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: TT_PTOLEMAIDA on December 20, 2005, 03:35:41 am Ευχαριστώ Jason-X.
Μ'άρεσε η εξήγηση! 'Ετσι πετυχαίνεις και ανίχνευση βλαβών ή κάποιων άλλων ανεπιθύμητων διαταραχών...λέω εγώ τώρα... Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on December 20, 2005, 03:56:41 am Βασικά η σημαία T είναι κατασκευασμένη για τον λόγο αυτό (γενικής χρήσης). Μπορεί κανείς να την χρησιμοποιήσει σαν σημαία επιτυχίας ή αποτυχίας του προγράμματός του
Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Fuzzee on December 31, 2005, 23:22:18 pm Μπορεί κάποιος να εξηγήσει λίγο πιο αναλυτικά τί ζητάει η τρίτη άσκηση?????
Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on January 01, 2006, 22:43:39 pm ναι ρε γμτ...
το αποτελεσμα του πολλαπλασιασμου θα ειναι 16μπιτο ενω τα λεντς 8!... ουτε εγω καταλαβα! Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: nad on January 01, 2006, 23:45:47 pm Γιατί θα είναι 16μπιτο; Αφού το πολύ πολύ να έχεις να πολλαπλασιάσεις το 9 με το 9, εφόσον πρόκειται για πολλαπλασιασμό των 2 ψηφίων του ΑΕΜ, οπότε σου φτάνουν τα λεντάκια.
Εκτός αν έχω καταλάβει τελείως λάθος την άσκηση...... Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Καμένος on January 02, 2006, 12:48:17 pm Απ' ότι κατάλαβα πρέπει να δώσουμε τα δύο τελευταία ψηφία κάθε ΑΕΜ (όπως και στην προηγούμενη ασκήση) και να τα πολλαπλασιάσουμε μεταξύ τους. Τα ψηφία θα εισαχθούν με τον τρόπο της άσκησης 2α. Ο πολλαπλασιασμός θα γίνει με δύο υλοποιήσεις(ρουτίνες-γενικές αφού εισάγουμε εμείς τα ψηφία).
Εγώ το έκανα :Χρησιμοποιώντας lsl και rol : >> lsr ror ,δηλαδή πρώτα έκανα χρήση της αριστερής ολίσθησης (και σταδιακής πρόσθεσης) και μετά με δεξιά ολίσθηση. Τουλάχιστο αυτούς τους τρόπους τους είπε στο μάθημα. Έτσι το αποτέλεσμα θα προκύψει 16 bits, τα οποία μάλλον θα παρουσιάζονται ανά 8 με πίεση διακοπτών. Παρ' όλα αυτά οι δύο ρουτίνες μου βγήκαν ολόιδιες σε πολυπλοκότητα και σε εντολές. Άρα ποιά είναι η καλύτερη??? Μήπως θέλει κάποιον άλλο τρόπο???? Ελπίζω να βοήθησα!! Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: nad on January 02, 2006, 13:07:46 pm Εγώ το έκανα με διαδοχικά LSL και ADC και το αποτέλεσμα μου βγαίνει 8μπιτο. Βασικά έχω κάνει μόνο 1 τρόπο. Ίσως φταίει αυτό. Αλλά το πολύ να χρειαστεί να κάνεις 3 ολισθήσεις, εαν έχεις πολλαπλασιασμό με 8 ή 9. Οπότε που είναι το πρόβλημα;
Μήπως είμαι εκτός τόπου και χρόνου;;;; Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Καμένος on January 02, 2006, 14:52:34 pm Μα δεν έχεις πολλαπλασιασμό μονοψήφιων!! Έχεις πολλαπλασιασμό διψήφιων από 00 μέχρι 99, δηλαδή χρειάζεσαι 8 bits για το καθένα..
Επίσης δεν έχεις τα νούμερα από την αρχή. Τα βάζεις ένα ένα σε μορφή BCD όπως στη δεύτερη άσκηση. Μετά λογικά πρέπει να μετατρέψεις τα 8bita ΒCD σε δυαδική μορφή(άσκηση 2β) για να μπορέσεις να δείς που θα κάνεις τις ολισθήσεις. Δες λίγο δυαδικό πολλαπλασιασμό.. Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: nad on January 02, 2006, 16:02:15 pm Δες λίγο δυαδικό πολλαπλασιασμό.. Εγώ κατάλαβα ότι πρέπει να πολλαπλασιάσουμε το τελευταίο με το προτελευταίο ψηφίο... Τεσπα... Απ' ό,τι φαίνεται εγώ είμαι αυτή που κατάλαβε λάθος... Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on January 03, 2006, 01:26:57 am Επίσης δεν έχεις τα νούμερα από την αρχή. Γιατί δεν τα έχεις από την αρχή????Δεν νομίζω να θέλει να κάνουμε copy paste την δεύτερη άσκηση μέσα στην τρίτη. Επίσεις, δεν χρειάζεται να δυσκολεύουμε την ζωή μας. Στην εκφώνηση δεν είναι καθόλου σαφής, οπότε υποθέτουμε πως ζητά το απλούστερο: δηλαδή τα τελευταία ψηφία των δύο ΑΕΜ είναι αποθηκευμένα μέσα σε δύο καταχωρητές... Το θέμα έιναι ότι θέλει με δύο τρόπους? Έχει κανείς να προτείνει δεύτερο??? Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Καμένος on January 03, 2006, 01:46:54 am Λέει : Με βάση ΤΙΣ ΠΡΟΗΓΟΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ κτλ κτλ.. άρα τα ψηφία τα βάζουμε εμείς..
Δες αυτό που έγραψα πιο πάνω. Έχει δύο τρόπους.. Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on January 03, 2006, 01:49:34 am Δεν θα το έλεγε όμως ρητά???
"Να εισάγονται στον μικροελεγκτή τα δύο τελευταία ψηφία των ΑΕΜ και στην συνέχεια ....." ??? Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Καμένος on January 03, 2006, 01:53:02 am ??????????????????? Τι να σου πώ???????????? Έτσι κατάλαβα. Έτσι κι αλλιώς τον κώδικα τον έχεις έτοιμο.
Επίσης, αν βάλεις εσύτα 4 ψηφία θα αναγκαστείς να γράψεις γενικό κώδικα πολλαπλασιασμού, αφού δεν ξέρεις που θα γίνουν οι ολισθήσεις. Και μάλλον αυτό είναι το σωστό γιατί μονο γενικούς κώδικες μπορείς να συγκρίνεις (στα βήματά τους) Αν ξέρεις τους αριθμούς από την αρχή και κάνεις τα shift & add όπου χρειάζεται, πως θα συγκρίνεις ποιος κώδικας (τρόπος) είναι καλύτερος (γενικά)? Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on January 03, 2006, 01:57:33 am Αν ξέρεις τους αριθμούς από την αρχή και κάνεις τα shift & add όπου χρειάζεται, πως θα συγκρίνεις ποιος κώδικας (τρόπος) είναι καλύτερος (γενικά)? Ναι, υποτίθεται ότι δεν θα κάνεις ειδικό κώδικα, αλλά γενικό....Τελος πάντων... Εμένα πάντως μου φαίνεται λίγο off να ζητάει να κάνουμε copy paste την προηγούμενη άσκηση... Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Καμένος on January 03, 2006, 02:01:58 am Θα μπορούσαμε να γεμίσουμε σελίδες λέγοντας τα ίδια πράγματα!!!
Χρόνια πολλά ρε Χρήστο!! Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on January 03, 2006, 02:05:21 am Καλή χρονιά Μάνο και καλά κουράγια με τις εργασίες... :(
Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: TT_PTOLEMAIDA on January 11, 2006, 15:20:40 pm Χθες, 10 Ιαν ο κ. Πέτρου έκανε μάθημα!!!
Είχα την εντύπωση ότι δεν θα γινόταν άλλο μάθημα..........και άρα έμεινα με την εντύπωση, χωρίς να έχω σημειώσεις... :'( Ύπάρχει κάποιος τημμυος που πήγε και πήρε σημειώσεις? Title: Απ: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: JAs0n-X on January 11, 2006, 21:43:57 pm εκανε 4 ασκησεις. θα βγουν ολα στο εΤΗΜΜΥ. νομιζω βγηκαν ηδη!
ΥΓ.και την δευτερα 9/1 εγινε μαθημα... :P Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on January 12, 2006, 13:36:54 pm Μάνο, αυτό που λέγαμε: Ρώτησα τον Πέτρου και μου είπε ότι δεν χρειάζεται να κάνουμε copy - paste τον παλιό κώδικα, αλλά θεωρούμε τα ΑΕΜ αποθηκευμένα σε δύο καταχωρητές... Οπότε τα πράγματα γίνονται πιο εύκολα :)
Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: Tsihiro on January 13, 2006, 13:47:50 pm Μήπως ξέρει κανείς αν γίνεται να ολισθήσουμε 2 καταχωρητές μαζί?
για παράδειγμα έχω τον 16μπιτο αριθμό 0000.0000.1100.1111 αποθηκευμένο στους r17,r18. και θέλω να ολισθήσει ως εξής: 0000.0001.1001.1110 με ποιες εντολές μπορεί να γίνει? Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: nad on January 13, 2006, 15:05:04 pm Πρώτα κάνεις LSR ή LSL το LSbyte και στη συνέχεια κάνεις ROR ή ROL το MSbyte, γιατί το ROR/ROL βάζει στη θέση του bit7 ή bit 0 αντίστοιχα, την τιμή του κρατουμένου C, στο οποίο προηγουμένως έχει αποθηκευτεί η τιμή του bit που έδιωξες από το LSbyte.
Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: TT_PTOLEMAIDA on January 15, 2006, 00:50:29 am ξέρει κανείς ποιοί είναι τελικά οι 2 διαφορετικοί τρόποι?
και πώς θα εμφανίζουμε τα δύο MSbyte και LSbyte στα 8 led με το πάτημα των κουμπιών? Title: Re: Εργαστηριακες Ασκησεις Μικρο Ι 2005 Post by: chggr005 on January 15, 2006, 01:10:35 am Βασικά οι δύο τρόποι αναφέρθηκαν παραπάνω από τον καμμένο:
:Χρησιμοποιώντας lsl και rol : >> lsr ror ,δηλαδή πρώτα έκανα χρήση της αριστερής ολίσθησης (και σταδιακής πρόσθεσης) και μετά με δεξιά ολίσθηση. Τουλάχιστο αυτούς τους τρόπους τους είπε στο μάθημα. Εγώ βέβαια το έκανα και με έναν τρίτο τρόπο, ο οποίος όμως δεν συμφέρει γιατί χρησιμοποιεί παραπάνω εντολές σχετικά με τους προηγούμενους 2... |