Molti dei file applicazioni microcontrollore richiedono il conteggio di eventi esterni come la frequenza dei treni di impulsi e la generazione di ritardi interni precisi tra le azioni del computer. Entrambe queste attività possono essere implementate mediante tecniche software, ma i cicli software per il conteggio e il tempo non daranno il risultato esatto, piuttosto non vengono eseguite funzioni più importanti. Per evitare questi problemi, i timer e i contatori nei microcontrollori sono opzioni migliori per applicazioni semplici ea basso costo. Questi timer e contatori vengono utilizzati come file interrompe nel microcontrollore 8051 .
Sono presenti due timer e contatori a 16 bit in formato Microcontrollore 8051 : timer 0 e timer 1. Entrambi i timer sono costituiti da un registro a 16 bit in cui il byte inferiore è memorizzato in TL e il byte superiore è memorizzato in TH. Il timer può essere utilizzato come contatore e per operazioni di temporizzazione che dipendono dalla sorgente degli impulsi di clock dei contatori.
Timer e contatori
I contatori e i timer nel microcontrollore 8051 contengono due registri di funzioni speciali: TMOD (registro modalità timer) e TCON (registro controllo timer), che vengono utilizzati per l'attivazione e la configurazione timer e contatori .
Controllo della modalità timer (TMOD): TMOD è un registro a 8 bit utilizzato per selezionare il timer o il contatore e la modalità dei timer. I 4 bit inferiori sono usati per il funzionamento di controllo del timer 0 o counter0, mentre i 4 bit rimanenti sono usati per il funzionamento di controllo del timer1 o counter1. Questo registro è presente nel registro SFR, l'indirizzo per il registro SFR è 89 °.
Controllo della modalità timer (TMOD)
Cancello: Se il bit di gate è impostato a '0', possiamo avviare e arrestare il timer 'software' allo stesso modo. Se il gate è impostato su '1', possiamo eseguire il timer hardware.
C / T: Se il bit C / T è '1', agisce come una modalità contatore, e in modo simile quando è impostato C +
= / T bit è '0' e funge da modalità timer.
Bit di selezione della modalità: M1 e M0 sono bit di selezione della modalità, utilizzati per selezionare le operazioni del timer. Ci sono quattro modalità per azionare i timer.
Modalità 0: Questa è una modalità a 13 bit che significa che l'operazione del timer viene completata con impulsi '8192'.
Modalità 1: Questa è una modalità a 16 bit, il che significa che l'operazione del timer viene completata con gli impulsi di clock massimi che '65535'.
Modalità 2: Questa modalità è una modalità di ricarica automatica a 8 bit, il che significa che l'operazione del timer viene completata con solo '256' impulsi di clock.
Modalità 3: Questa modalità è una modalità split-timer, il che significa che i valori di caricamento in T0 e avvia automaticamente il T1.
Bit di selezione della modalità
Selezione modalità Valori di timer e contatore nell'8051
Valori di selezione della modalità di timer e contatori
Registro di controllo del timer (TCON): TCON è un altro registro utilizzato per controllare le operazioni del contatore e dei timer nei microcontrollori. È un registro a 8 bit in cui quattro bit superiori sono responsabili dei timer e dei contatori e i bit inferiori sono responsabili degli interrupt.
Registro di controllo del timer (TCON)
TF1: TF1 sta per bit flag 'timer1'. Ogni volta che si calcola il ritardo nel timer1, TH1 e TL1 raggiungono automaticamente il valore massimo che è “FFFF”.
EX: while (TF1 == 1)
Ogni volta che TF1 = 1, azzera il bit flag e ferma il timer.
TR1: TR1 sta per timer1 start o stop bit. L'avvio del timer può avvenire tramite istruzioni software o metodo hardware.
EX: gate = 0 (avvia timer 1 tramite istruzione software)
TR1 = 1 (Avvia timer)
TF0: TF0 sta per bit di flag 'timer0'. Ogni volta che si calcola il ritardo nel timer1, TH0 e TL0 raggiungono automaticamente un valore massimo che è 'FFFF'.
EX: while (TF0 == 1)
Ogni volta che TF0 = 1, azzera il bit flag e ferma il timer.
TR0: TR0 sta per bit di avvio o arresto 'timer0', l'avvio del timer può avvenire tramite istruzioni software o metodi hardware.
EX: gate = 0 (avvia timer 1 tramite istruzione software)
TR0 = 1 (Avvia timer)
Calcoli del ritardo temporale per il microcontrollore 8051
Il microcontrollore 8051 funziona con una frequenza di 11,0592 MHz.
Frequenza 11,0592 MHz = 12 impulsi
1 impulso di clock = 11,0592 MHz / 12
F = 0,921 MHz
Ritardo di tempo = 1 / F
T = 1 / 0,92 MHz
T = 1.080506 us (per ciclo '1')
1000us = 1MS
1000 ms = 1 sec
Procedura per calcolare il programma di ritardo
1. Per prima cosa dobbiamo caricare il valore del registro TMOD per 'Timer0' e 'Timer1' in diverse modalità. Ad esempio, se vogliamo far funzionare il timer1 in modalità1, deve essere configurato come “TMOD = 0x10”.
2. Ogni volta che azioniamo il timer in modalità 1, il timer prende gli impulsi massimi di 65535. Quindi gli impulsi di ritardo calcolati devono essere sottratti dagli impulsi massimi e successivamente convertiti in valore esadecimale. Questo valore deve essere caricato nel timer1 bit superiore e bit inferiore. Questa operazione del timer è programmata utilizzando C incorporato in un microcontrollore .
Esempio: ritardo di 500us
500us / 1.080806us
461pulses
P = 65535-461
P = 65074
65074 convettato da esadecimale = FE32
TH1 = 0xFE
TL1 = 0x32
3. Avvia il timer1 'TR1 = 1'
4. Monitorare il bit di flag 'while (TF1 == 1)'
5. Cancella il bit flag 'TF1 = 0'
6. Aggancia il timer 'TR1 = 0'
Programmi di esempio:
Programma- 1
Programma- 2
Programma- 3
Contatori in 8051
Possiamo usare un contatore mantenendo alto il bit C / T, cioè '1' logico nel registro TMOD. Per una migliore comprensione, abbiamo fornito un programma che utilizza il timer 1 come contatore. Qui i LED sono collegati alla 8051 Porta 2, e lo switch al pin P3.5 del timer1 e quindi, se viene premuto, il valore verrà conteggiato. Altrimenti, un sensore collegato esternamente a questo pin del contatore come ingresso esegue questa operazione di conteggio.
Counter Program
Applicazioni di temporizzatori e contatori nell'8051
Contatore digitale con 8051
Il contatore digitale con 8051 si ottiene programmando il microcontrollore come discusso sopra e collegando ad esso un sistema di sensori. Questo contatore di oggetti utilizza un sensore IR che rileva l'ostacolo vicino ad esso e abilita anche il pin del microcontrollore 06. Quando un oggetto passa attraverso i sensori, il microcontrollore riceve un segnale di interruzione dai sensori IR e incrementa il conteggio visualizzato nel display a 7 segmenti.
Contatore digitale con 8051
Circuito di ritardo temporale Utilizzo del microcontrollore 8051
La figura seguente mostra come è possibile implementare il funzionamento del timer per accendere i LED in modo efficace. L'operazione di ritardo temporale per la serie di LED è programmata in un microcontrollore nel modo discusso sopra. Qui, una serie di LED è collegata alla porta 2 con un sistema di alimentazione comune. Quando questo circuito viene attivato in base al ritardo programma nel microcontrollore opportunamente, questi LED si accendono.
Circuito di ritardo
Si tratta del timer e dei contatori del microcontrollore 8051 con circuiti di programmazione e applicazione di base. Ci auguriamo che le informazioni di questo articolo possano averti fornito dati sufficienti per comprendere meglio il concetto. Inoltre, per qualsiasi dubbio tecnico sulla programmazione dell'8051 e dei suoi circuiti, potete contattarci commentando di seguito.
Crediti fotografici:
- Contatore digitale con 8051 di circuiti oggi
- Circuito di ritardo di vshamu