Χρήσιμα Έγγραφα
Στατιστικά
Εμφανίσεις Περιεχομένου : 50356| Δημιουργία σημάτων εξόδου στην παράλληλη θύρα του PC |
|
του Νίκου Αδαμόπουλου, εκπαιδευτικού ΠΕ19 Η παράλληλη θύρα των PC χρησιμοποιείται πάνω από 30 χρόνια, κυρίως για τη σύνδεση εκτυπωτών και σαρωτών, ωστόσο τελεί υπό κατάργηση αφού τη θέση της παίρνει η περισσότερο ευέλικτη θύρα USB. Παρόλα αυτά, αποτελεί μία εύκολη λύση για την έξοδο/είσοδο πολλών ψηφιακών σημάτων παράλληλα. Χαρακτηριστικά της παράλληλης θύραςΗ παράλληλη θύρα, ή Centronics, ή IEEE 1284, είναι συνήθως τύπου D female 25 ακροδεκτών:
Οι 8 γραμμές εξόδου (ακροδέκτες 2 έως 9) παρέχουν τάση από 2,4 έως 5,5 Volt για το λογικό 1 και από -0,5 έως 0,4 Volt για το λογικό 0. Έλεγχος της παράλληλης θύρας μέσω λογισμικούΠαραδείγματα χρήσης της θύρας αποτελούν τα έργα «Βιονικό Χέρι» και «Τηλερομπότ» του 1ου Τ.Ε.Ε./ΕΠΑ.Λ. Πύργου. Και στα δύο έργα κάποιες ηλεκτρομηχανικές κατασκευές συνδέονται στην παράλληλη θύρα ενός PC ώστε να είναι δυνατός ο έλεγχός τους από κατάλληλο λογισμικό που αναπτύχθηκε σε Visual Basic 6. Για τον έλεγχο της παράλληλης θύρας χρησιμοποιήθηκε το αρχείο βιβλιοθήκης inpout32.dll, το οποίο μπορεί να αναζητήσει κανείς εύκολα από το διαδίκτυο, όπως και τη σχετική τεκμηρίωση για τη χρήση του. Ακολουθεί η δήλωση της διαδικασίας Out για την έξοδο της τιμής Value (8 bit) στη διεύθυνση PortAddress της παράλληλης θύρας. Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" Παρακάτω φαίνεται ο τρόπος κλήσης της διαδικασίας Out. Η RefreshParallelSettings εφαρμόζει τις κατάλληλες αρχικοποιήσεις και πρέπει να κληθεί πριν από τη δημιουργία σημάτων εξόδου. Η διεύθυνση της παράλληλης θύρας για είσοδο/έξοδο δεδομένων θα είναι κάποια από τις 378, 278 και 3BC (στο δεκαεξαδικό σύστημα) ανάλογα με τον κατασκευαστή. Dim data As Byte 'CurrentOutput Η SendToPort αλλάζει την τιμή και των 8 γραμμών εξόδου της θύρας σύμφωνα με την παράμετρο κλήσης της. Επειδή στις συγκεκριμένες εφαρμογές που προαναφέρθηκαν θα πρέπει να αλλάζουν συγκεκριμένες μόνο γραμμές εξόδου, για αυτό καταχωρείται στη μεταβλητή data η τρέχουσα κατάσταση των εξόδων, ενώ στη συνέχεια γίνεται χρήση τελεστών χειρισμού bit (bitwise operators) ώστε κάθε φορά να μεταβάλλεται ένα μόνο bit της μεταβλητής αυτής. Χρήση τελεστών χειρισμού bitΟι τελεστές αυτοί χρησιμοποιούνται σπανιότατα, μοιάζουν αρκετά με τους λογικούς τελεστές, όμως εφαρμόζονται σε ακέραιους τελεστέους και λειτουργούν σε επίπεδο bit, θεωρώντας την δυαδική τιμή 1 ως true και την δυαδική τιμή 0 ως false. Για παράδειγμα, 157 OR 23 = 159 ή στο δυαδικό σύστημα: 10011101 OR 00010111 = 10011111. Επίσης, 157 AND 23 = 21 ή στο δυαδικό σύστημα: 10011101 AND 00010111 = 00010101. Έτσι, για τον έλεγχο των 8 εξόδων της παράλληλης θύρας εφαρμόζονται αυτοί οι τελεστές στη μεταβλητή data. Παράδειγμα εξόδου λογικού 1 στο D5:
Γενικότερα, αν data είναι η τρέχουσα κατάσταση των 8 ακροδεκτών εξόδου, για να προκύψει λογικό 1 στον ακροδέκτη εξόδου Dn (όπου 0≤n≤7) αρκεί να εκτελεστεί ο υπολογισμός: data OR 2n. Παράδειγμα εξόδου λογικού 0 στο D5:
Γενικότερα, για να προκύψει λογικό 0 στον ακροδέκτη εξόδου Dn (όπου 0≤n≤7) αρκεί να εκτελεστεί ο υπολογισμός: data AND (255 - 2n). Παρακάτω φαίνεται η διαδικασία ChangePin που αλλάζει τον N-ιοστό ακροδέκτη εξόδου στο λογικό επίπεδο Lev (όπου 0≤N≤7 και Lev = 0 ή 1). Private Sub ChangePin(N As Integer, Lev As Integer) Να σημειωθεί ότι για τον έλεγχο της παράλληλης θύρας σε περιβάλλον Visual Basic .NET εφαρμόζονται άλλες μέθοδοι. |
