$29.99
2η ΟΜΑΔΑ ΑΣΚΗΣΕΩΝ
ΓΙΑ ΤΟ ΜΑΘΗΜΑ "Συστήματα Μικροϋπολογιστών"
Ασκήσεις προσομοίωσης (να υλοποιηθούν και να δοκιμαστούν στο πρόγραμμα προσομοίωσης του εκπαιδευτικού συστήματος μLAB)
1η ΑΣΚΗΣΗ: Σε ένα μΥ-Σ 8085 να γραφεί σε assembly που να επιτελεί τις παρακάτω λειτουργίες:
(α) Να αποθηκευθούν οι αριθμοί 0-255 με φθίνουσα σειρά στις διαδοχικές θέσεις της μνήμης με αρχή τη διεύθυνση 0900 Η (να απενεργοποιηθεί η προστασία μνήμης– εκτέλεση της εντολής IN 10Η). Οι αριθμοί να αποθηκευθούν όχι χειροκίνητα αλλά μέσω προγράμματος και να ελέγξετε αν έγινε η ζητούμενη λειτουργία σωστά.
(β) Υπολογίστε τον αριθμό των μηδενικών (το πλήθος των δυαδικών ψηφίων 0) των παραπάνω δεδομένων. Το αποτέλεσμα να αποθηκευθεί στον διπλό καταχωρητή DE.
(γ) Υπολογίστε το πλήθος από τους παραπάνω αριθμούς (0-255) που είναι μεταξύ των αριθμών 20H και 70H περιλαμβανομένων (20H xn 70H) και φυλάξτε το αποτέλεσμα στον καταχωρητή C.
Σημείωση: Τα αποτελέσματα για τα (β) και (γ) είναι από πριν γνωστά. Έτσι διευκολύνεται η επιβεβαίωση της ορθότητας των αντίστοιχων προγραμμάτων σας.
2η ΑΣΚΗΣΗ: Δίνεται ένα μΥ-Σ 8085 που ελέγχει τα LED της πόρτας εξόδου (3000 Hex) εξομοιώνοντας με αυτά τα φώτα ενός χώρου. Να γραφεί πρόγραμμα Assembly, που όταν το LSB της θύρας εισόδου dip switch (θέση μνήμης 2000 Hex) από OFF γίνει ON και ξανά OFF τότε να αναβοσβήνουν (σε ορατή συχνότητα) όλα τα LED της πόρτας εξόδου για περίπου 15 sec και μετά να σβήνουν. Αν όμως ενδιάμεσα ξαναενεργοποιηθεί το push-button (OFF - ON - OFF το LSB των dip switch) να ανανεώνεται ο χρόνος των 15 sec.
Να γίνει χρήση των ρουτινών χρονοκαθυστέρησης του εκπαιδευτικού συστήματος μLAB. Θεωρήστε ότι το σύστημα παρακολουθεί το LSB των dip switch με διακριτική ικανότητα όχι μεγαλύτερη του 1/5 sec.
3η ΑΣΚΗΣΗ: Να γραφούν σε assembly 8085 και να εκτελεστούν στο μLAB, 4 προγράμματα με τις εξής λειτουργίες:
i. Διαβάζει την πόρτα εισόδου των dip switches και με βάση το 1ο αριστερότερο ΟΝ, ανάβει το αντίστοιχης τάξης led και όλα τα υψηλότερης τάξης led μετά από αυτό (π.χ. για 0011 0100 => XXXOO OOOO, όπου O=σβηστό led, X=αναμμένο led). Το πρόγραμμα να είναι συνεχούς λειτουργίας.
ii. Να αναμένει το πάτημα του δεκαεξαδικού πληκτρολογίου και μόνο των αριθμών 1 έως 8. Για αριθμούς από 1- 4 να αναβοσβήνουν (με ορατό τρόπο π.χ. ½ sec) 4 φορές και τα 4 LSB led ενώ για αριθμούς από 5- 8 να αναβοσβήνουν επίσης 4 φορές και τα 4 MSB led. Να γίνει χρήση των ρουτινών χρονοκαθυστέρησης και της ρουτίνας KIND που υπάρχει στο παράρτημα 1 των σημειώσεων του μLAB. Το πρόγραμμα να είναι συνεχούς λειτουργίας.
iii. Με βάση την ύλη των σελ. 76 – 79 (των σημειώσεων του μLAB) να γίνει απευθείας ανάγνωση του πληκτρολογίου χωρίς τη χρήση της ρουτίνας KIND. Το αποτέλεσμα του κωδικού (βάσει του πίνακα 1 της σελ. 74) να εμφανίζεται στα 2 αριστερότερα 7-segment display με βάση τις ρουτίνες DCD (Display Character Decoder) και STDM (Store Display Message), σελ. 80-82.
Σημ.: Δεν χρειάζεται η εύρεση μόνο του κωδικού του πλήκτρου HDWR STEP λόγω της μη υλοποίησης της λειτουργίας του στον προσομοιωτή.
4η ΑΣΚΗΣΗ: Να εξομοιωθεί η λειτουργία ενός υποθετικού I.C. που περιλαμβάνει 5 πύλες όπως φαίνεται στο σχήμα. Τα bits εισόδου πρέπει να αντιστοιχούν ακριβώς όπως φαίνονται στο σχήμα με τα dip switches της πόρτας εισόδου 2000 Hex, και οι έξοδοι με τα LEDs που πρέπει να είναι τα τέσσερα LSB της πόρτας εξόδου 3000 Hex. Οι πύλες, όπως φαίνεται στο σχήμα, είναι 2 AND, 2 OR και 1 XOR. Η αντιστοιχία των led με τις λογικές στάθμες έχει ως εξής: αναμμένο led => ‘1’ και σβηστό led => ‘0’. Οι αδιάφορες θέσεις της εξόδου να έχουν μόνιμα σβηστά led.
Παρατήρηση: Τα προγράμματα να συνοδεύονται υποχρεωτικά στα κυριότερα σημεία τους από πολύ σύντομα σχόλια.
Θεωρητικές Ασκήσεις
5η ΑΣΚΗΣΗ: Να δοθεί η εσωτερική οργάνωση μια μνήμη SRAM 1284 bit αντίστοιχης με αυτήν που φαίνεται στο σχ. 3.2 (βλ. διαφάνειες). Να εξηγηθεί μέσω ενός παραδείγματος με ποιο τρόπο γίνεται η ανάγνωση και εγγραφή στη μνήμη αυτή (ποια σήματα ενεργοποιούνται, ποιοι διακόπτες και πύλες ανοίγουν ή κλείνουν κλπ.).
Θεωρήστε ότι πέραν τωνCS και WE ότι διαθέτει ξεχωριστό σήμα για την ανάγνωση RD .
6η ΑΣΚΗΣΗ: Να σχεδιασθεί ένα σύστημα μνήμης που να περιλαμβάνει χώρο μνήμης 6ΚBytes ROM ακολουθούμενη χωρίς κενό διευθύνσεων από 10ΚBytes RΑM. H ROM ξεκινά από τη διεύθυνση 0000Η και υλοποιείται χρησιμοποιώντας 1 ολοκληρωμένα μνήμης: ένα των 2Κ8 bit και ένα των 4Κ8 bit (2 ICs).
Θεωρήστε ότι οι ROMs έχουν δύο εισόδους ελέγχου CE (chip enable) και OE (output enable). H RΑM να υλοποιηθεί με χρήση μιας μνήμης 2Κ8 και μιας 8Κ8 SRAMs (2 ICs). Να κατασκευαστεί ο χάρτης μνήμης. Οι
μνήμες SRAMs έχουν δύο τις εισόδους ελέγχου CE (chip enable), OE (output enable) και επιπλέον πρόσθετη
γραμμή ελέγχου WE . Η αποκωδικοποίηση να γίνει με δύο τρόπους χρησιμοποιώντας: (α) ένα αποκωδικοποιητή 3:8 (74LS138) και λογικές πύλες, (β) μόνο λογικές πύλες.
Να σχεδιασθεί το λογικό διάγραμμα της μνήμης και η συνδεσμολογία με τα απαιτούμενα σήματα από το system bus του 8085.
7η ΑΣΚΗΣΗ: Σχεδιάστε ένα μΥ-Σ 8085 που να έχει τον εξής χάρτη μνήμης:
0000-0FFF Hex : ROM (4Kbytes)
1000-3FFF Hex : RAM (12Kbytes)
4000-6FFF Hex : ROM (12Kbytes)
7000 Hex : θύρα εισόδου (Memory map I/O)
70 Hex
: θύρα εξόδου (Standard I/O)
Παρέχονται τα εξής 3 ολοκληρωμένα κυκλώματα: ROM των 16KBytes, RAMs των 4Kbytes και των 8Kbytes, μΕ 8085, καταχωρητές και απομονωτές (απλής και διπλής κατεύθυνσης) των 8 bits, κωδικοποιητές 3 σε 8 και οι βασικές λογικές πύλες. Χρησιμοποιείστε μόνο όσα σας χρειάζονται και στην ποσότητα που θέλετε. Σχεδιάστε
τα κυκλώματα διασύνδεσης. Τα βασικά σήματα ελέγχου του 8085 είναι RD, WR, IO / M και ALE.