ΑΤΕΙ ΣΕΡΡΩΝ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΣΕ ASSEMBLY ΓΙΑ ΤΟΝ ΕΛΕΓΧΟ ΤΩΝ 16x16 DOT MATRIX LED MODULES ΜΕΣΩ ΤΟΥ ΑΝΑΠΤΥΞΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ BGC – 8088 Πτυχιακή Εργασία του Γκίζη Δημήτριου (165) Επιβλέπων καθηγητής: Μαδεμλής Ιωάννης Σέρρες Φεβρουάριος 2009
ΣΚΟΠΟΣ ΤΗΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ Η μελέτη του περιφερειακού No.EDS 8807N και ο τρόπος διασύνδεσής του με το αναπτυξιακό σύστημα BGC-8088 μέσω της κάρτας No.EDS 8819 DY I/O Η δημιουργία λογισμικού σε γλώσσα προγραμματισμού Assembly για την προβολή και κίνηση φωτεινών μηνυμάτων
ΤΟ ΑΝΑΠΤΥΞΙΑΚΟ ΣΥΣΤΗΜΑ BGC-8088 Είναι βασισμένο στον επεξεργαστή INTEL 8088 διπλού χρονισμού Έχει 32K RAM και 16K ROM Πληκτρολόγιο 56 πλήκτρων Υποδοχές ISA Σειριακές και παράλληλες θύρες
ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΟΥ BGC-8088 Το αναπτυξιακό σύστημα BGC-8088 έχει 14 καταχωρητές των 16-bit Κάποιοι από αυτούς χρησιμοποιήθηκαν Καταχωρητής Δομή Χρήση ΑΧ AH AL Accumulator ΒΧ BH BL Base CX CH CL Counter DX DH DL Data DI Destination Index SI Source Index
ΠΡΟΓΡΑΜΜΑ MONITOR ΚΑΙ ΕΝΤΟΛΕΣ Το πρόγραμμα MONITOR είναι το λειτουργικό του BGC-8088 Μερικές από τις εντολές που χρησιμοποιήθηκαν ήταν: G: Για την εκτέλεση των προγραμμάτων L: Για την φόρτωση του κώδικα
ΤΟ ΠΕΡΙΦΕΡΕΙΑΚΟ No.EDS 8807N Είναι ένας πίνακας από LED που μπορεί να προβάλει φωτεινά μηνύματα Υπάρχουν δύο είδη 8WMS και 16WMS Μπορούμε να συνδέσουμε περισσότερα κομμάτια μεταξύ τους
ΤΟ ΠΕΡΙΦΕΡΕΙΑΚΟ No.EDS 8819DY I/O Τοποθετείται στην υποδοχή ISA του BGC-8088 Μέσω αυτού επιτυγχάνεται η σύνδεση του BGC-8088 και του περιφερειακού No.EDS 8807N
ΤΟ ΚΥΚΛΩΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΘΥΡΩΝ 8255 Προγραμματιζόμενη συσκευή εισόδου εξόδου Για 8-bit δίαυλο δεδομένων Διαχωρίζει τον δίαυλο δεδομένων σε τρεις θύρες
ΟΙ ΘΥΡΕΣ ΤΟΥ 8255 Θύρα Α: Με αυτή την θύρα επιλέγονται τα led που θα ανάψουν σε μία σειρά 8 led Θύρα Β: Με αυτή την θύρα επιλέγεται η κάθετη οκτάδα led που θα χρησιμοποιηθεί Θύρα C: Με αυτή την θύρα επιλέγεται ολόκληρη η σειρά που θα χρησιμοποιηθεί
ΤΡΟΠΟΙ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ 8255 Υπάρχουν τρεις τρόποι λειτουργίας του 8255: Mode 0 Mode 1 Mode 2 Στον προγραμματισμό του περιφερειακού No.EDS 8807Ν χρησιμοποιήθηκε το Mode 0 Το Mode 0 δίνει την ιδιότητα στο κύκλωμα 8255 να μπορεί να χρησιμοποιήσει κάθε θύρα ως είσοδο ή έξοδο
ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΔΙΑΣΥΝΔΕΣΕΙΣ Για να υλοποιηθεί το σύστημα συνδέθηκαν με τον εξής τρόπο τα περιφερειακά: Συνδέθηκε το αναπτυξιακό σύστημα BGC-8088 με τον υπολογιστή μέσω της σειριακής θύρας Στην υποδοχή ISA του BGC-8088 συνδέθηκε το περιφερειακό No.EDS 8819 I/O Στο περιφερειακό No.EDS 8819 I/O συνδέθηκε με καλωδιοταινία το Led Matrix Module για την προβολή μηνυμάτων
ΣΧΗΜΑ ΥΛΟΠΟΙΗΣΗΣ
ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΗΘΗΚΑΝ Emu8086 v2.57 Ο γνωστός εξομοιωτής από το εργαστήριο αρχιτεκτονικής για την συγγραφή και μεταγλώττιση του λογισμικού στην προγραμματιστική γλώσσα Assembly HexEdit Πρόγραμμα για την δημιουργία του αρχείου που περιέχει την μορφή των αγγλικών και των ελληνικών χαρακτήρων Microengineer’s Data Transfer System v1.0 Επίσης πρόγραμμα της Microport για την μεταφορά δεδομένων από τον υπολογιστή στο αναπτυξιακό σύστημα BGC-8088 και αντίστροφα
EMU8086 v2.57
MICROENGINEER’S DATA TRANSFER & HEXEDIT
Η ΥΠΟΡΟΥΤΙΝΑ DISPLAY display proc mov ah,04h again: mov var6,cl mov cx,03fh delayd: loop delayd mov cl,var6 mov dx,PORT_B mov al,00H out dx,al mov dx,PORT_A mov dx,PORT_A mov al,[bx] out dx,al mov dx,PORT_B mov al,cl out dx,al mov dx,PORT_C mov al,ah inc bx cmp ah,0ch jne again ret display endp
Η ΥΠΟΡΟΥΤΙΝΑ CLEAR clear proc mov dx,CONTROL_REGISTER ;control register mov al, 80h ;10000000 ENABLE, MODE 0, ALL PORTS OUT out dx,al mov dx,PORT_A ;write something PORT A mov al,00h mov dx,PORT_B ;write something PORT B mov al,08h mov dx,PORT_C ;write something PORT C mov cx,0ffffh delay: loop delay ret clear endp
Η ΥΠΟΡΟΥΤΙΝΑ RIGHT mov cl,40h call display mov cl,80h mov ah,02h int 81h cmp al,00h je maa3 dec di cmp di,00h je cont jne delay1 cont: add var1,08h mov cx,var5 cmp var1,cx je start jmp prog1 start: mov var1,1100h jmp prog1 maa3: jmp main ret right endp right proc mov dx,CONTROL_REGISTER ;control register mov al, 80h 10000000 ENABLE, MODE 0, ALL PORTS OUT out dx,al mov var1,1100h prog1: mov di,var2 delay1: mov bx,var1 mov cl,01h call display mov cl,02h mov cl,04h mov cl,08h mov cl,10h mov cl,20h
ΦΩΤΟΓΡΑΦΙΕΣ
ΦΩΤΟΓΡΑΦΙΕΣ
ΦΩΤΟΓΡΑΦΙΕΣ
VIDEO
ΠΑΡΟΥΣΙΑΣΗ LED MATRIX MODULE Ας δούμε πως δουλεύουν όλα αυτά στην πράξη
Σας ευχαριστώ όλους για την προσοχή σας ΤΕΛΟΣ ΠΑΡΟΥΣΙΑΣΗΣ Σας ευχαριστώ όλους για την προσοχή σας Ένα μεγάλο ευχαριστώ στον κ.Μαδεμλή Ιωάννη για την βοήθεια και την συμπαράσταση
ΤΕΛΟΣ