Sunteți pe pagina 1din 11

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - ! -

Microcontrolerul Intel 8051 Structur i funcionare


Microcontrolerele sunt microprocesoare cu o structur simpl $i cu un lim&aj de asam&lare cu un numr redus de instruc#iuni) *iind *oarte utili+ate ,n aplica#iile ,n care este nevoie de e-ecutarea unor calcule $i a unor al(oritmi nu *oarte complica#i) o*erind un cost de implementare redus datorit pre#ului care ,n ca+ul microcontrolerelor este mai mic dec.t cel al altor procesoare di(itale mai comple-e) un e-emplu *iind /S'-urile) mult mai comple-e dar $i mult mai scumpe /e asemenea) datorit structurii simple $i a lim&ajului de asam&lare cu un numr redus de instruc#iuni) microcontrolerele sunt *oarte simplu de utili+at $i de pro(ramat ,n diverse aplica#ii 0ntel 123! este considerat ca *iind un standard ,n industria microcontrolerelor per*ormante El este implementat cu o structur pe 1 &i#i) *iind produs ,n mai multe variante) ,n *unc#ie de cantitatea $i tipul de memorie inclus precum $i ,n *unc#ie de capacit#ile structurale /e asemenea) majoritatea *irmelor productoare de microcontrolere produc modele compati&ile cu standardul 123!) cu diverse ,m&unt#iri 4n ta&elul ! ! sunt pre+entate c.teva microcontrolere din *amilia 123! ,mpreun cu caracteristicile lor Tip chip 123! 12C3! 123: 12C3: Fr %5M 127! 12C3! 127: 12C3: Cu E'%5M --1<C3! 1<3: 1<C3: %5M intern 89 89 19 19 %"M intern !:1 &;tes !:1 &;tes :36 &;tes :36 &;tes Timere pe Tipul !6 &i#i : : 7 7 circuitului NM5S =M5S NM5S CM5S

Ta&elul ! ! > Tipuri de microcontrolere din *amilia 123! ?:@ Caracteristicile principale ale *amiliei 123! sunt pre+entate ,n cele ce urmea+

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - : -

123!A C'U pe 1 &i#i !:1 octe#i de %"M intern 8 9octe#i de %5M intern 'osi&ilitate de adresare a 68 9octe#i de memorie pro(ram 'osi&ilitate de adresare a 68 9octe#i de memorie de date 7: de linii 0B5 &idirec#ionale adresa&ile individual : timereBcountere pe !6 &i#i 3 surse de ,ntrerupere cu dou nivele de priorit#i Cenerator de tact intern 'osi&ilitate de lucru *ull-duple- prin inter*a# serial 'osi&ilitate de lucru pe &i#i 4n plus) versiunea ,m&unt#it 123:) total compati&il cu 123! are modi*icate caracteristicile pre+entate mai jos 123:A :68 octe#i de %"M intern 1 9octe#i de %5M intern 7 timereBcountere pe !6 &i#i 5 alt versiune ,m&unt#it este 1<3:) care ,n plus *a# de 123: are memoria intern de pro(ram de tipul E'%5M Dmemorie reinscripti&ilE E-ist ast+i ,n produc#ie la di*erite companii modele cu memorie care poate *i mai usor reinscriptionat) cum ar *i cea E'%5M Dcu ster(ere prin e-punere la radia#ii ultravioleteE sau cea EE'%5M Dcu $ter(ere electricE 5 list complet a modelelor *amiliei 123! se (se$te pe site-ul *irmei 0ntel) FFF intel com

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - 7 -

Structura intern de &a+ a microcontrolerului 123! este pre+entat ,n schema din *i(ura ! !

Fi( ! ! > Structura intern a microcontrolerului 0ntel 123! ?!@ 4n continuare) *iecare din &locurile componente vor *i anali+ate *iind e-plicat pe scurt rolul lor $i principiul de *unc#ionare C'U C'U DCentral 'rocessin( UnitE este procesorul matematic al sistemului) el *iind inima ,ntre(ii *unc#ionri a microprocesorului 'rocesorul matematic cu care sunt dota#i mem&rii *amiliei 0ntel 123! este structurat pe 1 &i#i) *iind optimi+at pentru utili+area ,n aplica#ii de control Setul de instruc#iuni) redus ca numr) precum $i re(i$trii utili+a#i ,n *unc#ionarea procesorului vor *i pre+entate ,n lucrrile de la&orator urmtoare

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i 5SC

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - 8 -

5SC D0nternal 5SCillatorE este (eneratorul de tact intern cu care este dotat microcontrollerul "cesta (enerea+) cu ajutorul impulsurilor provenite de la un cristal de cuar# le(at ,n e-terior) semnalul de tact care asi(ur *unc#ionarea ,ntre(ului sistem intern /e asemenea) microcontrolerul poate *unc#iona $i dup un semnal de ceas e-tern Modul de conectare a cristalului de cuar# ,n ca+ul utili+rii oscilatorului intern este pre+entat ,n *i(ura ! :

Fi( ! : > Conectarea unui cristal de cuar# e-tern ?!@ Frecven#a cristalului de cuar# ce tre&uie conectat di*er ,n *unc#ie de per*orman#a microcontrolerului $i este speci*icat de productor) dar o valoare tipic pentru aceasta este de !: M=+ Galorile capacit#ii celor doi condesatori este de asemenea dat de ctre productor ,n documenta#ia microcontrolerului Modul de conectare a semnalului de ceas e-tern ,n ca+ul ,n care acesta este *olosit este pre+entat ,n *i(ura ! 7 Modul de conectare ,n acest ca+ depinde de tipul de circuit implementat ,n structura intern a procesorului care este

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - 3 -

Fi( ! 7 > Conectarea unui semnal de ceas e-tern ?!@ 0nstruc#iunile utili+ate ,n pro(ramarea microcontrolerelor din *amilia 0ntel 123! sunt de dou tipuri) ,n *unc#ie de durata lor de e-ecu#ie "st*el) e-ist instruc#iuni a cror e-ecu#ie necesit un ciclu ma$in $i instruc#iuni ce necesit dou cicluri ma$in /e asemenea) e-ist instruc#iuni al cror cod este scris ,n memorie pe un &;te $i altele al cror cod ocup : &;tes Un ciclu ma$in este ,mpr#it la acest tip de microcontrolere ,n $ase perioade e(ale de e-ecu#ie) notate de la S! la S6 Fiecare din aceste perioade necesit pentru e-ecu#ie : perioade de ceas /up un calcul simplu) reiese c pentru ! ciclu ma$in) *ormat din 6 pr#i de c.te : perioade de ceas) este nevoie de !: perioade de ceas 4n ca+ul ,n care avem un

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - 6 -

ceas de !: M=+) reiese c timpul de e-ecu#ie pentru o instruc#iune scurt este de ! Hsec) iar pentru una lun( este de : Hsec Modul (eneric de e-ecu#ie a di*eritelor tipuri de instruc#iuni este pre+entat ,n *i(ura ! 8

Fi( ! 8 > Modul de e-ecu#ie a di*eritelor tipuri de instruc#iuni ?!@ "st*el) pe parcursul *iecrui ciclu ma$in) se e-ecut dou citiri din memoria pro(ram) una ,n S! $i una ,n S8 4n ca+ul ,n care instruc#iunea este pe : &;tes) ,n S! este citit primul &;te iar ,n S8 al doilea /ac instruc#iunea este pe ! &;te) citirea din memorie din S8 este pur $i simplu i(norat de C'U "cela$i lucru este vala&il $i ,n ca+ul instruc#iunilor ce necesit dou cicluri ma$in 5 e-cep#ie este instruc#iunea de

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - < -

accesare a memoriei e-terne M5GI ,n care ultimele dou citiri din memorie nu se e-ecut JUS C5NT%5L Microcontrolerele din *amilia 0ntel 123! au ,n structura lor un &us unic de date Func#ionarea acestuia $i (estiunea tra*icului este asi(urat de &locul JUS C5NT%5L de control al &us-ului "cest &loc este controlat direct de C'U 8 0B5 '5%TS "cestea *ormea+ una din cile de comunicare cu e-teriorul Microcontrolerul este dotat cu 8 porturi de intrareBie$ire) *iecare dintre acestea *iind de 1 &i#i 4n total) avem 7: de linii de intrareBie$ire 'orturile sunt notate cu '2) '!) ': $i '7 Liniile acestora sunt notate '2 !'2 <) etcK 'e l.n( *unc#iile de intrareBie$ire porturile mai au $i unele ,ntre&uin#ri alternative "st*el) ie$irile din '2 $i ': precum $i intrrile din '2 sunt utili+ate la accesarea memoriei e-terne 4n plus) liniile portului '7 $i) la 123:) $i liniile '! 2 $i '! !) mai au $i alte ,ntre&uin#ri alternative pre+entate mai jos ,n ta&elul ! :

Ta&el ! : > Utili+area alternativ a unor linii de 0B5 DLnumai la 123:E ?!@

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - 1 -

SE%0"L '5%T 'ortul serial este de tip U"%T $i asi(ur prin liniile %I/ $i TI/ comunicarea de tip serial Func#ionarea portului serial poate s ai& loc ,n 8 moduri distincte) selecta&ile prin pro(ram) la care varia+ vite+a de transmisie) numit rat de &aud "st*el) avemA modul 2 > rat de &aud *i- > !B!: din *recven#a oscilatorului modul ! $i 7 > rat de &aud varia&il > (enerat de Timerul ! modul : > rat de &aud *i- > !B7: sau !B68 din *recven#a oscilatorului

T0ME% 2) ! Microcontrolerul 123! este dotat cu dou numrtoare Dtrei la 123:E Fiecruia dintre aceste numrtoare poate s i se aloce o valoare pe care el o va decrementa p.n la 2 Numrtoarele pot *i utili+ate ,n dou moduri 'rimul mod) numit timer) *ace ca decrementarea valorii s *ie e-ecutat ,n *unc#ie de ceasul intern al procesorului "st*el) cunosc.nd durata unei perioade de ceas) se poate msura o perioad de timp "l doilea mod) numit counter) *ace ca decrementarea s ai& loc la schim&area strii de pe un pin e-tern al microcontrolerului DT2) T! > ve+i para(ra*ul despre porturile de 0B5E "cest lucru permite numrarea unor evenimente e-terne Dde e-emplu numrarea impulsurilor primite de la un encoder incremental de msurare a tura#iei unui motorE 4n am&ele ca+uri) la ajun(erea decrementrii la 2) este (enerat o ,ntrerupere de timer "ceast ,ntrerupere opre$te e-ecu#ia *irului principal al pro(ramului $i determin e-ecutarea unei rutine speciale scris la o adres speci*ic de memorie) di*erit ,n *unc#ie de ,ntreruperea (enerat E-ist dou ast*el de ,ntreruperi de timer Dtrei la 123:E) T0ME% 2 $i T0ME% !) corespondente celor dou numrtoare "dresele la care sunt scrise rutinele de tratare a ,ntreruperilor sunt pre+entate ,n para(ra*ul re+ervat memoriei %5M

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - M -

0NTE%%U'T C5NT%5L Microcontrolerul 123! este dotat cu 3 surse principale de ,ntrerupere "ceste ,ntreruperi) odat activate) opresc e-ecu#ia *irului principal al pro(ramului $i determin saltul la o adres speci*ic din memorie unde se poate scrie o rutin special care s se e-ecute ,n ca+ul declan$rii ,ntreruperii "dresele unde tre&uie scrise aceste rutine sunt descries ,n para(ra*ul dedicate memoriei %5M Cele cinci surse de ,ntrerupere sunt urmtoareleA dou ,ntreruperi e-terne D0NT%2 $i 0NT%!E) care au aloca#i doi pini ,n capsula microcontrolerului D0NT2) 0NT! > ve+i para(ra*ul despre porturile de 0B5E) $i care se activea+ la aplicarea unui semnal lo(ic pe unul din ace$ti pini "cestea sunt *oarte utile pentru semnali+area unui eveniment e-tern Dde e-emplu ajun(erea la captul cursei a unui &ra# de ro&ot) ca+ ce implic necesitatea opririi motoruluiE dou ,ntreruperi de timer DT0ME%2) T0ME% ! > trei la 123:) T0ME% :E) care se activea+ de ctre numrtoare la terminarea ciclului de numrare o ,ntrerupere utili+at la transmisia pe portul serial

8N %5M Memoria de tip %5M D%ead 5nl; Memor;E este *olosit ,n ca+ul microcontrollerului pe post de memorie pro(ram) unde sunt stocate instruc#iunile ce urmea+ s *ie e-ecutate 4n ca+uri particulare) ,n aceast memorie se pot plasa $i date a cror valoare nu se modi*ic pe parcursul pro(ramului Dde e-emplu ta&ele de cutareE *iind implementat $i o metod de a citi direct valorile din memoria pro(ram Memoria pro(ram nu poate *i modi*icat pe parcursul rulrii pro(ramului) ea put.nd *i doar citit Scrierea ei se *ace cu dispo+itive speciale iar $ter(erea este posi&il doar ,n *unc#ie de tipul de memorie *olosit DE'%5M > $ter(ere cu ra+e ultraviolete) EE'%5M > $ter(ere electricE E-ecu#ia unui pro(ram ,ncepe cu citirea din memorie a instruc#iunii de la adresa 2222h /eoarece ,ncep.nd cu 2227h e-ist o +on de memorie re+ervat rutinelor de tratare a ,ntreruperilor) de o&icei prima instruc#iune a unui pro(ram este una de salt care *ace ca citirea instruc#iunilor s continue dup aceast +on

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - !2 -

'entru tratarea ,ntreruperilor) sunt alocate 3 +one de memorie) dup cum urmea+A 2227h > 0NT% 2 222Jh > Timer 2 22!7h > 0NT% ! 22!Jh > Timer ! 22:7h > Timer : Ddoar la 123:E 4n ca+ul ,n care rutina de tratare a ,ntreruperii nu ,ncape ,n aceast +on) la aceste adrese se va plasa o instruc#iune de salt spre o +on de memorie aleas pentru scrierea rutinei) la o adres mai mare de 22:7h) di*erit de cele la care se (sesc scrise instruc#iunile pro(ramului principal !:1 JOTES %"M Memoria %"M D%andom "ccess Memor;E este o memorie care poate *i at.t citit c.t $i scris ,n timpul e-ecu#iei pro(ramului Ea este *olosit ca $i memorie de date Structura ei este pre+entat ,n *i(ura ! 3

Fi( ! 3 > Structura memoriei %"M ?!@ 5 parte a ei este ocupat de diver$i re(i$trii cu rol important ,n *unc#ionarea microcontrolerului /intre ace$ti re(i$trii putem aminti re(istrul ") numit $i accumulator $i re(istrul J) utili+a#i de majoritatea instruc#iunilor de calcul) un set de re(i$trii cu rol de con*i(urare $i de semnali+are a di*eritelor evenimente) numi#i $i re(i$trii SF% DSpecial Function %e(istersE) ace$tia *iind locali+a#i ,n memorie ,n +ona 12h > FFh

Universitatea Tehnic Cluj-Napoca Facultatea de Electrotehnic Catedra de "c#ionri Electrice $i %o&o#i

Sisteme cu Microprocesoare Lucrarea nr ! 'a( - !! -

Mai e-ist $i 8 &ancuri de c.te 1 re(i$trii pe 1 &i#i) care pot *i *olosi#i pentru stocarea de date ,n cadrul pro(ramului) nota#i cu %2-%< Un sin(ur &anc de re(i$trii poate *i utili+at o dat) selectarea sa *iind *cut cu o instruc#iune speci*ic "ce$ti re(i$trii sunt locali+a#i ,ntre 22h $i !Fh Utili+area lor ,n cadrul pro(ramului aduce o vite+ superioar *a# de utili+area direct a memoriei din +ona respectiv %estul memoriei este adresa&il pe &it) direct sau indirect

J0JL05C%"F0EA ! : Intel Company, 1994 MCS 3! microcontroller *amil; userPs manual ! "un#u, $! %etreu, S! %lea > Microcontrolere *amilia 0ntel 123! > /escriere) aplica#ii) Ed Compre-) Cluj-Napoca) !MM7

S-ar putea să vă placă și