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

Σχετικά έγγραφα
10. Πληκτρολόγιο matrix 4x4

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

2. Δήλωση μεταβλητών. #include <avr/io.h> #include <util/delay.h> unsigned char i=0xa0; register unsigned char i asm("r3");

1. Περιβάλλον εργασίας παραδείγματα σύνταξης

15. Seven Segment Display. Πολυπλεγμένη λειτουργία

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2

12. Διακοπές Interrupts (IRQ)

14. Timers/Counters prescaler Timer/Counter0 2 Timer/Counter0 Timer/Counter2 Timer/Counter1 Timer/Counter0 Timer/Counter1 Timer/Counter2

γρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα bit μπορούμε να χρησιμοποιήσουμε την εντολή:

8051 Interrupt Ports. Name Alternate Function

Keyboard. Ασσιούρας Ιωάννης 5593 Βούκας Ιωάννης 5001 Πρωτονοτάριος Ιωάννης 6072

Διαδικασιακός Προγραμματισμός

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ

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

Εφαρμογές Σειριακής Επικοινωνίας

Copyright 2017 HP Development Company, L.P.

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

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

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

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

Οδηγίες χρήσεως για τον ηλεκτρονικό συνδυασμό Selo-B της SECU

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

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

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

Ανάπτυξη και Σχεδίαση Λογισμικού

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N

ΠΑΡΑΡΤΗΜΑ IV. ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΡΑΡΤΗΜΑ IV Ασκήσεις για το Robolab

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ. Τέλος όταν εισάγετε ένας σωστός συνδυασμός η ένδειξη του display να μηδενίζετε.

ΤΗΛΕΦΩΝΗΤΗΣ AG-GD20 GSM & PSTN

Α1. Να χαρακτηρίσετε καθεμία από τις παρακάτω προτάσεις με τη λέξη Σωστή ή με τη λέξη Λάθος.

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΠΕΜΠΤΗ 21 ΙΟΥΝΙΟΥ 2018

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Οδηγίες EQL Desktop (rev ) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Κεφάλαιο 3: Λειτουργικά Συστήματα

1. Καταχωρεί σ ένα πίνακα ΠΟΛΕΙΣ[10] τις 10 πόλεις της Ελλάδας.

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

UTECO ABEE ΒΙΟΜΗΧΑΝΙΚΟΣ & ΝΑΥΤΙΛΙΑΚΟΣ ΑΥΤΟΜΑΤΙΣΜΟΣ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Υπολογίστε τη Vout. Aπ: Άγει η κάτω δίοδος:

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Διαδικασιακός Προγραμματισμός

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

COBRA MRF 300BT MRF 300BT 1. Άγκιστρο στερέωσης. Φωτισµός οθόνηςκλείδωµα. λειτουργιών. Κουµπί ενεργοποίησης. Επιλογή τρόπου λειτουργίας Μικρόφωνο

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΠΑΝΕΛ ΕΝΤΟΛΩΝ 1. Μικρόφωνο εγγραφής μηνύματος ΣΗΜΕΙΩΣΕΙΣ ΚΑΤΑ ΤΗΝ ΛΕΙΤΟΥΡΓΙΑ

ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO

Κεφάλαιο 3: Λειτουργικά Συστήµατα

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

Παράρτημα Φύλλο εργασίας 1: Δραστηριότητα 1 : Να αναβοσβήνει η φωτοδίοδος ανά ένα δευτερόλεπτο. Μέλη της ομάδας :

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΠΕΝΤΕ (5)

Button & MotionSensor

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΥΠΟΣΥΣΤΗΜΑΤΟΣ ΑΓΡΟΠΕΡΙΒΑΛΛΟΝΤΙΚΩΝ ΕΝΙΣΧΥΣΕΩΝ. Μέτρο 2.2.1

scanf() scanf() stdin scanf() printf() int float double %lf float

Ψηφιακά Συστήματα. 8. Καταχωρητές

Ανάλυση Ηλεκτρικών Κυκλωμάτων

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

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

TouchPad και πληκτρολόγιο

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

Οδηγίες χρήσης. Πληκτρολόγιο Κωδικού

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Αρχιτεκτονική Υπολογιστών

TouchPad και πληκτρολόγιο

KARAGIANNIS-SECURITY.GR

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

Οδηγίες χρήσης για το τηλεφωνικό κέντρο: TC-206D

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

ΤΗΛΕΦΩΝΙΚΗ ΣΥΣΚΕΥΗ SNOM 300 έκδοση ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΙΣΤΟΣΕΛΙΔΑΣ

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Δομές ελέγχου ροής προγράμματος

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη

Η γλώσσα προγραμματισμού C

Εισαγωγή στον Προγραμματισμό

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΗΣ ΑΡΔΕΥΣΗΣ ΓΙΑ ΟΙΚΙΑΚΕΣ & ΕΛΑΦΡΙΕΣ ΔΗΜΟΣΙΕΣ ΕΦΑΡΜΟΓΕΣ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Οδηγίες Προγραμματισμού- Λειτουργίας για το Ολοκληρωμένο WiFi Σύστημα Συναγερμού YL- WΜ2FX

! ΘΕΜΑ A Α2. ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΛΥΚΕΙΟΥ. Ονοµατεπώνυµο:

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

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

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009

Οδηγίες Προγραμματισμού- Λειτουργίας για το Ολοκληρωμένο WiFi Σύστημα Συναγερμού YL- WP1 Προετοιμασία- Εκκίνηση συσκευής

Transcript:

10. Πληκτρολόγιο matrix 4x4 Το πληκτρολόγιο matrix 4x4 αποτελείται από 16 πλήκτρα διακόπτες τα οποία είναι συνδεδεμένα μεταξύ τους ανά 4 σε τέτοια διάταξη ώστε, με το ένα άκρο τους να σχηματίζουν 4 σειρές και με το άλλο 4 στήλες. Στο θεωρητικό κύκλωμα του σχήματος παρουσιάζεται η σύνδεση ενός πληκτρολογίου matrix 4x4 στο port ενός μικροελεγκτή. Οι 4 σειρές συνδέονται στη μισή θύρα του μικροελεγκτή P0 P3, η οποία λειτουργεί ως έξοδος με αρχική κατάσταση 1111 και οι 4 στήλες στην άλλη μισή θύρα P4 P7, η οποία λειτουργεί ως είσοδος με ενεργοποιημένες τις pull up αντιστάσεις σε κάθε pin. Οι έξοδοι P0 έως P3 περνούν μια μια διαδοχικά σε λογικό 0 για ένα χρονικό διάστημα της τάξεως ms σαρώνοντας τις σειρές. Οι είσοδοι P4 P7 ανιχνεύουν τη χαμηλή λογική σε περίπτωση που πατηθεί κάποιο πλήκτρο από τις στήλες. Ο συνδιασμός στήλης σειράς καθορίζει το πλήκτρο που έχει πατηθεί. Αν για παράδειγμα πατηθεί το πλήκτρο 6, η είσοδος P6 θα δεχτεί λογικό 0 όταν η έξοδος P1 περάσει σε λογικό 0. O καταχωρητής κατάστασης της θύρας τη στιγμή εκείνη θα γίνει 10111101. Το byte αυτό αντιστοιχίζεται στη συνέχεια στο νούμερο 6 ή σε κάποια άλλη λειτουργία. Η αντιστοίχιση μπορεί να γίνει με μια εντολή switch. 1

Επειδή κατά το κλείσιμο και κατά το άνοιγμα της επαφής του διακόπτη δημιουργούνται παρασιτικοί παλμοί, εισάγονται κάποιες καθυστερήσεις από το λογισμικό, ώστε να αποφεύγονται λανθασμένες πληροφορίες. Οι δίοδοι D1 έως D4 είναι απαραίτητες για προστασία από βραχυκύκλωμα σε περίπτωση που πατηθούν ταυτόχρονα δύο πλήκτρα που βρίσκονται στην ίδια στήλη. Αν συμβεί αυτό η έξοδος που είναι σε λογικό 0 θα κλείσει κύκλωμα με την άλλη έξοδο που είναι σε λογικό 1. Η δίοδος τότε που βρίσκεται στη δεύτερη έξοδο πολώνεται ανάστροφα και προστατεύεται το κύκλωμα. Στη συνέχεια παρουσιάζεται ένα παράδειγμα κώδικα σε γλώσσα C που μπορεί να χρησιμοποιηθεί για αναγνώριση πληκτρολογίου: #include <avr/io.h> #include <util/delay.h> uint8_t line; uint8_t data; void Keyb (void) line = 1; for (uint8_t i1 = 0; i1 < 4; i1++) PORTA = ~line; line = line << 1; //_delay_ms(1); while (PINA < 0b11101111) _delay_ms (5); switch (PINA) case 0b11101110: data = 1; while (PINA == 0b11101110); case 0b11101101: data = 4; while (PINA == 0b11101101); case 0b11101011: data = 7; while (PINA == 0b11101011); case 0b11100111: data = 14; while (PINA == 0b11100111); case 0b11011110: data = 2; while (PINA == 0b11011110); case 0b11011101: //Keyboard rutine //Button 1 pressed //Button still pressed //Button 4 pressed //Button 7 pressed //Button * pressed //Button 2 pressed //Button 5 pressed 2

data = 5; while (PINA == 0b11011101); case 0b11011011: data = 8; while (PINA == 0b11011011); //Button 8 pressed case 0b11010111: data = 0; while (PINA == 0b11010111); //Button 0 pressed case 0b10111110: data = 3; while (PINA == 0b10111110); //Button 3 pressed case 0b10111101: data = 6; while (PINA == 0b10111101); //Button 6 pressed case 0b10111011: data = 9; while (PINA == 0b10111011); //Button 9 pressed case 0b10110111: data = 15; while (PINA == 0b10110111); //Button # pressed case 0b01111110: data = 10; while (PINA == 0b01111110); //Button A pressed case 0b01111101: data = 11; while (PINA == 0b01111101); //Button B pressed case 0b01111011: data = 12; while (PINA == 0b01111011); //Button C pressed case 0b01110111: data = 13; while (PINA == 0b01110111); //Button D pressed int main(void) DDRA = 0b00001111; PORTA = 0b11111111; //Port A upper inputs, lower outputs //Enable pull up on inputs, send 1 to outputs 3

while (1) /* Your code here */ Keyb (); //Check keyboard /* Your code here */ Η ρουτίνα του πληκτρολογίου Keyb() καλείται μέσα από το κυρίως πρόγραμμα και αποθηκεύει στη μεταβλητή data την πληροφορία από το πλήκτρο που πατήθηκε. Στον κώδικα που παρουσιάστηκε αποθηκεύεται η αριθμητική τιμή του πλήκτρου. Συνήθως το πάτημα ενός πλήκτρου διαρκεί 100 200ms, συνεπώς θα πρέπει στο διάστημα αυτό να έχει ολοκληρωθεί ο βρόχος του κυρίως προγράμματος ώστε να γίνει η κλήση της ρουτίνας του πληκτρολογίου στο χρόνο που διαρκεί το πάτημα του πλήκτρου, διαφορετικά δε θα αναγνωριστεί. Αν ο βρόχος του κυρίως προγράμματος διαρκεί αρκετό χρόνο θα πρέπει η ρουτίνα του πληκτρολογίου να καλείται με διακοπή από έναν Timer του μικροελεγκτή ή να καλείται η ρουτίνα σε διάφορα σημεία του προγράμματος. Σε αυτές τις περιπτώσεις χρειάζεται προσοχή στη χρήση των δεδομένων της data ώστε να είναι ενημερωμένη όταν διαβάζεται. Όταν γίνει η κλήση της ρουτίνας Keyb() δίνεται αρχική τιμή 0b00000001 στη μεταβλητή line και στη συνέχεια ξεκινάει ένας βρόχος με μια for που επαναλαμβάνεται 4 φορές για τη σάρωση των γραμμών του πληκτρολογίου. Ξεκινώντας ο βρόχος δίνεται τιμή στο PORTA το συμπλήρωμα της line δηλαδή 0b11111110, ώστε να ελεγχθεί η πρώτη γραμμή και γίνεται αριστερή ολίσθηση στην line για να προετοιμαστεί για τον επόμενο κύκλο. Σε αυτό το σημείο μπορεί να εισαχθεί μια καθυστέρηση της τάξεως του ms αν η συχνότητα λειτουργίας του μικροελεγκτή είναι υψηλή (στο παράδειγμα υπάρχει ως σχόλιο). Ακολουθεί ένας βρόχος με μια while όπου η συνθήκη της ικανοποιείται μόνο όταν υπάρχει πατημένο πλήκτρο σε αυτή τη γραμμή. Αν δεν υπάρχει πατημένο πλήκτρο το πρόγραμμα συνεχίζει με τον επόμενο κύκλο της for. Δίνεται ξανά τιμή στο PORTA το συμπλήρωμα της line, ώστε να ελεγχθεί αυτή τη φορά η δεύτερη γραμμή 1 και γίνεται αριστερή ολίσθηση στην line για να προετοιμαστεί για τον επόμενο κύκλο. Αν υπάρχει πατημένο πλήκτρο το πρόγραμμα εισέρχεται στην while. Στην while εκτελείται αρχικά μια εντολή καθυστέρησης για τους παρασιτικούς παλμούς και στη συνέχεια με την switch γίνεται αναγνώριση του πλήκτρου και αποθήκευση της πληροφορίας στην data. Πριν την έξοδο από την switch με την break σε κάθε case υπάρχει μια while η οποία έχει ως συνθήκη ισότητα του PINA με τη σταθερά της αντίστοιχης case που βρίσκεται. Ο ρόλος της while είναι να σταματάει το πρόγραμμα εκεί για όσο χρόνο είναι 1 Η line έχει ολισθήσει κατά αριστερά στον προηγούμενο κύκλο και συνεπώς το συμπλήρωμά της είναι 0b11111101. 4

πατημένο το πλήκτρο, ώστε να μην καταχωρείται ως νέο πάτημα κάθε φορά που καλείται η ρουτίνα. Το πρόγραμμα συνεχίζει τη λειτουργία του με την απελευθέρωση του πλήκτρου. Αν είναι δύο πλήκτρα πατημένα στην ίδια γραμμή δεν ικανοποιείται καμιά case και συνεπώς βγαίνει το πρόγραμμα από τη switch χωρίς να κάνει καμία ενέργεια. Αν είναι πατημένα δύο πλήκτρα στην ίδια στήλη θα αναγνωριστεί το πλήκτρο που η γραμμή του είναι σε χαμηλή λογική κατά τη σάρωση. Όταν ολοκληρωθεί η σάρωση και των τεσσάρων γραμμών το πρόγραμμα εξέρχεται από τη ρουτίνα του πληκτρολογίου. 2016 Πορλιδάς Δημήτριος 5