Μετάβαση στο περιεχόμενο

Συστήματα Μικροϋπολογιστών — Φεβρουάριος 2019

Μεταγραφή από το αντίγραφο Screenshot_2024-06-07_at_9.05.23_PM.png (θέμα Φεβρουαρίου 2019).

Screenshot_2024-06-07_at_9.05.23_PM.png

Θέμα Φεβρουαρίου 2019

Σε μια παράλληλη θύρα εισόδου/εξόδου ο καταχωρητής κατάστασης έχει την τιμή «A4» και οδηγεί μια συστοιχία από 8 leds, με τιμή διαύλου εξόδου «CB». Να γράψετε τις αντίστοιχες εντολές του προγράμματος για να διατηρήσετε μόνο την κατάσταση λειτουργίας όλων των leds στις θέσεις με περιττό αριθμό. Να αναλυθεί ο τρόπος εργασίας σας.

Επιπλέον πηγές χωρίς μεταγραφή εδώ (λύσεις ή διπλότυπες φωτογραφίες της ίδιας σελίδας): Screenshot_2024-06-13_at_12.29.36_PM.png

Λύσεις (🟡 community)

Κατάσταση: 🟡 community Πηγή: λυμένο αντίγραφο φωτογραφιών (φοιτητική λύση, χωρίς επιβεβαιωμένη πηγή)

Λύσεις — Φεβρουάριος 2019

Screenshot_2024-06-07_at_9.05.23_PM.png

Θέμα Φεβρουαρίου 2019

Σε μια παράλληλη θύρα εισόδου/εξόδου ο καταχωρητής κατάστασης έχει την τιμή «A4» και οδηγεί μια συστοιχία από 8 leds, με τιμή διαύλου εξόδου «CB». Να γράψετε τις αντίστοιχες εντολές του προγράμματος για να διατηρήσετε μόνο την κατάσταση λειτουργίας όλων των leds στις θέσεις με περιττό αριθμό. Να αναλυθεί ο τρόπος εργασίας σας.

Λύση

Ο καταχωρητής κατάστασης είναι ο DIRECTION = A4 = 10100100. Αυτό σημαίνει ότι οι ακροδέκτες «2», «5», «7» έχουν προγραμματιστεί ως έξοδοι και οι υπόλοιποι ως είσοδοι. Συμπεραίνουμε ότι οι ακροδέκτες του PORT με περιττό αριθμό που λειτουργούν ως έξοδοι, είναι οι ακροδέκτες «5», «7». Η τιμή διαύλου εξόδου αναφέρεται στον καταχωρητή DATA_OUT = CB = 11001011. Από εδώ συμπεραίνουμε ότι το led5 είναι σβηστό και το led7 είναι ανοικτό.

IN A, (DATA_IN)       ; A <- CBh
AND A0h               ; A <- A AND A0h = A AND 10100000 (διατηρούμε τις τιμές των leds που υπάρχουν
                      ; στους ακροδέκτες με περιττό αριθμό «5», «7» και σβήνουμε όλα τα υπόλοιπα.)
OUT (DATA_OUT), A     ; DATA_OUT <- A

Screenshot_2024-06-13_at_12.29.36_PM.png

Θέμα Φεβρουαρίου 2019

Σε μια παράλληλη θύρα εισόδου/εξόδου ο καταχωρητής κατάστασης έχει την τιμή «A4» και οδηγεί μια συστοιχία από 8 leds, με τιμή διαύλου εξόδου «CB». Να γράψετε τις αντίστοιχες εντολές του προγράμματος για να διατηρήσετε μόνο την κατάσταση λειτουργίας όλων των leds στις θέσεις με περιττό αριθμό. Να αναλυθεί ο τρόπος εργασίας σας.

Λύση

Ο καταχωρητής κατάστασης είναι ο DIRECTION = A4 = 10100100. Αυτό σημαίνει ότι οι ακροδέκτες «2», «5», «7» έχουν προγραμματιστεί ως έξοδοι και οι υπόλοιποι ως είσοδοι. Συμπεραίνουμε ότι οι ακροδέκτες του PORT με περιττό αριθμό που λειτουργούν ως έξοδοι, είναι οι ακροδέκτες «5», «7». Η τιμή διαύλου εξόδου αναφέρεται στον καταχωρητή DATA_OUT = CB = 11001011. Από εδώ συμπεραίνουμε ότι το led5 είναι σβηστό και το led7 είναι ανοικτό.

IN A, (DATA_IN)       ; A <- CBh
AND A0h               ; A <- A AND A0h = A AND 10100000 (διατηρούμε τις τιμές των leds που υπάρχουν
                      ; στους ακροδέκτες με περιττό αριθμό «5», «7» και σβήνουμε όλα τα υπόλοιπα.)
OUT (DATA_OUT), A     ; DATA_OUT <- A

✔ Επιβεβαίωσε · ✖ Βρήκα λάθος


✖ Βρήκα λάθος στη μεταγραφή