Sunteți pe pagina 1din 19

1 .

Introducere
Aparatele i sistemele controlate cu microprocesor au aprut i s-au perfecionat odat cu
apariia pe pia a miroproesoarelor (1970 -1980) dup care (n special dup 1985) s-au rspndit
foarte rapid, nlocuind aproape complet aparatele i sistemele de msur i control numerice clasice
(cu logic cablat), att n tehnica de laborator ct i n instrumentaia industrial, mai ales n
controlul automat.

Clasificarea sistemelor cu microprocessor


n funcie de complexitatea sistemului din care face parte vom avea:
- aparate de msur cu microprocesor utilizate ca instrumente de laborator sau de teren;
- sisteme de msur cu microprocesor folosite n complexe de msur i control n industrie.

Avantajele folosirii microprocesoarelor n sistemele de msur i control


Includerea unui microprocesor ntr-un sistem de msur i control d posibilitatea ca manevrele
de operator s fie preluate (parial sau total) de ctre microprocesor i n plus s se obin cteva
avantaje importante:
1. Preluarea comenzilor de operator cum ar fi reglaje de zero i de cap de scar, selectarea
gamelor asigurnd un plus de precizie i siguran n exploatare.
2. Autocalibrarea i compensarea automat a influenei factorilor de clim. De asemenea se
calculeaz abaterile i se corecteaz rezultatul final al msurrii.
3. mbuntirea preciziei prin eliminarea erorilor sistematice (prin autocalibrare, autocorecie).
4. Micorarea numrului de componente ale sistemului prin eliminarea componentelor destinate
implementrii logicii cablate.
5. Creterea versatilitii aparatului prin obinerea unor posibiliti suplimentare de msur pe
baza programelor interne.
6. Creterea vitezei de lucru prin automatizarea operaiilor de msurare.
7. Posibilitatea determinrii prin calcul a altor parametrii de semnal (valoare de vrf, valoare
medie, valoare efectiv, calculul distorsiunilor, a spectrului de amplitudini, determinarea fazei,
defazajului).
8. Posibilitatea autotestrii prin programe speciale executate de microprocesorul ncorporat, la
comanda operatorului sau n cazul apariiei unei anomalii in funcionare. n acest caz se poate
declana o procedur de testare i semnalizare a eventualelor defecte.
Toate aceste avantaje arat clar c sistemele de msur i control moderne nu pot exista fr a fi
controlate de ctre microprocesoare.

Microprocesoare : o privire general


n cele ce urmeaz ne vom referi la un microprocesor generic (presupus de 8 bii) i vom
ncepe cu precizarea unor termeni i notaii utilizate n lucrrile din domeniul microprocesoarelor.

Definiii i terminologie
Sistemul de calcul este un echipament care transform datele de intare n rezultate de ieire pe
baza unui algoritm materializat ntr-un program. Aceast definiie reprezint sensul clasic al noiunii
de calculator .

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

Sistemele inteligente sunt acele sisteme care pot prelucra informaii incomplete definite sau
aproape complet definite. Astfel de sisteme sunt sistemele fuzzy sau reelele neuronale.
n cazul n care informaiile de prelucrat sunt complet definite atunci avem de-a face cu
algoritmi secveniali. Acest tip de algoritmi a stat la baza construciei mainilor secveniale (Von
Newman).
Dac operaiile elementare independente se pot executa paralel (pe mai multe uniti de calcul),
avem de-a face cu algoritmi paraleli.
ncepnd cu anii 1970 au aprut tendine de automatizare a proceselor de producie bazate
iniial pe automate numerice cablate (logic cablat) i apoi pe sisteme cu microprocesoare (logic
programat). De dat recent sunt sistemele bazate pe arhitecturi paralele (sisteme multiprocesor ,
sisteme distribuite).
Arhitectura mainii secveniale standard (Von Newman) este urmtoarea:

Unitate

Central Memorie

Subsistem de intrare/ieire

Om/proces

Unitatea central (CPU-Central Processing Unit), transform datele n rezultate pe baza


execuiei instruciunilor programului memorat.
Memoria este mediul principal de stocare/regsire a datelor, rezultatelor i programelor.
Subsistemul de intrare-ieire este destinat realizrii interfeei om-main sau proces-main.
Partea fizic a unui sistem de calcul (componentele electronice) este relative simpl, poate fi
produs n serie i este relativ ieftin. Termenul hardware se refer tocmai la aceast parte
Ceea ce transform acest echipament ieftin ntr-o diversitate de instrumente, controlere
industriale, calculatoare speciale sau de uz general, sunt programele (utilitare sau de aplicaii) i
sistemele de programe (operare, exploatare), adic software care vor determina hardware-ul de uz
general s execute ceea ce dorim.
Un alt termen frecvent utilizat este firmware, care desemneaz programe speciale stocate n
memorii nevolatile, al cror rol este de a asigura faciliti de configurare i testare a echipamentului,
precum i minima sa funcionare. Exemplu biosul de la calculatoarele personale.
Microprocesoarele actuale se produc ntr-o gam larg de variante, de la cele de uz general sau
cele destinate aplicaiilor industriale, pn la procesoarele de semnal sau coprocesoarele cu funcii
bine precizate. De asemenea, microprocesoarele pot fi:

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

- microprocesoare monocip (unitatea central i circuitele de suport sunt dispuse n interiorul


aceleiai capsule de circuit integrat).
- microprocesoare multicip la care unitatea central i circuitele de suport, sunt realizate sub
form de circuite integrate distincte.
Microprocesoarele pentru aplicaii dedicate mai ales cele destinate mediului industrial sunt
realizate monocip, oferind un plus de comoditate n proiectare i o fiabilitate sporit. De exemplu,
microprocesorul 80186, al firmei Intel, include aproximativ toate componentele sistemelor cu 8086,
adic unitatea central, generatorul de tact, controlerul de magistral i cel de ntreruperi, controlerul
DMA, contor/timer-ul, logica de decodificare, etc.
Deseori microprocesoarele monocip includ att memorie de lucru, ct i interfee de
intrare/ieire, adic structura minimal a unui microcalculator, motiv pentru care ele se mai numesc
i microcalculatoare ntr-un singur cip (Single Component Microcomputer). Deoarece aceast
categorie de microprocesoare sunt destinate mai ales aplicaiilor de control n mediul industrial, ele
se ntlnesc i sub denumirea de microcontrolere.
Microprocesoarele de uz general multicip au fost realizate i n variante monocip, purtnd
numele de microprocesoare nglobate. De exemplu, familiile 80186 sau 80386EX sunt produse de
Intel i n varianta monocip avnd avantajul utilizrii suportului de programe i exploatare dezvoltat
pentru sistemele de calcul existente curent pe pia (de exemplu calculatoarele personale).

Elemente tehnologice
Microprocesoarele i circuitele de suport se pot produce n urmtoarele tehnologii:
1 . Tehnologia bipolar permite obinerea unor viteze de lucru mari, dar cu un consum
ridicat i cu probleme de climatizare deosebite.
2 . Tehnologia MOS a evoluat mult, oferind condiii de obinere a unor performane de
vitez deosebit, n condiiile unui consum redus i al unui grad de integrare foarte ridicat. Exist 3
familii MOS mai importante:
PMOS se bazeaz pe realizarea tranzistoarelor MOS cu canal p, prin difuzia impuritilor de
tip p (bor), ntr-un substrat de siliciu de tip n , pentru a forma drena i sursa. Se remarc prin
densitate mare de integrare, ns microprocesorul este relativ lent.
NMOS se bazeaz pe relizarea tranzistoarelor MOS cu canal n prin difuzia impuritilor de
tip n (fosfor sau arseniu) ntr-un substrat de siliciu de tip p, pentru a forma drena i sursa. Se obine o
densitate de componente similar cu cea specific PMOS, dar asigur o vitez mai mare pentru
circuitele realizate, ns este mult mai scump dect tehnologia PMOS.
CMOS combin ambele tipuri de tranzistoare ntr-o structur complementar, rezultatul fiind
o vitez de lucru medie, imunitate mare la zgomote i un consum extreme de redus.
HMOS este o tehnologie mai recent i a fost utilizat cu succes de firma INTEL la realizarea
noilor sale generaii de microprocesoare i microcontrolere. Aceast tehnologie folosete
tranzistoare cu canal n, proiectate special pentru a lucra la tensiuni joase i la viteze mari.
CHMOS este rodul mbinrii performanelor de vitez deosebit ale tehnologiei HMOS, cu
consumul sczut al celei CMOS. Rezultatul a fost remarcabil, astfel nct majoritatea productorilor
de microprocesoare i microcontrolere au trecut la aceast tehnologie.

Bii , octei , cuvinte

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

Marea majoritate a echipamentelor numerice folosesc pentru reprezentarea intern a numerelor


sistemul binar, caracterizat de utilizarea a numai 2 cifre: 0 i 1. Bitul reprezint cea mai mic
unitate de informaie, echivalent cu o afirmaie (DA , 1) sau o infirmaie (NU, 0).
Pentru uniti mai mari, cea mai important este octetul, obinut din gruparea a 2 8 bii.
Octetul reprezint unitatea cea mai folosit pentru caracterizarea dimensiunii blocurilor de memorie.
Dac aceast dimensiune este mare, se pot folosi multiplii acestuia:
Kilooctet 210 bii
Megaoctet 220 bii 210 KB
Gigaoctet 230 bii 210 MB 220 KB
Un cuvnt este un grup de bii ce desemneaz cantitatea maxim de informaie ce poate fi
transferat la un moment dat de un dispozitiv numeric. Cuvntul este materializat prin ci paralele de
comunicaie a informaiei numite magistrale. Numrul de bii al unui cuvnt constituie lungimea sa.
Lungimea unui cuvnt este una dintre caracteristicile cele mai importante ale unui microprocesor,
deoarece hotrte precizia datelor i viteza de prelucrare a acestora.

Algoritmi , programe i limbaj main


Fiind dat o problem pentru rezolvarea acesteia trebuie gsit o metod adecvat
algoritmul. Un algritm este o secven de operaii, grupate ntr-o succesiune de etape (pai) ce permit
rezolvarea problemelor specificate. Pentru a fi neles de microprocesor, algoritmul trebuie prezentat
ntr-un limbaj adecvat, limbaj care const ntr-un set de simboluri i reguli de sintax foarte bine
precizate. Materializarea algoritmului cu ajutorul unui limbaj se face ntr-un program ce const ntr-o
succesiune de operaii elementare instruciuni.
La nivelul cel mai de jos, instruciunile programului se prezint ca iruri de bii ce pot fi
transformate cu uurin n impulsuri electrice, dar care sunt foarte greu de manevrat de ctre
programator. Acest limbaj, singurul neles de procesor este numit limbaj main. Din acest motiv, au
fost create programe speciale, care permit utilizarea unor limbaje mai apropiate de cel uman (limbaj
de asamblare).
Ulterior au fost create o multitudine de limbaje (BASIC, FORTRAN, C etc) , numite de nivel
ridicat, a cror scop a fost gsirea unei modaliti ct mai accesibile de a programa un microprocesor.

Logic cablat i logic programat


Logica cablat presupune un automat de control n care secvena de semnale de
sincronizare/coordonare sunt elaborate pe baza unei scheme fixe (de obicei cu pori i bistabile
interconectate convenabil), imposibil de modificat.
Logica programat se bazeaz pe un automat de control flexibil, capabil s genereze semnale
de sincronizare/coordonare, pe baza unui program executat de microprocesor. Majoritatea aparaturii
moderne utilizeaz logic programat. Prin simpla modificare a programului, ntreaga funcionare a
aparatului se poate schimba.

Puterea de calcul i viteza de lucru a microprocesorului


Prin putere de calcul se nelege mai ales capabilitatea de prelucrare numeric a acestuia i este
determinat de lungimea cuvntului, de arhitectura intern i viteza de execuie a
instruciunilor.Viteza microprocesorului este condiionat de 2 factori:

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

-Frecvena ceasului un tact mai rapid determin un procesor s execute un program mult mai
rapid;
-Arhitectura intern permite creterea vitezei de lucru (meninnd frecvena ceasului
neschimbat) pe baza trecerii de la execuia strict secvenial a operaiilor, la execuia lor paralel,
ntr-un mod transparent pentru utilizator, folosind tehnici ca: utilizarea memoriilor CACHE,
creterea numrului de magistrale interne ale unitilor de prelucrare, succesiune pipeline
(suprapunerea parial a operaiilor).
-Viteza de execuie a instruciunilor este dificil de msurat direct. Se definete de obicei ca durata
de execuie a unor instruciuni foarte des folosite sau ca numr mediu de instruciuni executate ntr-o
secund.
-Setul de instruciuni - condiioneaz indirect viteza de calcul. Cu ct modul de codificare a
instruciunilor este mai simplu i secvena microoperaiilor este mai rapid, cu att microprocesorul
va avea o vitez de lucru mai mare.
Microprocesoarele cu set complet de instruciuni (CISC) consum un timp relative ridicat pe
instruciune, dar compenseaz acest lucru printr-o gam divers de instruciuni.
Spre deosebire de ele, microprocesoarele cu set redus de instruciuni (RISC) sunt optimizate
astfel nct instruciunile s fie executate foarte rapid, chiar mai multe ntr-un singur tact main .

Arhitectura intern a unui microprocessor


Ca orice unitate central a unui sistem de calcul, microprocesorul conine urmtoarele
componente principale:
- unitatea de control CPU ;
- unitatea logico-aritmetic ALU;
- registre interne;
Acestea comunic ntre ele prin ci de transfer informaiei numite magistrale, ce leag ntre ele
mai multe dispozitive, dar la un moment dat doar dou dispozitive pot schimba informaie: sursa i
destinaia. Coordonarea transferurilor pe magistral se face de ctre un dispozitiv master, cele
subordonate fiind slave. Microprocesorul posed i o magistral intern, legat printr-o interfa la
magistrala extern.
Structura intern a unui microprocesor generic este urmtoatea:

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

REG DCD

ACC

ADD
BUS

X
B

ALU
TMP
R3
R1

PS

R4
R2

BI
DATA
BUS

IR
CLK
Gen

Inst DCD

PC
SP
CPU

CMD
BUS

Cuartz

Reset

INT

Sarcina tehnic
Proiectul dat din punct de vedere a prtii sale electronice, va fi realizat n baza
microcontrolerului Atmega16, scopul principal fiind realizarea unui sistem de achitare
electronic n transport public. La realizarea proiectului voi utiliza mediul de proiectare AVRStudio pentru elaborarea si compilarea programului microcontrolerului. Pentru simularea
circuitului voi folosi pachetul de programe pentru simulare Proteus i schema electrica va fi
realizat n Eagle.

Structura i principiul de funcionarea al microcontrolerului


ATmega 16 este un microcontroler CMOS de 8 bii de mic putere bazat pe arhitectura RISC AVR
imbunataita.
Dispune de un set de 131 instruciuni i 32 de regitri de uz general. Cele 32 de registre sunt
direct adresabile de Unitatea Logica Aritmetica (ALU), permind accesarea a doua registre
independente intr-o singura instruciune. Se obine astfel o eficiena sporita in execuie (de pana la
zece ori mai rapide decat microcontrorelerele convenionale CISC).
ATmega16 este un microcontroler RISC pe 8 bii realizat de firma Atmel. Caracteristicile principale
ale acestuia sunt:
-16KB de memorie Flash reinscriptibil pentru stocarea programelor
-1KB de memorie RAM
-512B de memorie EEPROM
-dou numrtoare/temporizatoare de 8 bii
-un numrtor/temporizator de 16 bii
-conine un convertor analog digital de 10 biti, cu intrri multiple
-conine un comparator analogic
-conine un modul USART pentru comunicaie serial (port serial)

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

-dispune de un cronometru cu oscilator intern


-ofer 32 de linii I/O organizate n patru porturi (PA, PB, PC, PD).
Structura intern general a controlerului este prezentat n Figura 1. Se poate observa c exist o
magistral general de date la care sunt conectate mai multe module:
-unitatea aritmetic i logic (ALU)
-registrele generale
-memoria RAM i memoria EEPROM
-liniile de intrare (porturile I/O Lines) i celelalte blocuri de intrare/ieire. Aceste ultime module
sunt controlate de un set special de registre, fiecare modul avnd asociat un numr de registre
specifice.
Structura interna a microprocesorului poate se poate vedea in fig.1.
Port A (PA7 .. PA0)
Port-ul A servete drept port de intrri analogice pentru Convertorul A/D.
Port-ul A serveste de asemenea i ca un port bidirecional I/O de 8 bii,n cazul n care
Convertorul A/D nu este folosit. Pinii de port pot fi conectai opional la VCC prin rezistori interni,
(selectai pentru fiecare bit). Buffer-ele de ieire ale Portului A au caracteristici de amplificare .
Port B (PB7.. PB0)
Portul B este un port I/O de 8 bii bidirecional cu rezistori interni (opionali).
Buffer-ele de ieire ale Port-ului B au caracteristici de amplificare.
Port-ul B indeplinete de asemenea funcii speciale ale microcontrolerului ATmega 16
Port C (PC7PC0)
Portul C este un port I/O de 8 bti bidirecional cu rezistori interni (opionali).
Buffer-ele de ieire ale Port-ului C au caracteristici de amplificare.
Daca interfaa JTAG (de depanare) este activat, rezistorii pinilor PC5(TDI), PC3(TMS) si
PC2(TCK) vor fi activai, chiar daca are loc o resetare.
Port-ul C indeplinete de asemenea funcii ale interfeei JTAG i alte funcii speciale ale ATmega 16.

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

Fig. 1: Structura interna a microprocesorului ATmega16

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

10

Port D (PD7PD0)
Portul D este un port I/O de 8 bii bidirecional cu rezistori interni conectai optional la VCC
(selectai pentru fiecare bit). Buffer-ele de output ale Port-ului D au caracteristici de amplificare.
Port-ul D indeplinete de asemenea funcii speciale ale ATmega 16.
Reset Un nivel sczut la acest pin mai mare ca durat decat o valoare prestabilit, va genera o
iniializare.
XTAL 1: Intrare pentru amplificatorul inversor al Oscilatorului;
XTAL 2: Ieire pentru amplificatorul inversor al Oscilatorului.
AVCC: AVCC este pin de alimentare pentru Port-ul A si Convertorului A/D. Trebuie conectat extern
la Vcc, chiar dac ADC nu este folosit. Daca ADC este folosit , ar trebui conectat la Vcc printr-un
filtru trece -jos.
AREF :AREF este pinul de referina analogica pentru Convertorul A/D
Figura 2 ne prezint n paralel o instruciune provocat i instruciunea de execuie permis de
arhitectura Harward i accesul rapid la regitrele fiier. Acesta este conceptul de baz pentru a obine
mai mult de 1 MIPS /MHz i cele mai bune rezultate din punct de vedere funciuni/cost ,
funciuni/timp i funciuni/unitate.

Fig.2: Instruciuni paralele de executie


Figura 3 ne arat timpul de registriu. ntr-un singur ciclu de ceas o operaie ALU folosete 2 registre
pentru a executa calculul respectiv. Iar rezultatul este stocat napoi n registrul de destinaie .

Fig.3: Operaii ALU ntr-un singur ciclu de ceas


Toate porturile AVR , utilizate ca porturi digitale I/O ndeplinesc funciile de citire/scriere i
pot fi modificate.Cu instruciunile SBI i CBS direcia unui port-pin poate fi schimbat fr ca acest

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

11

lucru s afecteze ceilali pini. Aceste caracteristici se pstreaz i n cazul modificrii valorii de
driver(dac este configurat ca o ieire) sau de activare/dezactivare dac rezistorii sunt
dezactivai(dac este configurat ca o intrare). Fiecare buffer de ieire are caracteristici de drive
simetrice cu ambele capaciti ale sursei. Pinul driver-ului are suficient putere pentru o afiare
direct.Toi pinii porturilor au fiecare rezistori de pull-up selectabili cu rezerve de putere. Toi pinii
I/O au diode de protecie la ambele surse de curent digitale si mpmntare.

Fig.4: Schema echivalent a pinilor I/O


Proiectarea sistemului de achizitie a datelor
Microprocesorul ATmega16 are incorporat 8 convertoare analog-digitale (ADC) cu rezolutia de 10
biti.
Schema bloc a convertorului este aratata in figura 6, iar diagrama temporala a convertorului este
prezentata in figura 5.

Fig.5: Diagrama temporala a convertorului analog-numeric


Pentru ca convertorul sa poate functiona este necesar sa alimental pin-ul AREF, sau AVCC cu o
tensiune de referinta, aceasta poate fi efectuata de la o sursa stabilizata de tensiune si eventual filtrate
cu ajutorulul unui filtru trece-jos LC.

Valoare adc-ului este calculata conforma urmatoarei formule:

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

12

Din formula de mai sus putem deduce o formula pentru calculul tensiunii de intrare VIN.
Adc-ul are o eroare de neliniaritate de 0.5 LSB, iar acuratetea medie este de 2 LSB.
Limita tensiunii de intrare este data de tensiunea de alimentare a microcontrollerului, adica maxim
5v.

Fig.6: Schema bloc a modulului de conversie ADC


Tehnologia RFID i implementarea cu microporcesorul Atmega 16
Tehnologia RFID este folosit de noi n zilele noastre zi cu zi. Cele mai
cunoscute exemple se pot ntlni n coli, birouri sau la sisteme de deschidere automat
a uilor. RFID conine dou pri, i anume tag-ul i modemul receptor. Cnd o
etichet RFID vine n intervalul de receptor, eticheta este activat i transmite codul
unic de identificare a modulului receptor.
Ieirea receptorului RFID este ID-ul unic, fie serial (RS232) sau formatul
Wiegand. Cele mai multe dintre receptoare sunt echipate cu hardware suplimentar
pentru a trimite codul extras n formatul de mai sus, care pot fi apoi utilizate de ctre
procesoarele de semnal digital. Acest proiect prezint interfee de ATMEGA16 cu
RFID.

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

13

Modulul RFID utilizat aici ofera un ID unic de 12 octeti de o anumit etichet


n format nivel de logica RS232 serial. Prin urmare, un MAX232 convertor de nivel
este utilizat n modul receptor ntre RFID i microcontroler. Conexiunile de modul
RFID i ATMEGA16 sunt prezentate circuitul diagrama.PIN-ul la sol de MAX232 i
ieire de serie a modulului RFID se fac comune. O conexiune cruce de cablu este
configurat ntre modulul RFID i MAX232 prin conectarea transmitorului dat de una
la PIN-ul receptor de cellalt i invers aa cum se arat n diagrama circuitului.
Pin 2 of max 232
Pin 3 of max 232
Pin 5 ground pin of max 232

Pin 3 of RFID modem


Pin 2 of RFID modem
Pin 5 ground of RFID modem

Pentru a nelege codul RFID care este interfaat cu ATMEGA16, trebuie s


aib cunotine de baz de comunicare de serie i LCD. Datele seriale de la modulul
RFID pot fi luate de ctre microcontroler fie de votare sau prin utilizarea conceptelor
de ntrerupere de serie.Aceast tez de an exploreaz interfaa pentru modul RFID cu
microcontroler AVR (ATMEGA16), folosind tehnica de votare. Codul descris aici
continu monitorizarea de intrare de serie pn cnd primete toate cei 12 octei de la
modulul RFID.
Primirea datelor de ntrerupere de serie 12 bii prin metoda de votare:
Paii pentru a primi date serial 12 octei
1. Iniializarea USART n modul de citire.
2. Ia un ir de 12 octei.
void getcard_id(void) // Function to get 12 byte ID no. from rfid card
{
for(i=0;i<12;i++)
{
card[i]= usart_getch(); // receive card value byte by byte
}
return;
}
iii.

Display that 12 byte data on LCD.

void LCD_display(void) // Function for displaying ID no. on LCD


{
for(i=0;i<12;i++)
{
LCD_write(card[i]); // display card value byte by byte
}
return;
}

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

14

Schema electric

Simularea n Proteus

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

15

CONCLUZII:
n zilele de astzi trim ntr-o lume a automatizrii i a controlului de ctre
dispozitivele electronice, domeniul IT cunoscind o dezvoltare foarte mare, continua, nu exista o zi
fara sa apara un element nou pe piata mondena. Toate aceste automatizri sunt realizate cu
ajutorul microcontrolerelor. Ele sunt prezente peste tot: la dispozitivele de afiare, la dispozitivele
audio, n prelucrarea informaiei etc.Odat cu evoluia microprocesoarelor, proiectarea
dispozitivelor a devenit
accesibil practic tuturor doritorilor, deoarece a aprut accesul la diverse component electronice,
despre care inainte nici nu se cunostea. Prin realizarea acestui proiect am fcut un mare pas spre
performanele n lumea ingineriei, deoarece am neles c de i e destul de dificil de
programat, este ceva foarte interesant i foarte eficient pentru evoluia sistemelor de calcul.

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

16

BIBLIOGRAFIE
1. Calmcov I. ,,Conspectul de curs PSM

2. DataSheet AtMega16
3. http://www.atmel.com/
4. http://www.google.com/
5. ATmega16 Regim de access: http://www.atmel.com/Images/doc2466.pdf

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

17

ANEX

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

18

Listingul programului:
/*
* GccApplication2.c
*
* Created: 25.12.2014 12:14:40
* Author: Johnny
*/
// Programul obine irul de 12 octei i va afia pe ecranul LCD prin metoda de votare:
/*
Codul unic RFID este afiat pe LCE
LCD DATA port----PORT B
ctrl port------PORT D
rs-------PD0
rw-------PD1
en-------PD2
*/
#define F_CPU 12000000UL
#define USART_BAUDRATE 9600
#define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)
#include<avr/io.h>
#include<util/delay.h>
#define
#define
#define
#define
#define

LCD_DATA PORTA
// LCD data port
ctrl PORTB
en PB2
// activarea semnalului
rw PB1
// citirea/scrierea semnalului
rs PB0
// registrarea semnalului selectat

void LCD_cmd(unsigned char cmd);


void init_LCD(void);
void LCD_write(unsigned char data);
void usart_init();
unsigned int usart_getch();
unsigned char i, card[12];
void getcard_id(void);
void LCD_display(void);
int main(void)
{
DDRA=0xff;
//Port LCD_DATA ca port de ieire
DDRB=0x07;
//ctrl as out put
init_LCD();
//Iniializarea LCD-ului
delay_ms(50);
// ntirziere 50 ms
usart_init();
// iniializarea USART
LCD_write_string("Unique ID No.");
//Funcia de afiarea irului pe LCD
while(1)
{
getcard_id(); // Funcia de obinere a cardului RFID de la portul serial
LCD_cmd(0xC0);
// se trece la 2 rnd, poziia 0 oe ecranul LCD
LCD_display();
// funcia de scriere a nr. Cardului RFID pe LCD
}
return 0;
}

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

19

void getcard_id(void) //functia de obinere a 12 bii nr. Cardului RFID


{
for(i=0;i<12;i++)
{
card[i]= usart_getch();
// primirea cardului cu valoarea bit cu bit
}
return;
}
void LCD_display(void)
//Funcia de afiare a ID nr. Pe LCD
{
for(i=0;i<12;i++)
{
LCD_write(card[i]);
// Valoarea cardului afiat bit cu bit
}
return;
}
void init_LCD(void)
{
LCD_cmd(0x38);
_delay_ms(1);

//iniializarea 16x2 LCD n modul 8bit

LCD_cmd(0x01);
_delay_ms(1);

//curaire LCD

LCD_cmd(0x0E);
_delay_ms(1);

//cursor ON

LCD_cmd(0x80);
_delay_ms(1);
return;

// ---8 merge la primul rind de linie i --0 este pentru 0th poziie

}
void LCD_cmd(unsigned char cmd)
{
LCD_DATA=cmd;
ctrl =(0<<rs)|(0<<rw)|(1<<en);
_delay_ms(1);
ctrl =(0<<rs)|(0<<rw)|(0<<en);
_delay_ms(50);
return;
}
void LCD_write(unsigned char data)
{
LCD_DATA= data;
ctrl = (1<<rs)|(0<<rw)|(1<<en);
_delay_ms(1);
ctrl = (1<<rs)|(0<<rw)|(0<<en);
_delay_ms(50);
return ;
}
void usart_init()
{
UCSRB |= (1 << RXEN) | (1 << TXEN); // Pornirea circuitelor de transmisie i recepie
UCSRC |= (1 << URSEL) | (1<<USBS) | (1 << UCSZ0) | (1 << UCSZ1);
// utilizarea a 8-bit dimensiuni de caractere

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

20

UBRRL = BAUD_PRESCALE;

// Load lower 8-bits of the baud rate value..


// into the low byte of the UBRR register
UBRRH = (BAUD_PRESCALE >> 8); // Load upper 8-bits of the baud rate value..
// into the high byte of the UBRR
register
}
unsigned int usart_getch()
{
while ((UCSRA & (1 << RXC)) == 0); // Do nothing until data have been received..
// and is ready to be read from UDR
return(UDR); // return the byte
}
void LCD_write_string(unsigned char *str)
// take address value of the string in pointer *str
{
int i=0;
while(str[i]!='\0')
// loop will go on till the NULL characters is soon in string
{
LCD_write(str[i]);
// Transmiterea datelor LCD-ului bit cu bit.
i++;
}
return;
}

UTM 529. 1. 266 ME


Mod

Coala

Nr. document

Semntura

Data

Coala

21