THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Συστήματα Μικροϋπολογιστών => Topic started by: christina_ on October 01, 2017, 03:05:19 am



Title: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: christina_ on October 01, 2017, 03:05:19 am
Topic που αφορά το εργαστήριο του μαθήματος. Stay on topic!


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: raptalex on November 21, 2017, 20:06:22 pm
Ο Σιωης Πολυζωης (8535) , ας στείλει ένα pm για να συννενοηθούμε για τη 1η άσκηση! (ή όποιος τον ξέρει ας τον ενημερώσει, γιατί πιθανόν το παιδί να μην μπαίνει forum, Ευχαριστώ..)


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: mmarios on November 22, 2017, 13:05:31 pm
Ο Παρναλης Γιωργος ας μου στειλει ενα pm για το εργαστήριο.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: reservoir dog on November 25, 2017, 02:27:28 am
H Χριστίνα Μάνιου αν μπορεί ας στειλει pm ή κάποιος που την γνωριζει ας ενημερωσει


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 27, 2017, 12:51:45 pm
O Ισίδωρος Τσούλκας ας μου στείλει ένα μήνυμα, να συνεννοηθούμε για τις ασκήσεις  για  αλλαγή ώρας.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: dimvasdim on November 27, 2017, 22:17:50 pm
Για την πρωτη εργασια ξερει κανεις πως μπορω να αποθηκευσω τα Αεμ στην program memory σε μορφη bcd που ζηταει;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Apostolof on November 27, 2017, 22:47:55 pm
Για την πρωτη εργασια ξερει κανεις πως μπορω να αποθηκευσω τα Αεμ στην program memory σε μορφη bcd που ζηταει;

Αν το ΑΕΜ σου είναι (1821)10 = (0001 1000 0010 0001)BCD = (1821)16
κάνεις:
Code:
.EQU AEM_1_BCD = $1821 ; or
.EQU AEM_1_BCD = 0x1821

Ενώ το δυαδικό είναι (1821)10 = (71D)16
άρα
Code:
.EQU AEM_1_BIN = $71D ; or
.EQU AEM_1_BIN = 0x71D

Δε ξέρω αν είμαι σωστός...


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Oni on November 28, 2017, 14:00:22 pm
Οι ασκήσεις πρέπει να γίνουν σε assembly ή μπορούμε και σε C;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 28, 2017, 16:23:37 pm
Σε assembly  :-\

Όταν λέει για βρόχο αναμονής, τι πρέπει να κάνουμε δηλαδή; Κι επιπλέον εννοεί ότι θα το πατήσουμε 2 φορές, μία για να μπει σ' αυτήν την αναμονή και μία για να βγει και να δείξει αυτά που ζητάει ή ότι θα το κρατάμε πατημένο; Τι καταλάβατε εσείς;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on November 28, 2017, 20:25:54 pm
Δες αυτό:
https://stackoverflow.com/questions/24097526/how-to-make-a-delay-in-assembly-for-avr-microcontrollers#24207694

μια ακόμη ερώτηση τα delay πρέπει να είναι ακριβή;
στο παραπάνω παράδειγμα ας πούμε βγαίνει 1 sec και κάτι.
Αυτό είναι αποδεκτό στα πλάισια του εργαστηρίου;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 28, 2017, 21:08:46 pm
Δες αυτό:
https://stackoverflow.com/questions/24097526/how-to-make-a-delay-in-assembly-for-avr-microcontrollers#24207694

μια ακόμη ερώτηση τα delay πρέπει να είναι ακριβή;
στο παραπάνω παράδειγμα ας πούμε βγαίνει 1 sec και κάτι.
Αυτό είναι αποδεκτό στα πλάισια του εργαστηρίου;

εγώ βρήκα αυτόν τον κώδικα

delay_3:   ldi outer, 46
outer_lp3:   ldi mid, 255
mid_lp3:   ldi inner,255
inner_lp3:   nop
      dec inner
      brne inner_lp3
      dec mid
      brne mid_lp3
      dec outer
      brne outer_lp3
      ret

για καθυστέρηση 3 δευτ. και θα τον τροποποιήσω για 5.

Κάτι ακόμα, η αφαίρεση πως γίνεται σε 16μπιτα; εχω σκασει τοση ωρα για το τίποτα


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Apostolof on November 28, 2017, 21:19:52 pm
http://www.bretmulvey.com/avrdelay.html 8)) 8))


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 28, 2017, 21:30:15 pm
http://www.bretmulvey.com/avrdelay.html 8)) 8))

Ω δυνατός!
Για την αφαίρεση κανά τιπ;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Apostolof on November 28, 2017, 22:00:40 pm
Για την αφαίρεση κανά τιπ;

Χρησιμοποίησε την εντολή SUB για να αφαιρέσεις τα LSB και μετά την SBC για τα MSB.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Oni on November 28, 2017, 22:14:17 pm
Καταρχάς ευχαριστούμε για τη βοήθεια!  :)
Έχω ένα κώδικα αλλά δε μπορώ να κάνω το simulation να βγάλει οτιδήποτε. (Atmel Studio 7.0)
Σίγουρα κάτι δεν έχω κάνει που θα πρεπε να κάνω γιατί ούτε και ο test κώδικας που δίνει στο ethmmy μου βγάζει κάτι.
Καμιά ιδέα;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 28, 2017, 22:40:36 pm
Καταρχάς ευχαριστούμε για τη βοήθεια!  :)
Έχω ένα κώδικα αλλά δε μπορώ να κάνω το simulation να βγάλει οτιδήποτε. (Atmel Studio 7.0)
Σίγουρα κάτι δεν έχω κάνει που θα πρεπε να κάνω γιατί ούτε και ο test κώδικας που δίνει στο ethmmy μου βγάζει κάτι.
Καμιά ιδέα;

Apostolof, είθε να κατακτήσεις τον παράδεισο, ή όποιο είδος νιρβάνας επιθυμείς τελοσπάντων!

Oni, προτείνω ακράδαντα να κατεβάσεις το 4.19, το 7 είναι πολύ προηγμένο χωρίς λόγο, ξεκίνα μ αυτό και για τα άαλα εδώ είμαστε  :)


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: tomas on November 28, 2017, 22:45:12 pm
Μηπως πρεπει να αποθηκευσουμε στην flash τα AEM σε μορφη ανα 2 ψηφια;
Αλλιως ο αριθμος ειναι πολυ μεγαλος....


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: chrysoulak on November 28, 2017, 22:52:05 pm
Αν το ΑΕΜ σου είναι (1821)10 = (0001 1000 0010 0001)BCD = (1821)16
κάνεις:
Code:
.EQU AEM_1_BCD = $1821 ; or
.EQU AEM_1_BCD = 0x1821

Ενώ το δυαδικό είναι (1821)10 = (71D)16
άρα
Code:
.EQU AEM_1_BIN = $71D ; or
.EQU AEM_1_BIN = 0x71D

Δε ξέρω αν είμαι σωστός...

Δηλαδή εσύ λες να κάνουμε την μετατροπή από πριν και απλώς να βάλουμε το αποτέλεσμα; Δεν πρέπει να το βρίσκει από μόνο του για κάθε ΑΕΜ;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: tomas on November 28, 2017, 22:57:49 pm
Ετσι πιστευω ...Τωρα αν εχει κανενας αλλος καμια ιδεα δεν ξερω ,ετσι λεω να το κανω


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 28, 2017, 23:48:08 pm
Ίσως αυτοί είχαν στο μυαλό τους για τους φοιτητές του τρέχοντος εξαμήνου που τα αεμ τους είναι σχετικά κοντινά ξερωγω. Αλίμονο σ εμάς που κοντεύουμε να κερδίσουμε εκπτωτική κάρτα "ευχαριστούμε για τα 10 χρόνια συνεργασίας"..
Αυτός ζητάει σε δυαδικό όμως..

Σ' εμένα πάντως λειτούργησε αυτό που είπε ο Αποστολοφ με το sub, sbc.
Απλά το πολύ πολύ να εμφανίζεται σε δύο τμήματα η διαφορά γαιτί πιάνει 10-11 μπιτ


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on November 29, 2017, 00:47:04 am
εγώ βρήκα αυτόν τον κώδικα
για καθυστέρηση 3 δευτ. και θα τον τροποποιήσω για 5.

Δεν κάθησα να υπολογίσω την καθυστέρηση εδώ αλλά αν το βρήκες έτοιμο πρόσεχε η καθυστέρηση που βγάζει αυτό το πρόγραμμα να είναι για κύκλο ρολογιού 4Mhz(κύκλος του προγράμματος).




Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on November 29, 2017, 00:49:28 am
Όσον αφορά το κομμάτι του κώδικα που λέει να κάνουμε μόνιτορ τους διακόπτες.
Πως μπορούμε να κάνουμε monitor 2 διακόπτες ταυτόχρονα;
Κάνουμε το πρόγραμμα σα να πατιέται αρχικά ο 6 και μετά ο 7 ας πούμε.
ή θεωρούμε πως κάποια στιγμή πατήθηκε ένας από τους 2;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 29, 2017, 00:49:38 am
Δεν κάθησα να υπολογίσω την καθυστέρηση εδώ αλλά αν το βρήκες έτοιμο πρόσεχε η καθυστέρηση που βγάζει αυτό το πρόγραμμα να είναι για κύκλο ρολογιού 4Mhz(κύκλος του προγράμματος).




Αν δεις πιο πανω ο κύριος Αποστολοφ έδωσε ένα λινκ για καθυστερηση. Θα χρησιμοποιήσω εκείνο, μοιάζει πιο legit  8))

Για ποιο σημείο μιλάς ακριβώς, γιατί δεν κατάλαβα.

εδιτ: αν αναφέρσεσαι στο σημείο που λέει "με την πίεση των sw6 KAI sw7", εγώ κατάλαβα ότι εννοεί ένα πάτημα τη φορά. Μ αυτήν τη λογική το υλοποίησα


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on November 29, 2017, 01:11:43 am

Ωχ,δε το άνοιξα το λινκ! Τι τελειότητα είναι αυτό; :D
Ναι για το σημείο με τους SW6 και SW7.
Γενικά μου δίνει να καταλάβω πως το πρόγραμμα μας πρέπει να λουπάρει συνέχεια και να βλέπει τι τιμή έχουν αυτοί οι 2 διακόπτες και ανάλογα να δίνει αποτέλεσμα.Αλλά μου φάινεται λίγο ακραίο αυτό και λίγο δύσκολο.Παίζει να το κάνω και εγώ με ένα πάτημα τη φορά,θενκς!


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on November 29, 2017, 01:13:44 am
Μηπως πρεπει να αποθηκευσουμε στην flash τα AEM σε μορφη ανα 2 ψηφια;
Αλλιως ο αριθμος ειναι πολυ μεγαλος....

Μπορείς να χρησιμοποιήσεις το directive .DW (αντί για το .EQU) που σου επιτρέπει να αποθηκέυεις 16-bit δεδομένα.
Αλλά νομίζω και ανά 2 ψηφία να το πας δεν αλλάζει κάτι...


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Apostolof on November 29, 2017, 01:42:29 am
Δηλαδή εσύ λες να κάνουμε την μετατροπή από πριν και απλώς να βάλουμε το αποτέλεσμα; Δεν πρέπει να το βρίσκει από μόνο του για κάθε ΑΕΜ;

Ναι εγώ την κάνω από πριν. Αυτό κατάλαβα ότι θέλει από την εκφώνηση.

Μηπως πρεπει να αποθηκευσουμε στην flash τα AEM σε μορφη ανα 2 ψηφια;
Αλλιως ο αριθμος ειναι πολυ μεγαλος....

Ο Ap.Mor. έχει δίκιο, το .DW είναι το σωστό. Δουλεύει και με το .EQU αλλά νομίζω πως είναι λάθος χρήση και όχι αυτό που ζητάει η άσκηση.
Εδώ έχει πληροφορίες για όλα τα Assembler directives:
http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_directives.html


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 29, 2017, 01:54:17 am
Κι εγώ με .dw την έκανα και μόλις τελείωσα σχετικά αισίως, οπότε αν μπορώ να βοηθήσω, είμαι διαθέσιμος.

Πιστεύω ότι εννοεί να  υπολογίζει μόνο του την αφαίρεση, ελπίζω δηλαδή γιατι θα νιώσω τέρμα μαλάκας που το ψαξα τόσες ώρες. >:(
Εγώ έκανα τη διαφορά 16μπιτη και εμφανίζεται με καθυστέρηση 5 σεκ όπως τα άλλα.

Αλήθεια, όταν εμφανίζετε τα BCD σας βγάζει κι εσάς πρώτα τα δύο τελευταία του αέμ και με΄τα τα 2 πρώτα; Γιατί σ εμένα αυτό γίνεται.

Και κάτι τελευταίο, ο βρόχος αναμονής για τα sw0-sw1 είναι καθυστέρηση; Τι εννοεί;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Argirios on November 29, 2017, 02:05:52 am
Θέλει να κάνουμε τίποτα άλλο πιο πριν για να δουλέψουνε όλα αυτά τα .DW .EQU?
Εμένα μου βγάζει "Error, illegal '=', use '==' for comparison" οταν το κάνω.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 29, 2017, 02:11:55 am
Θέλει να κάνουμε τίποτα άλλο πιο πριν για να δουλέψουνε όλα αυτά τα .DW .EQU?

Προσωπικά το .equ δεν το χρησιμοποίησα καθόλου και δεν ξέρω και τι είναι.
Όχι, απλά δηλώνεις τα 16μπιτα σου στο .dw και προχωράς παρακάτω.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on November 29, 2017, 02:26:03 am
Θέλει να κάνουμε τίποτα άλλο πιο πριν για να δουλέψουνε όλα αυτά τα .DW .EQU?
Εμένα μου βγάζει "Error, illegal '=', use '==' for comparison" οταν το κάνω.

ΣΤΗΝ .DB τα αποθηκέυεις με αυτή τη μορφή
AEM: .DW 0b0110111011111100   

Στην .EQU
.EQU ΑΕΜ=0b0110111011111100   

Πρόσεχε να έχεις γράψει στην αρχή .include "m16def.inc"

Επίσης σε εμένα η .EQU δε δουλεύει αν την γράψω για κάποιο λόγο μέσα στο πρόγραμμα παρά μόνον στην αρχή.
Δεν ξέρω γιατί συμβαίνει αυτό,ίσως κάτι με τη μνήμη.Βάλε τα όλα στην αρχή να είσαι σίγουρος


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on November 29, 2017, 02:30:01 am
Αλήθεια, όταν εμφανίζετε τα BCD σας βγάζει κι εσάς πρώτα τα δύο τελευταία του αέμ και με΄τα τα 2 πρώτα; Γιατί σ εμένα αυτό γίνεται.

Δες με τη .DW μήπως σου αποθηκεύτηκαν με άλλη σειρά στη μνήνη τα δεδομένα σου.
π.χ. το ΑΕΜ 8186
Αποθηκέυεται¨:
$000000   86  81    (Πρώτα το low byte και μετα τo high)


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Argirios on November 29, 2017, 03:35:33 am
Ευχαριστώ τελικά αυτό είχα λάθος!

Το εργαστήριο που γίνετε?


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Apostolof on November 29, 2017, 03:42:35 am
Ευχαριστώ τελικά αυτό είχα λάθος!

Το εργαστήριο που γίνετε?

Στην αίθουσα απέναντι από Βεργίνα.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Argirios on November 29, 2017, 03:43:32 am
Στην αίθουσα απέναντι από Βεργίνα.
;)


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 29, 2017, 15:28:53 pm
Δες με τη .DW μήπως σου αποθηκεύτηκαν με άλλη σειρά στη μνήνη τα δεδομένα σου.
π.χ. το ΑΕΜ 8186
Αποθηκέυεται¨:
$000000   86  81    (Πρώτα το low byte και μετα τo high)

Να σου πω, δεν έχω ιδέα και ούτε με νοιάζει! Αντέστρεψα τα ΑΕΜ στη δήλωση τους και κλαιν. Ετσι κ αλλιως σε BCD δε χρειάζονται για κάποια πράξη  :P


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: tomas on November 29, 2017, 20:27:16 pm
Καμια ιδεα για το πως να εμφανιζουμε τα πρωτα δυο ψηφια και μετα τα επομενα ενω εχουμε .dw ολοκληρο το Αεμ σε δυαδικη μορφη;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: boone on November 30, 2017, 02:03:04 am
Καμια ιδεα για το πως να εμφανιζουμε τα πρωτα δυο ψηφια και μετα τα επομενα ενω εχουμε .dw ολοκληρο το Αεμ σε δυαδικη μορφη;

Εμφανιζεις το ΑΕΜ σε ξωδικα BCD, οχι δυαδικο. Αρα στο 5647 εμφανιζεται πρωτα το 56 (01010110) κ μετα το 47 (00100111).


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: tomas on November 30, 2017, 16:48:28 pm
Ναι αλλα το θεμα μου ειναι πως να αποθηκευσω το αεμ.Το αποθηκευω σαν 2 οκταμπιτους η σαν 16μπιτ;
Αν το βαλω σαν 16 μπιτ πως θα δωσω στον R0 το 16μπιτο ενώ ο R0 ειναι οκταμπιτος;Λεω στον R0 γιατι εκει κολαει το lpm.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Argirios on November 30, 2017, 17:13:36 pm
Απ'ότι κατάλαβα όταν κάνεις "lpm Rd,Z" διαβάζεις τα δεδομένα από τη διεύθυνση μνήμης που δείχνει ο Ζ και τα αποθηκεύεις στον Rd, ο οποίος είναι 8bit. Ο Ζ είναι 16bit τα οποία δείχνουν μία διεύθυνση μνήμης που έχεις δώσει προηγουμένως, θα διαβάζεις μισό ΑΕΜ κάθε φορά με την lpm.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Apostolof on November 30, 2017, 17:25:39 pm
Εκεί που το αποθηκεύεις (flash νομίζω) η μνήμη είναι 16bitη. Αλλά οι registers είναι 8bitοι. Αν δεις στα παραδείγματα που έχει κάνει στο μάθημα το έχει μέσα. Γίνεται έτσι:
Code:
AEM_1_BCD: .DW 0x1821
; ... other code ...
LDI ZL, LOW(AEM_1_BCD)
LDI ZH, HIGH(AEM_1_BCD)
LSL ZL
ROL ZH
LPM rmp, Z+
MOV R5, rmp
LPM rmp, Z
MOV R6, rmp

Έτσι στον R5 έχεις το LSB (21) και στον R6 το MSB (18). Αν έχω λάθος ας διορθώσει κάποιος.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on December 01, 2017, 00:40:36 am


Δεν μπορώ να καταλάβω γιατί χρειάζεται να κάνουμε τα shifts.Παντως έτσι ναι δουλεύει!


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: dinis on December 04, 2017, 14:25:59 pm
Στην αφαίρεση των ΑΕΜ πως το κάνατε να βγει αρνητικός προσημασμένος ?  :???:


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Apostolof on December 08, 2017, 16:22:35 pm
Δεν μπορώ να καταλάβω γιατί χρειάζεται να κάνουμε τα shifts.Παντως έτσι ναι δουλεύει!

Έστω ότι έχεις στη διεύθυνση 258 το (1234)16:
   .ORG $0258
   LABEL: .DW 0x1234

Διεύθυνση ανα 16-bit (σε hex)      16-bit αριθμός (σε hex)
      257                              ....
      258                              3412
      259                              ....


Κάνοντας
   LDI ZL, LOW(LABEL)
   LDI ZH, HIGH(LABEL)


Παίρνεις στο ZL το 58 και στο ZH το 02.

Το LPM όμως παίρνει ένα μόνο byte από τη 16-bit programm memory και το βάζει σε ένα καταχωρητή. Άρα κάνει addressing ανα 8-bit και επομένως χρειάζεται διπλάσιο αριθμό διευθύνσεων για να κάνει map το ίδιο μέγεθος μνήμης:

Διεύθυνση ανα 8-bit (σε hex)      8-bit αριθμός (σε hex)
      515                           ....
      516                            34
      517                            12
      518                           ....


Για αυτό χρειάζεται να κάνεις ένα διπλασιασμό ώστε να πάρεις το σωστό byte.
   LSL ZL
   ROL ZH
   LPM R16, Z


Το οποίο σου δίνει στον R16 το (34)16. Επίσης φαίνεται αυτό που λέει και στα Instruction Set Manuals, ότι δηλαδή όταν το λιγότερο σημαντικό bit του Ζ είναι 0 (άρα ο Ζ είναι άρτιος) παίρνεις το LSB της 16-bit τιμής, ενώ όταν είναι 1 παίρνεις το MSB.

Beware, δε ξέρω αν τα λέω σωστά...


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on December 10, 2017, 23:00:45 pm
Ευχαριστώ πολύ,μια χαρά τα λες νομίζω!


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: christina_ on December 16, 2017, 14:54:57 pm
Στην 3η εργασία, εκεί που λέει " Μόλις τερματίσει το εκάστοτε πρόγραμμα, η προσομοίωση της χρονικής διάρκειας του κάθε τετραώρου ανάμεσα στα προγράμματα άρδευσης καθορίζεται σε 2 sec. Τα LED5 – LED4 παραμένουν ενεργοποιημένα για το διάστημα ανάμεσα σε 2 διαδοχικά ποτίσματα." έχετε καταλάβει τι πρέπει να εμφανίσουμε;;


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on December 16, 2017, 16:33:27 pm
Στην 3η εργασία, εκεί που λέει " Μόλις τερματίσει το εκάστοτε πρόγραμμα, η προσομοίωση της χρονικής διάρκειας του κάθε τετραώρου ανάμεσα στα προγράμματα άρδευσης καθορίζεται σε 2 sec. Τα LED5 – LED4 παραμένουν ενεργοποιημένα για το διάστημα ανάμεσα σε 2 διαδοχικά ποτίσματα." έχετε καταλάβει τι πρέπει να εμφανίσουμε;;
Ίσως εννοεί πως απλά τα LED4,5 μένουν ανοιχτά ενώ τα άλλα είναι σβηστά.Και μόλις τελιώσουν τα 2 sec κάνεις πάλι την ίδια απεικόνιση όπως πριν με τα LED4,5 σβηστά.


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: yolanda on December 16, 2017, 20:07:16 pm
Στην 3η εργασία, εκεί που λέει " Μόλις τερματίσει το εκάστοτε πρόγραμμα, η προσομοίωση της χρονικής διάρκειας του κάθε τετραώρου ανάμεσα στα προγράμματα άρδευσης καθορίζεται σε 2 sec. Τα LED5 – LED4 παραμένουν ενεργοποιημένα για το διάστημα ανάμεσα σε 2 διαδοχικά ποτίσματα." έχετε καταλάβει τι πρέπει να εμφανίσουμε;;

εγω καταλαβα οτι αναμεσα σε καθε προγραμμα θα εχεις ενα delay των 2 second στο οποιο θα αναβουν μονο τα LED4 και LED5 (για 2 δευτερολεπτα) και μετα θα σβηνουν και θα πηγαινεις στο επομενο προγραμμα


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: christina_ on December 17, 2017, 15:32:03 pm
εγω καταλαβα οτι αναμεσα σε καθε προγραμμα θα εχεις ενα delay των 2 second στο οποιο θα αναβουν μονο τα LED4 και LED5 (για 2 δευτερολεπτα) και μετα θα σβηνουν και θα πηγαινεις στο επομενο προγραμμα

Δεν καταλαβαίνω τι εννοείς στο επόμενο πρόγραμμα.. εννοείς το επόμενο διάστημα θερμοκρασίας ? Εκει που λέει πρόγραμμα πχ 8 θα εμφανίζω 2 φορές x 2 sec απλά τα LED4 -5 και μετά θα πάω στο επόμενο ?


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on December 18, 2017, 13:01:21 pm
Δεν καταλαβαίνω τι εννοείς στο επόμενο πρόγραμμα.. εννοείς το επόμενο διάστημα θερμοκρασίας ? Εκει που λέει πρόγραμμα πχ 8 θα εμφανίζω 2 φορές x 2 sec απλά τα LED4 -5 και μετά θα πάω στο επόμενο ?

Ανάλογα με τη θερμοκρασία που μετράς στην αρχή έχεις και έναν "αριθμό προγραμμάτων/ημέρα"(πρώτη στήλη του πίνακα).
Με βάση αυτόν τον αριθμό επαναλαμβάνεις το ίδιο πότισμα με delay ανάμεσα (Ωρες ανάμεσα στα προγράμματα άρδευσης/4)*2 όπου και κάνεις την εμφάνιση των LED 4-5 ,μόλις τελειώσει αυτή η διαδικασία πας να μετρήσεις νέο διάστημα θερμοκρασίας.





Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Argirios on December 20, 2017, 04:18:27 am
Όταν μας λέει θα περιμένει μέχρι ένα πλήκτρο να απελευθερωθεί τι ενοεί. Εγώ κατάλαβα ότι όταν πατάμε το πλήκτρο μπένουμε σε βρόχο μέχρι να απελευθερωθεί, υπάρχει πιο σωστός τρόπος?


Title: Re: [Συστ. Μικροϋπολογιστών] Εργαστήριο 2017-2018
Post by: Ap.Mor. on December 20, 2017, 11:15:17 am
Όταν μας λέει θα περιμένει μέχρι ένα πλήκτρο να απελευθερωθεί τι ενοεί. Εγώ κατάλαβα ότι όταν πατάμε το πλήκτρο μπένουμε σε βρόχο μέχρι να απελευθερωθεί, υπάρχει πιο σωστός τρόπος?
Αυτό κατάλαβα και εγώ!Δε νομίζω να εννοεί κάτι άλλο.