ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ Ανάπτυξη λογισμικού σε assembly για την απεικόνιση ελληνικών χαρακτήρων, στο 16Χ8 DOT MATRIX LED, του περιφερειακού EDS 8809-1, μέσω του αναπτυξιακού συστήματος BGC-8088. Βασίλαρου Δήμητρα (Α.Ε.Μ. 1597)
O αναπτυξιακός υπολογιστής BGC – 8088 πληκτρολόγιο 56 πλήκτρων σε διάταξη QWERTY με όλους τους εκτυπώσιμους χαρακτήρες και σύμβολα, καθώς και πλήκτρα λειτουργιών και ελέγχου. LCD οθόνη 2 γραμμών και 40 χαρακτήρων. Προαιρετικά μπορεί να δεχθεί κάρτα γραφικών HERCULES (κάρτα που προσφέρει ανάλυση 80 χαρακτήρων και 24 γραμμών με μονόχρωμη απεικόνιση με τη χρήση έτοιμων ρουτινών βιβλιοθήκης που είναι αποθηκευμένες στη μνήμη ROM ). υποδοχές ISA των 62 pins για σύνδεση καρτών επέκτασης ISA των 8 bit. μία σειριακή θύρα επικοινωνίας RS232-C.
O αναπτυξιακός υπολογιστής BGC – 8088 μία παράλληλη θύρα επικοινωνίας (πχ. για σύνδεση εκτυπωτή). έναν Προγραμματιζόμενο Χρονιστή (Prorammable Interval Timer – PIT) 8254 της INTEL που χρησιμοποιείται για παραγωγή σημάτων χρονισμού και ως μετρητής χρόνου (counter). ένα chip Προγραμματιζόμενης Διεπαφής Περιφερειακών (Programmable Peripheral Interface – PPI) 8255 της INTEL που παρέχει 3 θύρες Εισόδου / Εξόδου των 8-bit πλήρως προγραμματιζόμενες. έναν Προγραμματιζόμενο Ελεγκτή Διακοπών (Programmable Interrupt Controller – PIC) 8259Α της INTEL που παρέχει 8 γραμμές διακοπών interrupts. ειδική θύρα σύνδεσης εκπαιδευτικών πλακετών των 50 pin όπου συνδέονται όλες οι γραμμές του data bus, του address bus και οι γραμμές ελέγχου (control bus) του BGC-8088.
Ο επεξεργαστής 8088 Ο 8088 είναι ένας επεξεργαστής με εσωτερική αρχιτεκτονική των 16 bit (χρησιμοποιεί καταχωρητές των 16 bit) αλλά έχει Δίαυλο Δεδομένων (Data Bus) των 8 bit για επικοινωνία με την μνήμη και τις περιφερειακές συσκευές. Έχει Δίαυλο Διευθύνσεων (Address Bus) των 20 bit, οπότε και μπορεί να απευθυνθεί σε 220 = 1048576 = 1ΜΒ μνήμη (RAM και ROM). Διαθέτει 14 καταχωρητές των 16 bit για γενικές και ειδικές λειτουργίες, μερικοί από τους οποίους μπορούν να χωρισθούν σε δύο καταχωρητές των 8-bit. Διαθέτει 90 συνολικά εντολές γλώσσας μηχανής που έχουν 24 συνολικά διαφορετικούς τρόπους σύνταξης (addressing modes). Περιλαμβάνουν αριθμητικές πράξεις στα 8 ή 16 bit, με πρόσημο ή χωρίς, (περιλαμβ. πολ/σμος και διαίρεση).
Οι καταχωρητές Όνομα Καταχωρητή Δομή Χρήση 16bit 8 bit 8 bit AX AH AL Accumulator BX BH BL Base CX CH CL Counter DX DH DL Data CS Code Segment DS Data Segment SS Stack Segment ES Extra Segment SI Source Index DI Destination Index IP Instruction Pointer SP Stack Pointer BP Base Pointer FG Flag Register
ΤΟ ΚΥΚΛΩΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΘΥΡΩΝ 8255 Το κύκλωμα PPI 8255 (Programmable Peripheral Interface) είναι ένα ολοκληρωμένο κύκλωμα αρχικά κατασκευασμένο για χρήση από τον μικροεπεξεργαστή INTEL 8085 και ανήκει σε μια μεγάλη κατηγορία ολοκληρωμένων, γνωστή ως MCS-85. To 8255 αργότερα χρησιμοποιήθηκε και από μικροεπεξεργαστές όπως ο 8086 και 8088. Η χρησιμότητα αυτού του κυκλώματος είναι να συνδέει την κεντρική μονάδα εξεργασίας (CPU) με κάποια προγραμματιζόμενη συσκευή εισόδου/εξόδου μέσω 8-bit δίαυλου δεδομένων ο οποίος διαμοιράζεται σε 3 θύρες εισόδου/εξόδου, τις A, B, και C.
ΟΙ ΤΡΟΠΟΙ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ 8255 Mode 0: Βασική λειτουργία εισόδου/εξόδου. Aυτός ο τρόπος λειτουργίας μας παρέχει μια απλή λειτουργία Εισόδου/Εξόδου για κάθε μια από τις 3 θύρες, χωρίς σήματα χειραψίας. Οποιαδήποτε θύρα μπορεί να είναι είσοδος ή έξοδος. Mode 1: Είσοδος / Έξοδος με σήματα ελέγχου. Αυτός ο τρόπος λειτουργίας μας δίνει μια μέθοδο για μεταφορά δεδομένων από και προς μια θύρα με χρήση σημάτων χειραψίας (handshaking). Mode 2: Δι-κατευθυντήριος δίαυλος με σήματα «χειραψίας». Αυτή η λειτουργία μας παρέχει δυνατότητα επικοινωνίας με μια περιφερειακή συσκευή, μέσω ενός δι-κατευθυντήριου 8 bit διαύλου με χρήση σημάτων χειραψίας.
ΕΝΣΩΜΑΤΩΣΗ ΤΟΥ 8255 ΣΤΟ ΣΥΣΤΗΜΑ BGC-8088 ΠΑΡΑΔΕΙΓΜΑ ΕΙΣΟΔΟΥ ΠΑΡΑΔΕΙΓΜΑ ΕΞΟΔΟΥ MOV DX, FF13 MOV AL, 80 OUT DX, AL MOV DX, FF10 MOV AL, 55 MOV DX, FF13 MOV AL, 9Β OUT DX, AL MOV DX, FF10 IN AL, DX
ΤΟ ΠΕΡΙΦΕΡΕΙΑΚΟ EDS 8809-1 Το περιφερειακό EDS 8809-1 είναι μια εκπαιδευτική πλακέτα πολλαπλών χρήσεων. Συνδέεται με τον bgc – 8088 μέσω της ειδικής θύρας των 50 pin
Απεικόνιση γραμμάτων στο 16x8 Dot Matrix Led Τα LEDs έχουν την δυνατότητα είτε να είναι αναμμένα είτε σβηστά, ανάλογα αν παίρνουν την τιμή 1 ή 0. 18 3C 66 42 7E
ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΗΘΗΚΑΝ Emu8086 v4.08 Microengineer’s Data Transfer System v1.0
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ASSEMBLY Εντολές Μεταφοράς Δεδομένων (Data Transfer Commands) Π.χ. MOV (Μεταφέρει δεδομένα μεταξύ καταχωρητών και μνήμης ) Εντολές Αριθμητικών Πράξεων (Arithmetic Commands) Π.χ. INC (Αυξάνει καταχωρητές κατά 1 ) Εντολές Λογικών Πράξεων (Logic Commands) Π.χ. SHL (Μετακινεί τα bits αριστερά συμπληρώνοντας μηδενικά )
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ASSEMBLY Εντολές Χειρισμού Αλφαριθμητικών (String Manipulation Commands) Π.χ. MOVS (Αντιγράφει ένα String σε ένα άλλο byte προς byte ) Εντολές Ελέγχου Ροής Προγράμματος (Program Flow Control Commands) Π.χ. JMP (Μεταφέρει την εκτέλεση σε άλλη εντολή ) Εντολές Ελέγχου του Επεξεργαστή (Processor Control Commands) Π.χ. STC (Θέτει το κρατούμενο (=1) )
ΥΛΟΠΟΙΗΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Normal: Στο αρχείο αυτό περιλαμβάνεται ο κώδικας για την απεικόνιση απλών μηνυμάτων από τον χρήστη ελέγχοντας μόνο την ταχύτητα. Effect: Στο αρχείο αυτό περιλαμβάνεται ο κώδικας για την απεικόνιση μηνυμάτων με την χρήση εφέ. Ο χρήστης έχει τη δυνατότητα να επιλέξει εφέ καθώς και ταχύτητα εμφάνισης.
ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ