Χρονοδιακόπτες και μετρητές σε 8051 μικροελεγκτή και τις εφαρμογές του

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Πολλά από τα εφαρμογές μικροελεγκτή απαιτούν την καταμέτρηση εξωτερικών συμβάντων όπως η συχνότητα των παλμών και η δημιουργία ακριβών εσωτερικών καθυστερήσεων μεταξύ των ενεργειών του υπολογιστή. Και οι δύο αυτές εργασίες μπορούν να εφαρμοστούν με τεχνικές λογισμικού, αλλά οι βρόχοι λογισμικού για μέτρηση και ο συγχρονισμός δεν θα δώσει το ακριβές αποτέλεσμα, αλλά δεν γίνονται πιο σημαντικές λειτουργίες. Για την αποφυγή αυτών των προβλημάτων, οι χρονομετρητές και οι μετρητές στους μικροελεγκτές είναι καλύτερες επιλογές για απλές και χαμηλού κόστους εφαρμογές. Αυτά τα χρονόμετρα και μετρητές χρησιμοποιούνται ως διακόπτει τον μικροελεγκτή 8051 .

Υπάρχουν δύο χρονομετρητές και μετρητές 16 bit 8051 μικροελεγκτής : χρονοδιακόπτης 0 και χρονοδιακόπτης 1. Και οι δύο χρονομετρητές αποτελούνται από 16-bit καταχωρητή στον οποίο το χαμηλότερο byte αποθηκεύεται σε TL και το υψηλότερο byte αποθηκεύεται σε TH. Ο χρονοδιακόπτης μπορεί να χρησιμοποιηθεί ως μετρητής καθώς και για λειτουργία χρονισμού που εξαρτάται από την πηγή παλμών ρολογιού στους μετρητές.




Χρονόμετρα και μετρητές

Χρονόμετρα και μετρητές

Οι μετρητές και οι χρονοδιακόπτες στο 8051 μικροελεγκτή περιέχουν δύο ειδικούς καταχωρητές λειτουργιών: TMOD (Timer Mode Register) και TCON (Timer Control Register), τα οποία χρησιμοποιούνται για την ενεργοποίηση και τη διαμόρφωση χρονόμετρα και μετρητές .



Έλεγχος λειτουργίας χρονοδιακόπτη (TMOD): Το TMOD είναι ένας καταχωρητής 8-bit που χρησιμοποιείται για την επιλογή χρονοδιακόπτη ή μετρητή και τη λειτουργία χρονομέτρων. Τα κατώτερα 4-bit χρησιμοποιούνται για τον έλεγχο λειτουργίας του χρονοδιακόπτη 0 ή του μετρητή0, και τα υπόλοιπα 4-bit χρησιμοποιούνται για τον έλεγχο λειτουργίας του χρονοδιακόπτη1 ή του μετρητή 1. Αυτός ο καταχωρητής υπάρχει στον καταχωρητή SFR, η διεύθυνση για τον καταχωρητή SFR είναι 89η.

Έλεγχος λειτουργίας χρονοδιακόπτη (TMOD)

Έλεγχος λειτουργίας χρονοδιακόπτη (TMOD)

Πύλη: Εάν το bit πύλης έχει οριστεί σε '0', τότε μπορούμε να ξεκινήσουμε και να σταματήσουμε τον χρονοδιακόπτη 'λογισμικού' με τον ίδιο τρόπο. Εάν η πύλη έχει οριστεί σε «1», τότε μπορούμε να εκτελέσουμε χρονοδιακόπτη υλικού.

Γ / Τ: Εάν το bit C / T είναι «1», τότε λειτουργεί ως αντίθετη λειτουργία, και παρόμοια όταν ορίζεται C +
= / Το bit είναι «0», λειτουργεί ως χρονοδιακόπτης.


Λειτουργία επιλογής bit: Τα M1 και M0 είναι bit επιλογής λειτουργίας, τα οποία χρησιμοποιούνται για την επιλογή των λειτουργιών χρονοδιακόπτη. Υπάρχουν τέσσερις τρόποι λειτουργίας των χρονομετρητών.

Λειτουργία 0: Αυτή είναι μια λειτουργία 13-bit που σημαίνει ότι η λειτουργία του χρονοδιακόπτη ολοκληρώνεται με παλμούς '8192'.

Λειτουργία 1: Πρόκειται για λειτουργία 16-bit, που σημαίνει ότι η λειτουργία του χρονοδιακόπτη ολοκληρώνεται με μέγιστους παλμούς ρολογιού που '65535'.

Λειτουργία 2: Αυτή η λειτουργία είναι μια λειτουργία αυτόματης επαναφόρτωσης 8-bit, που σημαίνει ότι η λειτουργία του χρονοδιακόπτη ολοκληρώνεται με μόνο παλμούς ρολογιού '256'.

Λειτουργία 3: Αυτή η λειτουργία είναι μια λειτουργία χρονοδιακόπτη, που σημαίνει τις τιμές φόρτωσης στο T0 και ξεκινά αυτόματα το T1.

Μπιτ επιλογής τρόπου λειτουργίας

Μπιτ επιλογής τρόπου λειτουργίας

Επιλογή τρόπου Τιμές χρονομέτρων και μετρητή στο 8051

Τιμές επιλογής τρόπου λειτουργίας χρονομετρητών και μετρητών

Τιμές επιλογής τρόπου χρονομέτρησης και μετρητών

Timer Control Register (TCON): Το TCON είναι ένας άλλος καταχωρητής που χρησιμοποιείται για τον έλεγχο των λειτουργιών του μετρητή και των χρονομετρητών σε μικροελεγκτές. Είναι ένας καταχωρητής 8-bit όπου τέσσερα ανώτερα bit είναι υπεύθυνα για χρονοδιακόπτες και μετρητές και τα κατώτερα bit είναι υπεύθυνα για διακοπές.

Μητρώο χρονοδιακόπτη (TCON)

Μητρώο χρονοδιακόπτη (TCON)

TF1: Το TF1 σημαίνει το bit σημαίας «timer1». Κάθε φορά που υπολογίζετε τη χρονική καθυστέρηση στο χρονοδιακόπτη1, τα TH1 και TL1 φτάνουν στη μέγιστη τιμή που είναι 'FFFF' αυτόματα.

ΛΗΞΗ: ενώ (TF1 == 1)

Όποτε το TF1 = 1, τότε καθαρίστε το bit σημαίας και σταματήστε το χρονόμετρο.

TR1: Το TR1 σημαίνει το bit έναρξης ή διακοπής του χρονοδιακόπτη1. Αυτό το χρονόμετρο ξεκινά μπορεί να γίνει μέσω εντολών λογισμικού ή μέσω μεθόδου υλικού.

Π.Χ .: πύλη = 0 (χρονόμετρο έναρξης 1 μέσω οδηγιών λογισμικού)
TR1 = 1 (χρονόμετρο έναρξης)

TF0: Το TF0 σημαίνει bit-flag «timer0». Κάθε φορά που υπολογίζετε τη χρονική καθυστέρηση στο χρονοδιακόπτη1, το TH0 και το TL0 φτάνουν σε μια μέγιστη τιμή που είναι «FFFF», αυτόματα.

ΛΗΞΗ: ενώ (TF0 == 1)
Όποτε το TF0 = 1, τότε καθαρίστε το bit σημαίας και σταματήστε το χρονόμετρο.

TR0: Το TR0 σημαίνει 'timer0' start ή stop bit, αυτό το χρονόμετρο που ξεκινά μπορεί να γίνει μέσω εντολών λογισμικού ή μέσω μεθόδου υλικού.

ΛΗΞΗ: πύλη = 0 (χρονόμετρο εκκίνησης 1 μέσω οδηγιών λογισμικού)
TR0 = 1 (χρονόμετρο έναρξης)

Υπολογισμοί καθυστέρησης χρόνου για τον μικροελεγκτή 8051

Ο μικροελεγκτής 8051 λειτουργεί με συχνότητα 11.0592 MHz.

Συχνότητα 11,0592MHz = 12 παλμούς

1 παλμός ρολογιού = 11.0592MHz / 12

F = 0,921 MHz

Χρονική καθυστέρηση = 1 / F

T = 1 / 0,92 MHz

T = 1.080506 us (για τον κύκλο «1»)

1000us = 1MS

1000ms = 1sec

Διαδικασία για τον υπολογισμό του προγράμματος καθυστέρησης

1. Πρώτα πρέπει να φορτώσουμε την τιμή μητρώου TMOD για «Timer0» και «Timer1» σε διαφορετικές λειτουργίες. Για παράδειγμα, εάν θέλουμε να λειτουργήσουμε το χρονοδιακόπτη1 στη λειτουργία 1, πρέπει να διαμορφωθεί ως 'TMOD = 0x10'.

2. Κάθε φορά που χρησιμοποιούμε το χρονοδιακόπτη στη λειτουργία 1, ο χρονοδιακόπτης παίρνει τους μέγιστους παλμούς 65535. Στη συνέχεια, οι υπολογισμένοι παλμοί χρονικής καθυστέρησης πρέπει να αφαιρούνται από τους μέγιστους παλμούς και στη συνέχεια να μετατρέπονται σε δεκαεξαδική τιμή. Αυτή η τιμή πρέπει να φορτωθεί σε timer1 υψηλότερα bit και χαμηλότερα bit. Αυτή η λειτουργία χρονοδιακόπτη προγραμματίζεται χρησιμοποιώντας ενσωματωμένο C σε μικροελεγκτή .

Παράδειγμα: Χρόνος καθυστέρησης 500us

500us / 1.080806us

461 παλμοί

Ρ = 65535-461

Ρ = 65074

65074 επιβεβαιώθηκε με δεκαδικό δεκαδικό = FE32

TH1 = 0xFE

TL1 = 0x32

3. Ξεκινήστε το χρονόμετρο1 'TR1 = 1'

4. Παρακολουθήστε το bit της σημαίας 'while (TF1 == 1)'

5. Διαγράψτε το bit σημαίας 'TF1 = 0'

6. Σβήστε το χρονόμετρο “TR1 = 0”

Παραδείγματα προγραμμάτων:

Πρόγραμμα- 1

Πρόγραμμα- 1

Πρόγραμμα- 2

Πρόγραμμα- 2

Πρόγραμμα- 3

Πρόγραμμα- 3

Μετρητές το 8051

Μπορούμε να χρησιμοποιήσουμε έναν μετρητή διατηρώντας C / T λίγο υψηλό, δηλ. Λογική «1» στον καταχωρητή TMOD. Για καλύτερη κατανόηση, έχουμε δώσει ένα πρόγραμμα που χρησιμοποιεί το χρονόμετρο 1 ως μετρητή. Εδώ τα LED συνδέονται στη θύρα 8051 2, και ο διακόπτης στον χρονοδιακόπτη 1 ακίδα P3.5 και επομένως, εάν πατηθεί ο διακόπτης, η τιμή θα μετρηθεί. Διαφορετικά, ένας εξωτερικά συνδεδεμένος αισθητήρας σε αυτόν τον πείρο μετρητή ως είσοδος κάνει αυτή τη λειτουργία μέτρησης.

Πρόγραμμα μετρητών

Πρόγραμμα μετρητών

Εφαρμογές χρονομέτρων και μετρητών το 8051

Ψηφιακός μετρητής με 8051

Ο Ψηφιακός μετρητής με 8051 επιτυγχάνεται προγραμματίζοντας τον μικροελεγκτή όπως συζητήθηκε παραπάνω και συνδέοντας ένα σύστημα αισθητήρα σε αυτόν. Αυτός ο μετρητής αντικειμένων χρησιμοποιεί αισθητήρα υπερύθρων που ανιχνεύει το εμπόδιο κοντά του και ενεργοποιεί επίσης το πείρο του μικροελεγκτή 06. Όταν ένα αντικείμενο διέρχεται από τους αισθητήρες, τότε ο μικροελεγκτής λαμβάνει σήμα διακοπής από τους αισθητήρες υπερύθρων και αυξάνει τον αριθμό που εμφανίζεται στην οθόνη 7 τμημάτων.

Ψηφιακός μετρητής με 8051

Ψηφιακός μετρητής με 8051

Κύκλωμα χρονικής καθυστέρησης Χρησιμοποιώντας 8051 μικροελεγκτή

Το παρακάτω σχήμα δείχνει πώς μπορεί να εφαρμοστεί η λειτουργία του χρονοδιακόπτη για την εναλλαγή των LED με αποτελεσματικό τρόπο. Η λειτουργία χρονικής καθυστέρησης για το σύνολο των LED προγραμματίζεται σε έναν μικροελεγκτή με τον τρόπο που συζητήθηκε παραπάνω. Εδώ, ένα σύνολο LED συνδέεται στη θύρα 2 με ένα κοινό σύστημα τροφοδοσίας. Όταν αυτό το κύκλωμα είναι ενεργοποιημένο βάσει της χρονικής καθυστέρησης πρόγραμμα στον μικροελεγκτή κατάλληλα, αυτά τα LED είναι ενεργοποιημένα.

Κύκλωμα καθυστέρησης χρόνου

Κύκλωμα καθυστέρησης χρόνου

Αυτό αφορά το χρονοδιακόπτη και μετρητές μικροελεγκτή 8051 με βασικά κυκλώματα προγραμματισμού και εφαρμογών. Ελπίζουμε ότι οι πληροφορίες αυτού του άρθρου ενδέχεται να σας έχουν δώσει επαρκή δεδομένα για να κατανοήσετε καλύτερα την έννοια. Επιπλέον, τυχόν τεχνικές αμφιβολίες σχετικά με τον προγραμματισμό 8051 και τα κυκλώματά του, μπορείτε να επικοινωνήσετε μαζί μας σχολιάζοντας παρακάτω.

Φωτογραφικές μονάδες: