Construirea unui ceas de timp real pe baza microcontrolerului ATMega16

Previzualizare laborator:

Extras din laborator:

Studierea modulului periferic timer, configurarea modulului pentru generarea intreruperilor co frecventa dorita.

Sarcina lucrarii:

I) Să se elaboreze un program in limbajul C, care ar permite afisare unei combinatii de numere/caractere pe un afisor format din 8 afisoare de 7 segmente.

II) Sa se proiecteze un ceas.

Notiuni teoretice:

Timerul/Counterul, dupa cum îi spune și numele oferă facilitatea de a măsura intervale fixe de timp și de a genera întreruperi la expirarea intervalului masurat. Un timer, odată inițializat va funcționa independent de unitatea centrala (core μP). Acest lucru permite eliminarea buclelor de delay din programul principal.

Componentele cele mai inportante a unui timer:

1. Registrul numarator (Timer Counter, TCNT) - măsoară efectiv intervalele de timp și este incrementat automat cu o frecvență dată.

2. Prescaler-ul - are rolul de a diviza în funcție de necesitățile aplicației frecvența de ceas și odată cu divizarea să incrementeze registrulTCNT.

3. La fiecare incrementare a TCNT are loc o comparație între acest registru și o valoare stocată în registrul OCRn. Această valoare poate fi încarcată de către programator prin scrierea registrului OCRn. Dacă are loc egalitatea se generează o întrerupere, în caz contrar incrementarea continuă.

Fig.1: Componentele si funcționarea unui timer

Regimurile de lucru ale Modulul TIMER

a) Numărător – destinat lucrului cu timpul.

b) Imput Capture – capturarea intrării care presupune determinarea apariţiei unui eveniment extern. Principala sarcină a unităţii de capturare la intrare este de a pune la dispoziţie suficientă memorie din cea a procesorului pentru apariţia de evenimente eventuale. Timpul dintre două evenimente este critic. Dacă procesorul nu a citit valoarea asociată capturii în Registrul ICR1, înainte de apariţia unui nou eveniment ICR1 va fi suprascris cu o nouă valoare. În acest caz valoarea asociată capturii va fi incorectă. Utilizând input capture interrupt, registrul ICR1 poate fi citit înaintea producerii rutinei întreruperilor. Chiar dacă input capture interrupt are prioritate ridicată, timpul maxim de răspuns la întrerupere depinde de numărul maxim de cicluri necesare tratării unei cereri de întrerupere. Durata unui ciclu pentru un semnal extern impune ca declanşatorul de nivel să fie schimbat după fiecare captură.

c) Output Capture – modul în care se poate genera un semnal extern la coincidenţa registrului timer cu o valoare prestabilită. Comparatorul pe 16 biţi compară TCNT1 cu ieşirea registrului Output Compare Register (OCR1x). Dacă TCNT este egal cu OCR1x comparatorul semnalizează o potrivire. Aceasta setează Output Compare Flag (OCF1x) pentru următorul ciclu de ceas. Dacă OCIE1x =1, Output Compare flag generează o ieşire output compare interrupt. OCF1x flag este dezactivat automat atunci când se execută o întrerupere. OCF1x flag poate fi de asemenea dezactivat prin trecerea în ‘1’ logic a bitului I/O. Ţinând cont că scrierea lui TCNT1 în orice mod de operare va bloca orice comparare pentru un singur ciclu de ceas, există riscuri la schimbarea unuia din canalele output compare ale lui TCNT1 indiferent dacă Timer/Counter este pornit sau oprit. Dacă TCNT1 este egal cu OCR1x rezultatul comparării va fi pierdut, generându-se o formă de undă greşită.

d) Puls Width Modulation (PWM) – modulaţia impulsurilor de durată. Permite modularea unui semnal cu bandă reglabilă, modulată.

Observații:

Universitatea Tehnica a Moldovei

Facultatea Calaculatoare, Informatica si Microelectronica

Catedra Microelectronica si Ingineria Biomedicala

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Construirea unui Ceas de Timp Real pe Baza Microcontrolerului ATMega16.docx
Alte informații:
Tipuri fișiere:
docx
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
13 pagini
Imagini extrase:
13 imagini
Nr cuvinte:
1 812 cuvinte
Nr caractere:
11 009 caractere
Marime:
290.11KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Electronică
Predat:
la facultate
Materie:
Electronică
Sus!