λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Quicktime

Τι είναι ο χρονοδιακόπτης στον μικροεπεξεργαστή;

Ας σπάσουμε τους χρονομετρητές στο πλαίσιο των μικροεπεξεργαστών:

Τι είναι ένα χρονοδιακόπτη;

Ένας χρονοδιακόπτης είναι ένα εξειδικευμένο στοιχείο υλικού μέσα σε έναν μικροεπεξεργαστή (ή συχνά, ένα περιφερειακό τσιπ που συνδέεται με τον μικροεπεξεργαστή) που παρέχει έναν τρόπο μέτρησης χρονικών διαστήματος ή συμβάντα ενεργοποίησης σε συγκεκριμένα διαστήματα. Στην ουσία, είναι σαν ένα ψηφιακό χρονόμετρο που μπορείτε να προγραμματίσετε για να μετρήσετε ή να επάνω.

Βασικές έννοιες:

* Counter: Ο πυρήνας ενός χρονοδιακόπτη είναι ένας μετρητής που αυξάνει (ή μειώσεις) με συγκεκριμένο ρυθμό. Αυτός ο ρυθμός συνήθως προσδιορίζεται από έναν ταλαντωτή κρυστάλλου, ο οποίος παρέχει ένα σήμα ρολογιού υψηλής συχνότητας.

* prescaler: Ορισμένοι χρονομετρητές περιλαμβάνουν έναν prescaler, ο οποίος διαιρεί τη συχνότητα του ταλαντωτή πριν φτάσει στον πάγκο. Αυτό σας επιτρέπει να ρυθμίσετε την ανάλυση του χρονοδιακόπτη (πόσο λεπτή μπορεί να μετρήσει το χρόνο).

* τρόποι λειτουργίας: Οι χρονομετρητές συχνά προσφέρουν διάφορους τρόπους λειτουργίας, όπως:

* Χρονοδιακόπτης διαστήματος: Μετρά μια συγκεκριμένη διάρκεια.

* Χρονοδιακόπτης πλάτους παλμού: Μετρά τη διάρκεια ενός παλμού.

* μετρητής συμβάντων: Μετράει εξωτερικά συμβάντα (όπως το κουμπί πιέσεις).

* Διακοπές: Πολλοί χρονομετρητές μπορούν να παράγουν διακοπές όταν ο μετρητής φτάσει σε μια προκαθορισμένη τιμή. Αυτό επιτρέπει στον μικροεπεξεργαστή να ειδοποιηθεί όταν έχει περάσει ένα συγκεκριμένο χρονικό διάστημα.

Πώς λειτουργούν οι χρονομετρητές:

1. Αρχικοποίηση: Προγραμματίζετε το χρονοδιακόπτη ρυθμίζοντας την αρχική του τιμή (τον αριθμό εκκίνησης) και τον τρόπο λειτουργίας του (διάστημα, πλάτος παλμού κ.λπ.).

2. Καταμέτρηση: Ο μετρητής αρχίζει να μετράει (ή επάνω) με ρυθμό που καθορίζεται από τη συχνότητα του ρολογιού και οποιεσδήποτε ρυθμίσεις prescaler.

3. Ενεργοποίηση: Όταν ο μετρητής φτάσει σε μια συγκεκριμένη τιμή (ο "στόχος" του χρονοδιακόπτη), ενεργοποιεί μια συγκεκριμένη ενέργεια:

* Διακοπή: Ο χρονομετρητής διακόπτει τον μικροεπεξεργαστή, σηματοδοτώντας ότι έχει περάσει το χρονικό διάστημα.

* Σήμα εξόδου: Ο χρονοδιακόπτης δημιουργεί παλμό ή άλλο σήμα εξόδου.

4. Επαναφορά/επαναφόρτωση: Ο μετρητής μπορεί να επαναφέρετε (επαναφέρετε την αρχική του τιμή) ή επαναφορτώστε με μια νέα τιμή για να ξεκινήσετε έναν άλλο κύκλο χρονισμού.

Εφαρμογές χρονομετρητών σε μικροεπεξεργαστές:

Οι χρονομετρητές είναι θεμελιώδεις δομικές ενσωματωμένες σε ενσωματωμένα συστήματα και έχουν πολλές εφαρμογές:

* Δημιουργία καθυστέρησης: Δημιουργία ακριβών καθυστερήσεων χρόνου για εργασίες όπως το λογισμικό debouncing, ο έλεγχος LED που αναβοσβήνει και τα συμβάντα προγραμματισμού.

* ρολόγια σε πραγματικό χρόνο (RTCS): Παρακολούθηση του χρόνου και της ημερομηνίας.

* Διαμόρφωση πλάτους παλμού (PWM): Ελέγχοντας τον κύκλο λειτουργίας των σημάτων, που χρησιμοποιείται για τον έλεγχο του κινητήρα, τα LED των LED και τη δημιουργία κυματομορφών ήχου.

* Καταμέτρηση συμβάντων: Μέτρηση της συχνότητας των εξωτερικών συμβάντων, όπως το κουμπί πατώντας, οι μετρήσεις αισθητήρων ή τα σήματα επικοινωνίας.

* Χρονισμός συστήματος: Η διασφάλιση των εργασιών εκτελούνται εντός συγκεκριμένων χρονικών διαστήματος σε συστήματα σε πραγματικό χρόνο.

Παράδειγμα:Χρήση χρονοδιακόπτη για καθυστέρηση:

`` `

// αρχικοποιήστε το χρονοδιακόπτη για να μετρήσετε από 1000

timer_init (1000);

// Ξεκινήστε το χρονοδιακόπτη

timer_start ();

// Περιμένετε μέχρι να φτάσει το χρονοδιακόπτη

ενώ (timer_is_running ()) {

// Δεν κάνετε τίποτα, περιμένετε να λήξει ο χρονομετρητής

}

// Ο χρονομετρητής έχει λήξει, οπότε τώρα μπορούμε να κάνουμε κάτι άλλο

`` `

Επιτρέψτε μου να ξέρω αν θέλετε περισσότερες λεπτομέρειες σχετικά με μια συγκεκριμένη λειτουργία χρονοδιακόπτη, χειρισμό διακοπής ή μια συγκεκριμένη εφαρμογή!

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα