Microcontrollerul AT89C51IC2

De la Wikipedia, enciclopedia liberă

Atmel oferă o gamă largă de microcontrollere bazate pe arhitectura 8051 cu o densitate de cod variind de la 2K bytes la 128K bytes.

Linia de produse include microcontrollere pe 8 biți bazate pe nucleul AT89LP cât și pe standardul MCS-51® în variantele cu 14/16/20/28 pini, toate fabricate cu tehnologii avansate Flash. Majoritatea membrilor acestei linii de produse au posibilitatea de programare In-System (ISP), in time ce altele suportă modul de viteză ridicată (x2) care dublează frecvența de ceas pentru unitatea centrală de prelucrare și periferice la alegerea utilizatorului.

Descriere[modificare | modificare sursă]

AT89C51IC2 este o versiune Flash performantă microcontrollerului pe 8 biți 8051. Conține un bloc de memorie Flash de 32K bytes pentru program și date.

Memoria Flash de 32k bytes poate fi programată fie în mod paralel, fie în mod serial prin software sau prin posibilitatea de a folosi ISP. Voltajul din timpul programării este generat intern prin pinul standard Vcc.

AT89C51IC2 conține toate caracteristicile lui 8052 cu 256 bytes interni de RAM, un controller de întreruperi pe 4 nivele și cu 10 surse și 3 timere/numărătoare.

În plus, AT89C51IC2 are un oscilator de ceas de 32 kHz, un vector programabil de counter, un XRAM de 1024 bytes, un timer hardware de tip watchdog, o interfață cu tastatura, o interfață cu două fire, un canal serial mai versatil ce facilitează comunicația multiprocesor (EUART) și un mecanism de îmbunătățire a vitezei (cu două moduri de funcționare).

Întregul ansamblu al AT89C51IC2 permite reducerea consumului de putere al sistemului prin coborârea frecvenței de ceas până la orice valoare, chiar și DC, fără pierderi de date.

AT89C51IC2 are două moduri de activitate redusă selectabile prin software și un prescaler de ceas pe 8 biți pentru o reducere suplimentară a consumului de putere. În modul de funcționare idle, unitatea centrală de prelucrare este înghețată în timp ce perifericele și sistemul de întreruperi continuă să opereze. În modul închis, memoria RAM este salvată și orice alte funcții sunt inoperabile.

Funcțiile suplimentare ale lui AT89C51IC2 îl fac mai puternic pentru aplicațiile care necesită pulsații cu modulare, viteză de intrare/ieșire mare si funcționalități de numărare cum ar fi alarmele, controlul unui motor, telefoane cu fir, cititoare inteligente de carduri.

Regiștri cu funcții speciale SFR[modificare | modificare sursă]

Regiștrii pentru funcții special (engl. Special Function Registers, SFR) ai AT89C51IC2 fac parte din următoarele categorii:

  • Regiștri de bază C51: ACC, B, DPH, DPL, PSW, SP
  • Regiștri pentru porturile de intrare/ieșire: P0, P1, P2, P3, PI2
  • Regiștri de timer: T2CON, T2MOD, TCON, TMOD, TH0, TL0, TH1, TL1, TH2, TL2, RCAP2L, RCAP2H
  • Regiștri pentru porturile seriale de intrare/ieșire: SADDR, SADEN, SBUF, SCON
  • Regiștri pentru vectorul de numărare programabil (PCA): CCON, CCAPMx, CL, CH, CCAPxH, CCAPxL (x: de la 0 la 4)
  • Regiștru de control pentru alimentare și ceas: PCON
  • Regiștri pentru timerul hardware de tip watchdog: WDTRST, WDTPRG
  • Regiștri pentru sistemul de întreruperi: IEN0, IPL0, IPH0, IEN1, IPL1, IPH1
  • Regiștri pentru interfața cu tastatura: KBE, KBF, KBLS
  • Regiștri SPI: SPCON, SPSTR, SPDAT
  • Regiștri pentru interfața pe două fire: SSCON, SSCS, SSDAT, SSADR
  • Regiștri pentru generatorul ratei de bauzi (Baud Rate Generator BRG): BRL, BDRCON
  • Regiștru Flash: FCON
  • Registru pentru prescalerul de ceas: CKRL
  • Regiștri pentru suboscilatorul de ceas de 32 kHz: CKSEL, OSSCON

Interfața pentru tastatură[modificare | modificare sursă]

AT89C51IC2 are implementată o interfață pentru tastatură care permite conectarea unei tastaturi matriceale 8xn. Este bazată pe 8 intrari cu întreruperi programabile atât pe nivel high cât și low. Aceste intrări sunt disponibile ca funcționalitate alternativă a lui P1 si permit ieșirea din modurile idle si închis.

Schema bloc a interfeței cu tastatura
Schema bloc a interfeței cu tastatura

Interfața pentru tastatură este conectată cu nucleul C51 prin 3 regiștri cu funcții speciale: KBLS, registrul de selecție al nivelului tastaturii, KBE, registrul de enable al întreruperilor tastaturii și registrul flag al tastaturii KBF.

Întreruperi[modificare | modificare sursă]

Intrările tastaturii sunt considerate ca 8 surse de întreruperi independente care împart același vector de întreruperi. Un bit de enable al întreruperilor (KBD în IEN1) permite activarea sau dezactivarea globală a întreruperilor tastaturii.Fiecare intrare a tastaturii are capacitatea de a detecta un nivel programabil corespunzător valorii bitului KBLS.x. Detectarea nivelului este apoi raportată flag-urilor de întreruperi KBF.x care pot fi mascați prin intermediu software folosing biții KBE.x.

Această structură permite tastaturii aranjamente de matrice de dimensiuni 1 la n pe 8 la n cât și folosirea intrarilor P1 pentru alt scop.

Bibliografie[modificare | modificare sursă]

http://www.atmel.com/dyn/products/devices.asp?family_id=604#1684

Vezi și[modificare | modificare sursă]