Οι οθόνες επτά τμημάτων είναι σημαντικές μονάδες προβολής στην Ηλεκτρονική και χρησιμοποιούνται ευρέως για την εμφάνιση αριθμών από 0 έως 9. Μπορεί επίσης να εμφανίσει ορισμένα αλφάβητα χαρακτήρων όπως A, B, C, H, F, E κ.λπ. Σε αυτό το σεμινάριο, θα μάθουμε πώς να διασυνδέσετε μια οθόνη 7 τμημάτων με 8051 μικροελεγκτή. Χρησιμοποιούμε μικροελεγκτή AT89S52 από τη σειρά 8051.
Πριν από τη διασύνδεση, πρέπει να μάθουμε για την οθόνη 7 τμημάτων. Είναι η απλούστερη μονάδα για την εμφάνιση αριθμών και χαρακτήρων. Αποτελείται μόλις 8 LEDs, κάθε LED χρησιμεύει για να φωτίζει ένα τμήμα της μονάδας και η 8 th LED χρησιμοποιείται για το φωτισμό DOT σε 7 απεικόνιση τμήμα. Μπορούμε να αναφέρουμε κάθε τμήμα ως LINE, καθώς μπορούμε να δούμε ότι υπάρχουν 7 γραμμές στη μονάδα, οι οποίες χρησιμοποιούνται για την εμφάνιση ενός αριθμού / χαρακτήρα. Μπορούμε να παραπέμψουμε σε κάθε γραμμή / τμήμα "a, b, c, d, e, f, g" και για χαρακτήρες κουκκίδων θα χρησιμοποιήσουμε το "h". Υπάρχουν 10 ακίδες, στις οποίες χρησιμοποιούνται 8 ακίδες για να αναφέρονται τα a, b, c, d, e, f, g και h / dp, οι δύο μεσαίες ακίδες είναι κοινή άνοδος / κάθοδος όλων των LEDs. Αυτές οι κοινές άνοδοι / κάθοδος είναι εσωτερικά βραχυκυκλωμένες, οπότε πρέπει να συνδέσουμε μόνο έναν πείρο COM
Υπάρχουν δύο τύποι επίδειξης 7 τμημάτων: Common Anode και Common Cathode:
Κοινή άνοδος: Σε αυτό όλα τα αρνητικά τερματικά (κάθοδος) και των 8 LED συνδέονται μεταξύ τους (βλ. Διάγραμμα παρακάτω), που ονομάζεται COM. Και όλα τα θετικά τερματικά μένουν μόνοι.
Common Cathode: Σε αυτό όλα τα θετικά τερματικά (Anodes) και των 8 LED είναι συνδεδεμένα μεταξύ τους, που ονομάζονται COM. Και όλα τα αρνητικά θερμικά μένουν μόνα τους.
Διάγραμμα κυκλώματος και εξήγηση εργασίας
Εδώ χρησιμοποιούμε κοινό τύπο ανόδου 7 τμήματος επειδή πρέπει να συνδέσουμε τα LED ανάποδα. Όπως γνωρίζουμε ότι ο μικροελεγκτής δεν παρέχει αρκετή ισχύ για να ανάψει το LED, οπότε πρέπει να συνδέσουμε την κάθοδο των οδηγήσεων με τον πείρο μικροελεγκτή και την άνοδο των LED στην παροχή ρεύματος. Μπορείτε να κατανοήσετε αυτήν την αρνητική ιδέα λογικής σε αυτό το άρθρο «LED Interfacing with 8051 Microcontroller». Θα πρέπει επίσης να διαβάσετε αυτό το άρθρο για να κατανοήσετε τη βασική σύνδεση του μικροελεγκτή όπως το κρύσταλλο και το κύκλωμα επαναφοράς.
Όπως φαίνεται παραπάνω, το διάγραμμα κυκλώματος για διασύνδεση οθόνης 7 τμημάτων με 8051 μικροελεγκτή, έχουμε συνδέσει a, b, c, d, e, f, g, h με τις καρφίτσες 2.0 έως 2.7 σημαίνει ότι συνδέουμε 7 τμήματα στη θύρα 2 του μικροελεγκτή. Τώρα ας υποθέσουμε ότι θέλουμε να εμφανίσουμε το 0, τότε πρέπει να ανάβουμε όλα τα LED εκτός από το LED που ανήκει στη γραμμή "g" (βλ. Διάγραμμα παραπάνω), οπότε οι ακίδες 2.0 έως 2.6 πρέπει να είναι στο 0 (πρέπει να είναι 0 για να ενεργοποιήσετε τη λυχνία ανά αρνητική λογική) και ο ακροδέκτης 2.7 και 2.8 πρέπει να είναι στο 1 (πρέπει να είναι 1 για να απενεργοποιήσετε το LED σύμφωνα με την αρνητική λογική) Έτσι, τα LED που είναι συνδεδεμένα στους ακροδέκτες 2.0 έως 2.6 (a, b, c, d, e, f) θα είναι ON και LED που είναι συνδεδεμένα στα 2.7 και 2.8 (g και h) θα είναι OFF, που θα δημιουργήσουν ένα "0" σε 7 τμήμα. Χρειαζόμαστε λοιπόν το μοτίβο bit 11000000 (το Pin 8 είναι το υψηλότερο bit, ξεκινώντας από P2.7 έως P2.0) και ο κωδικός HEX για το δυαδικό 11000000 είναι "C0". Ομοίως μπορούμε να υπολογίσουμε για όλα τα ψηφία. Εδώ πρέπει να σημειώσουμε ότι διατηρούμε το "dot / h" πάντα απενεργοποιημένο,γι 'αυτό πρέπει να δίνουμε το LOGIC «1» κάθε φορά. Παρακάτω δίνεται ένας πίνακας για όλους τους αριθμούς κατά τη χρήση του τμήματος Common Anode 7.
Ψηφίο προς εμφάνιση |
hgfedcba |
Hex κωδικός |
0 |
11000000 |
Γ0 |
1 |
11111001 |
ΣΤ9 |
2 |
10100100 |
Α4 |
3 |
10110000 |
ΒΟ |
4 |
10011001 |
99 |
5 |
10010010 |
92 |
6 |
10000010 |
82 |
7 |
11111000 |
F8 |
8 |
10000000 |
80 |
9 |
10010000 |
90 |
Επεξήγηση κώδικα
Έχουμε δημιουργήσει τη λειτουργία ms_delay για να παρέχουμε την καθυστέρηση σε χιλιοστά του δευτερολέπτου, αυτή η καθυστέρηση παρέχεται συνήθως σε οποιοδήποτε πρόγραμμα μικροελεγκτή, έτσι ώστε ο μικροελεγκτής να μπορεί να ολοκληρώσει την εσωτερική του λειτουργία.
Στη συνέχεια, δημιουργήσαμε μια σειρά από τους δεκαεξαδικούς κωδικούς για το 0 έως το 9 (βλ. Πίνακα παραπάνω), και τέλος στείλαμε τους δεκαεξαδικούς κωδικούς στη θύρα 2, η οποία είναι συνδεδεμένη με το κοινό τμήμα ανόδου 7. Έτσι με αυτόν τον τρόπο οι αριθμοί εμφανίζονται στην οθόνη 7 τμημάτων.
Τώρα έχουμε μόνο 4 θύρες στον μικροελεγκτή και τι γίνεται αν θέλουμε να εμφανίσουμε τα δεδομένα σε περισσότερα από τέσσερα 7 τμήματα; Για την επίλυση αυτού του προβλήματος, η τεχνική πολυπλεξίας έρχεται σε εικόνα. Πρέπει να κάνουμε πολλαπλές πολλαπλές μονάδες 7 τμημάτων. Διαβάστε επίσης τη διεπαφή οθόνης 7 τμημάτων με μικροελεγκτή AVR