ΑΣΚΗΣΗ 5 ΑΣΚΗΣΗ 5. Πληκτρολόγιο Matrix. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Σχετικά έγγραφα
ΑΣΚΗΣΗ 4 ΑΣΚΗΣΗ 4. Ενδείκτης 7 τοµέων. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

ΑΣΚΗΣΗ 3 ΑΣΚΗΣΗ 3. Μηχανικοί ιακόπτες. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

ίοδοι Εκποµπής Φωτός

Αρχιτεκτονική Η/Υ-Εργαστήριο. Δημοσθένης Μπολανάκης. Ρήγας Γεώργιος

ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1. Συγγραφή. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

8051 Interrupt Ports. Name Alternate Function

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Καταχωρητής STATUS. IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1

Παραδείγματα Προγραμματισμού σε Assembly του TRN

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

10. Πληκτρολόγιο matrix 4x4

Οδηγώντας μια οθόνη υγρών κρυστάλλων Liquid Crystal Display

«ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014

Περιεχόµενα. I Βασικές Γνώσεις 1

Ορισµός της Στοίβας Περίληψη H λειτουργία της Στοίβας (γενικά, αλλά και στο QtSpim pim) Η χρησιµότητα της Στοίβας στους Μικροεπεξεργαστές Κλήση συνάρτ

10. Πληκτρολόγιο matrix 4x4

ΣΕΛΙ Α 1 ΚΕΦΑΛΑΙΟ 1 - ΑΡΧΙΚΑ

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 6 ο και 7 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

ΗΜΥ Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

1. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ Μ/Ε ΕΣΩΤΕΡΙΚΟΙ ΚΑΤΑΧΩΡΗΤΕΣ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

Παραδείγματα Assembly Μέρος Γ

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Προαιρετική Εργασία στο μάθημα Σχεδίαση Γλωσσών και Μεταγλωττιστών

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ.

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Επιμέλεια: ρ. Ν. Σγούρος ρ. Ι. Κονταξάκης

ΠΑΡΑ ΕΙΓΜΑ 8 ΓΕΝΝΗΤΡΙΑ ΨΕΥ ΟΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ (PSEUDORANDOM GENERATOR) 8.0 ΓΕΝΙΚΑ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Αυτή η άσκηση έχει σαν σκοπό, να δείξει τον τρόπο με τον οποίο τίθεται σε λειτουργία η οθόνη LCD του αναπτυξιακού.

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

Συστήματα Μικροϋπολογιστών

ιαχείριση Εντατικής Λιανικής & Ενηµερώσεις Η.Φ.Τ.Μ

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

2. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΩΝ ΘΥΡΩΝ ΕΙΣΟ ΟΥ/ΕΞΟ ΟΥ ΤΟΥ PIC16F877-ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ

ΠΙΣΤΟΠΟΙΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΙΟΤΗΤΑΣ ISO 9001 :

ΠΡΟΓΡΑΜΜΑ ΕΞΟΜΟΙΩΣΗΣ (Emulator) 6502

Συστήματα Μικροϋπολογιστών

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας.

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης]

ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Microsoft WINDOWS (95-98-NT-2000-XP)

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

; Οι HL δείχνουν την επόµενη θέση µνήµης MVI A, 38H CMP H JNZ DO_FLMEM ; POP B. ; Ανάκτηση καταχωρητών απο το σωρό.

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ

Συναρτήσεις-Διαδικασίες

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος Πληροφορική Ι

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής. Εισαγωγή στους Η/Υ

Οδηγίες χειρισµού. Οδηγίες χρήσεως driver B

Εφαρµογές Υπολογιστών Βασίλης Μπλιάµπλιας Γεωργία Τσούτσου Γιώργος Συνάπαλος

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ

Συσκευές δείκτη και πληκτρολόγιο Οδηγός χρήσης

ΚΥΡΙΑ ΜΕΡΗ ΕΝΟΣ ΕΣΩΤΕΡΙΚA ΜΕΡΗ. Κεντρική µονάδα επεξεργασίας (CPU - Central Processing Unit)

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

Xerox WorkCentre 5845 / 5855 / 5865 / 5875 / 5890 Πίνακας ελέγχου

ΠΕΡΙΕΧΟΜΕΝΑ 1. Υπορουτίνες Μαθηµατικών Πράξεων 1.1. Προσηµασµένοι και απροσήµαστοι αριθµοί 1.2. Μετατροπές προσηµασµένων και απροσήµαστων αριθµών

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής. Εισαγωγή στους Η/Υ

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

HX-TEL 999. ΗΧ-TEL999 rev1_1

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051

ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΩΡΙΑ

Εγχειρίδιο χρήσης του Άβακα

1.Γιατί δεν φορτίζεται η μπαταρία; Τι να κάνω;

Ο ΗΓΙΕΣ ΧΡΗΣΤΗ AR-7664

να ακολουθήσουμε Έναρξη Όλα τα Προγράμματα και να ενεργοποιήσουμε την επιλογή Microsoft Word.

Εισαγωγή. Αντίθεση χρωµάτων και φωτεινότητα. Σειριακές θύρες

Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΥΝΕΡΓΑΣΤΗΚΑΝ ΡΟΚΑ ΑΦΡΟΔΙΤΗ ΣΩΤΗΡΑΚΟΥ ΣΤΑΜΑΤΙΑ ΦΕΒΡΟΥΑΡΙΟΣ 2006

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Συμβολική Γλώσσα στον ΑΒΑΚΑ

ΣΥΣΤΗΜΑ ΣΥΝΑΓΕΡΜΟΥ ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

Xerox WorkCentre 3655 Πολυλειτουργικός εκτυπωτής Πίνακας ελέγχου

Θέματα Μεταγλωττιστών

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΙΙ Εργαστήριο 2 ο ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ- ΨΕΥΔΟΕΝΤΟΛΕΣ ΜΑΚΡΟΕΝΤΟΛΕΣ- ΔΙΑΔΙΚΑΣΙΕΣ (ΕΙΣΑΓΩΓΗ)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Transcript:

ΑΣΚΗΣΗ 5 Πληκτρολόγιο Matrix

Σκοπός της άσκησης Είδη πληκτρολογίων Ανάλυση πληκτρολογίου τύπου Matrix Αλγόριθµος ανάγνωσης πατηµένου πλήκτρου Εφαρµογή προηγούµενων γνώσεων 1. Εισαγωγή & εξαγωγή δεδοµένων 2. ηµιουργία πίνακα & άντληση δεδοµένων από πίνακα 3. ηµιουργία Delay to Debounce

Πρόβληµα Στη θύρα Α του µε είναι συνδεδεµένο ένα πληκτρολόγιο τύπου Matrix. Να γραφεί πρόγραµµα που θα ελέγχει αν πατήθηκε κάποιο πλήκτρο και θα εµφανίζει σε έναν ενδείκτη 7 τοµέων, το χαρακτήρα που είναι αποτυπωµένος στο εκάστοτε πατηµένο πλήκτρο. Η εµφάνιση στον ενδείκτη να γίνεται για όσο χρόνο παραµένει το εκάστοτε πλήκτρο πατηµένο.

Είδη Πληκτρολογίων 1 2 3 A B 6 5 4 7 8 9 C D # 0 * COM * 0 5 # 6 D 7 1 8 2 9 3 C 4 B A A B C D 3 6 9 # 2 5 8 0 1 4 7 * COM Ανεξάρτητων πλήκτρων

Είδη Πληκτρολογίων 1 2 3 A 4 5 6 B 7 8 9 C * 0 # D 1 2 3 A 4 5 6 B 7 8 9 C * 0 # D R1 R2 R3 R4 C1 C2 C3 C4 R1 R2 R3 R4 C1 C2 C3 C4 ιάταξη πίνακα

Κύκλωµα άσκησης Ra Rb Rc Rd Re Rf Rg 470R 470R 470R 470R 470R 470R 470R Gnd Rb 470R MCU PTB6 PTB5 PTB4 PTB3 PTB2 PTB1 PTB0 PTD5 A G D B F C E DP PTA6 PTA5 PTA4 PTA3 PTA2 PTA1 PTA0 PTA7 VDD R R R R

Έλεγχος πατηµένου πλήκτρου VDD PTA3= 1 PTA2= 1 PTA1= 1 PTA0= 1 PTA4= 0 PTA5= 0 PTA6= 0 MCU PTA7= 0

Έλεγχος πατηµένου πλήκτρου VDD PTA3= 1 PTA2= 0 PTA1= 1 PTA0= 1 PTA4= 0 PTA5= 0 PTA6= 0 MCU PTA7= 0

Πρόγραµµα CHECK_KEYBOARD CLR PORTA.DATA LDA PORTA.DATA CMPA #$0F BEQ CHECK_KEYBOARD ΣΑΡΩΣΗ

Σάρωση πληκτρολογίου VDD?= 0 PTA3= 1 PTA2= 1 PTA1= 1 PTA0= 1 PTA4= 1 PTA5= 1 PTA6= 1 MCU PTA7= 0

Σάρωση πληκτρολογίου VDD?= 0 PTA3= 1 PTA2= 0 PTA1= 1 PTA0= 1 PTA4= 1 PTA5= 1 PTA6= 0 MCU PTA7= 1

Σάρωση πληκτρολογίου VDD?= 0 PTA3= 1 PTA2= 1 PTA1= 1 PTA0= 1 PTA4= 1 PTA5= 0 PTA6= 1 MCU PTA7= 1

Σάρωση πληκτρολογίου VDD?= 0 PTA3= 1 PTA2= 1 PTA1= 1 PTA0= 1 PTA4= 0 PTA5= 1 PTA6= 1 MCU PTA7= 1

Σάρωση πληκτρολογίου VDD PTA3= 1?= 0 PTA2= 1 PTA1= 1 PTA0= 1 PTA4= 1 PTA5= 1 PTA6= 1 MCU PTA7= 0

Σάρωση πληκτρολογίου VDD PTA3= 1?= 0 PTA2= 0 PTA1= 1 PTA0= 1 PTA4= 1 PTA5= 1 PTA6= 0 MCU PTA7= 1

Πρόγραµµα KEY_TABLE FCB %01110111 FCB %10110111 FCB %11010111 FCB %11100111 FCB %01111011 FCB %10111011 FCB %11011011 FCB %11101011 FCB %01111101 FCB %10111101 FCB %11011101 FCB %11101101 FCB %01111110 FCB %10111110 FCB %11011110 FCB %11101110

CLRX Πρόγραµµα SCAN_KEYBOARD LDA KEY_TABLE,X STA PORTA.DATA CMPA PORTA.DATA BEQ KEY_FOUND INCX CMPX #!15 BLS SCAN_KEYBOARD JMP CHECK_KEYBOARD

Σάρωση πληκτρολογίου VDD PTA3= 1?= 0 PTA2= 0 PTA1= 1 PTA0= 1 PTA4= 1 PTA5= 1 PTA6= 0 MCU PTA7= 1

Πρόγραµµα KEY_FOUND UNTILKEYRELEASE LDA DISPLAY_KEY,X STA PORTB.DATA LDA KEY_TABLE,X CMP PORTA.DATA BEQ UNTILKEYRELEASE CLR PORTB.DATA JMP CHECK_KEYBOARD

Αποφυγή αναπηδήσεων CHECK_KEYBOARD CLR PORTA.DATA LDA PORTA.DATA CMPA #$0F BEQ CHECK_KEYBOARD JSR DEBOUNCE.DELAY KEY_FOUND UNTILKEYRELEASE LDA DISPLAY_KEY,X STA PORTB.DATA LDA KEY_TABLE,X CMP PORTA.DATA BEQ UNTILKEYRELEASE JSR DEBOUNCE.DELAY CLR PORTB.DATA JMP CHECK_KEYBOARD

Ηεντολή PSHX Εντολή PSHX (PuSH X onto stack) Σύνταξη PSHX Χωρίς όρισµα Αποτέλεσµα Γρήγορη αποθήκευση του καταχωρητή Χ στο σωρό (Η µνήµη RAM ως LIFO)

Ηεντολή PULX Εντολή PULX (PULL X from stack) Σύνταξη PULX Χωρίς όρισµα Αποτέλεσµα Ανάκτηση του καταχωρητή Χ από το σωρό (Η µνήµη RAM ως LIFO)

Ηεντολή PSHA Εντολή PSHA (PuSH A onto stack) Σύνταξη PSHA Χωρίς όρισµα Αποτέλεσµα Γρήγορη αποθήκευση του καταχωρητή A στο σωρό (Η µνήµη RAM ως LIFO)

Ηεντολή PULA Εντολή PULA (PULL A from stack) Σύνταξη PULA Χωρίς όρισµα Αποτέλεσµα Ανάκτηση του καταχωρητή A από το σωρό (Η µνήµη RAM ως LIFO)

Debounce Delay DEBOUNCE.DELAY PSHX LDA #!250 LOAD.X LDX #!199 DECREASE.X NOP NOP DBNZX DECREASE.X DBNZA LOAD.X PULX RTS

ιάγραµµα ροής ΑΡΧΗ PTD5 = 1 PTD5: Έξοδος PTB[0..6] = 0 PTB[0..6]: ΕΞΟ ΟΙ ΟΧΙ Σάρωση του Matrix Βρέθηκε το Πλήκτρο ΟΧΙ PTA[0..3] PullUpEn PTA[0..3]: Είσοδοι PTA[4..7]: Έξοδοι Πατήθηκε Πλήκτρο ΟΧΙ Εµφάνιση του πλήκτρου στον ενδείκτη Ελευθερώθηκε το πλήκτρο DELAY 50mSEC DELAY 50mSEC Σβήσιµο ενδείκτη

Πρόγραµµα PORTA.DATA EQU $0000 PORTB.DATA EQU $0001 PORTD.DATA EQU $0003 PORTA.DIRECTION EQU $0004 PORTB.DIRECTION EQU $0005 PORTD.DIRECTION EQU $0007 PORTA.PullUpEn EQU $000D ROM.START EQU $8000 RESET.VECTOR EQU $FFFE

Πρόγραµµα InitPorts ORG ROM.START BSET 0,$001F MOV #$1F,$003C BSET 5,PORTD.DATA BSET 5,PORTD.DIRECTION CLR PORTB.DATA MOV #%01111111,PORTB.DIRECTION MOV #%00001111,PORTA.PullUpEn MOV #%11110000,PORTA.DIRECTION

Πρόγραµµα CHECK_KEYBOARD CLR PORTA.DATA LDA PORTA.DATA CMPA #$0F BEQ CHECK_KEYBOARD JSR DEBOUNCE.DELAY CLRX SCAN_KEYBOARD LDA KEY_TABLE,X STA PORTA.DATA CMPA PORTA.DATA BEQ KEY_FOUND INCX CMPX #!15 BLS SCAN_KEYBOARD JMP CHECK_KEYBOARD

KEY_FOUND Πρόγραµµα LDA DISPLAY_KEY,X STA PORTB.DATA UNTILKEYRELEASE LDA KEY_TABLE,X CMP PORTA.DATA BEQ UNTILKEYRELEASE JSR DEBOUNCE.DELAY CLR PORTB.DATA JMP CHECK_KEYBOARD

Πρόγραµµα DEBOUNCE.DELAY PSHX LDA #!250 LOAD.X LDX #!199 DECREASE.X NOP NOP DBNZX DECREASE.X DBNZA LOAD.X PULX RTS

KEY_TABLE FCB %01110111 FCB %10110111 FCB %11010111 FCB %11100111 FCB %01111011 FCB %10111011 FCB %11011011 FCB %11101011 FCB %01111101 FCB %10111101 FCB %11011101 FCB %11101101 FCB %01111110 FCB %10111110 FCB %11011110 FCB %11101110 Πρόγραµµα

DISPLAY_KEY FCB %00110000 FCB %01101101 FCB %01111001 FCB %01110111 FCB %00110011 FCB %01011011 FCB %01011111 FCB %00011111 FCB %01110000 FCB %01111111 FCB %01111011 FCB %01001110 FCB %01001111 FCB %01111110 FCB %01000111 FCB %00111101 Πρόγραµµα

Πρόγραµµα ORG FDB RESET.VECTOR ROM.START

Ανακεφαλαίωση Είσοδο δεδοµένων από Matrix ιασύνδεση & Σάρωση Matrix 1. Ανίχνευση πατηµένου πλήκτρου 2. Εύρεσης πλήκτρου Αποφυγή αναπηδήσεων Αποθήκευση στο σωρό Εντολές PSHX, PULX Έξοδο δεδοµένων σε ενδείκτη 7 τοµέων

Εργασία στους Η/Υ Να τροποποιηθεί το πρόγραµµα άσκησης έτσι ώστε να µένει η τελευταία ένδειξη στον ενδείκτη 7 τοµέων και µετά την αποδέσµεύση του πλήκτρου.

Εργασία για το σπίτι Να γραφεί πρόγραµµα κατά το οποίο αρχικά το πληκτρολόγιο Matrix θα είναι κλειδωµένο. Όταν το πληκτρολόγιο είναι κλειδωµένο εµφανίζεται στον ενδείκτη ο χαρακτήρας L όταν πατιέται κάποιο πλήκτρο και για όση ώρα είναι το πλήκτρο πατηµένο. Αν πατηθεί το πλήκτρο του αστερίσκου *, τότε θα ξεκλειδώνει ακαριαία το πληκτρολόγιο και θα εµφανίζεται στον ενδείκτη ο χαρακτήρας που είναι αποτυπωµένος στο εκάστοτε πλήκτρο που πατιέται.