Συστήματα Μικροϋπολογιστών — Σεπτέμβριος 2019¶
Μεταγραφή από το αντίγραφο
Screenshot_2024-06-07_at_8.14.44_PM.png(θέμα Σεπτεμβρίου 2019).
Screenshot_2024-06-07_at_8.14.44_PM.png¶
Θέμα Σεπτεμβρίου 2019
Σε μια παράλληλη θύρα εισόδου/εξόδου ο καταχωρητής κατάστασης έχει την τιμή «B5» και οδηγεί μια συστοιχία από 8 leds, με τιμή διαύλου εξόδου «A7». Να γράψετε τις αντίστοιχες εντολές του προγράμματος για να διατηρήσετε μόνο την κατάσταση λειτουργίας όλων των leds στις θέσεις με περιττό αριθμό. Να αναλυθεί ο τρόπος εργασίας σας.
Λύσεις (🟡 community)
Κατάσταση: 🟡 community Πηγή: λυμένο αντίγραφο φωτογραφίας (φοιτητική λύση, χωρίς επιβεβαιωμένη πηγή)
Λύσεις — Σεπτέμβριος 2019¶
Screenshot_2024-06-07_at_8.14.44_PM.png¶
Θέμα Σεπτεμβρίου 2019
Σε μια παράλληλη θύρα εισόδου/εξόδου ο καταχωρητής κατάστασης έχει την τιμή «B5» και οδηγεί μια συστοιχία από 8 leds, με τιμή διαύλου εξόδου «A7». Να γράψετε τις αντίστοιχες εντολές του προγράμματος για να διατηρήσετε μόνο την κατάσταση λειτουργίας όλων των leds στις θέσεις με περιττό αριθμό. Να αναλυθεί ο τρόπος εργασίας σας.
Λύση
Ο καταχωρητής κατάστασης είναι ο DIRECTION = B5 = 10110101. Αυτό σημαίνει ότι οι ακροδέκτες «0», «2», «4», «5», «7» έχουν προγραμματιστεί ως έξοδοι και οι υπόλοιποι ως είσοδοι. Συμπεραίνουμε ότι οι ακροδέκτες του PORT με περιττό αριθμό που λειτουργούν ως έξοδοι, είναι οι ακροδέκτες «5», «7». Η τιμή διαύλου εξόδου αναφέρεται στον καταχωρητή DATA_OUT = A7 = 10100111.
IN A, (DATA_IN) ; A <- A7h
AND A0h ; A <- A AND A0h = A AND 10100000 (διατηρούμε τις τιμές των leds που υπάρχουν
; στους ακροδέκτες με περιττό αριθμό «5», «7» και σβήνουμε όλα τα υπόλοιπα.)
OUT (DATA_OUT), A ; DATA_OUT <- A0