Sunteți pe pagina 1din 26

Universitatea Politehnica din Bucuresti

Facultatea Transporturi
Catedra Telecomenzi si Electronica in Telecomunicatii
PROIECT MICROCONTROLERE
Simularea unui bloc de linie automata
1
Autori: ndrumator:
T!PA"A #A$A"% Asist&n'&#ihai %iculescu
A%(E"ESCU SE)(U
#*A"A F"!)%
(rupa:+,-.
/.00+1.002/
CUPRINS
I. Tema
II. Proiectarea hardware
.&-&Schema bloc
.&.&$escriere blocuri si calcul componente
.&,&Schema electrica 'enerala
.&3&Cabla4 si consideratie de proiectare
2
.&5&"ista component si calcul
economic
III. Proiectare software
,&-&$escriere 'enerala
,&.&Schema lo'ica a so6tului
,&,&"istin' so6t
IV. Bibliorafie
3
Cap
TE#A
Tema proiectului consta in Simularea unui bloc de linie automata
controlarea ledurilor si veri6icarea starii barierei&
7om avea o sectiune de linie impartita in , parti&Se va construi cate un
sema6or cu , culori 8rosu9'alben9verde: pentru 6iecare sectiune din linie&
Fiecare sema6or va contine . optocuploare "T7 +-;9. relee Finder9,
rezistetente de ,,0 ohm9. rezistente de ..0 ohm9si . diode&
ntre' monta4ul va 6i conectat la un microcontroler ATme'a -; de unde va
controlat cu a4utorul unui so6t&
4
Ca! II
PROIECT"RE" #"R$%"RE
5
&.' Schema bloc
6
Mo(ta)
SE#AF!)
ATme'a
-;
Cale de comunicare
&.&.$escriere bloc*ri si calc*l com!o(e(te
"Tmea '+
ATme'a -; este un microcontroller C#!S de + biti de mica putere bazat
pe arhitectura )SC A7) <mbun=t=>it=& $ispune de un set de -,- de instructiuni
si ,. de re'istrii de uz 'eneral& Cele ,. de re'istre sunt direct adresabile de
Unitatea "o'ic= ?i Aritmetic= 8A"U:9 permi>@nd accesarea a dou= re'istre
independente <ntr/o sin'ur= instruc>iune& Se ob>ine9 ast6el9 o e6icien>= sporit= <n
eAecu>ie 8de p@n= la zece ori mai rapide dec@t microcontrorelerele conven>ionale
CSC:&
Caracteristicile principale ale acestuia sunt:
/ -;BB de memorie Flash reinscriptibil= pentru stocarea pro'ramelor C
/ -BB de memorie )A# C
/ 5-.B de memorie EEP)!# C
/ dou= num=r=toare1temporizatoare de + bi>i C
/ un num=r=tor1temporizator de -; bi>i C
/ con>ine un convertor analo' D di'ital de -0 bi>i9 cu intr=ri multiple C
/ con>ine un comparator analo'ic C
/ con>ine un modul USA)T pentru comunica>ie serial= 8port serial: C
/ dispune de un cronometru cu oscilator intern C
/ o6er= ,. de linii 1! or'anizate <n patru porturi 8PA9 PB9 PC9 P$:&
EAist= o ma'istral= 'eneral= de date la care sunt conectate mai multe module:
/ unitatea aritmetic= ?i lo'ic= 8A"U: C
/ re'istrele 'enerale C
/ memoria )A# ?i memoria EEP)!# C
/ liniile de intrare 8porturile D 1! "ines: ?i celelalte blocuri de intrare1iesire&
Aceste ultime module sunt controlate de un set special de re'istre9 6iecare
modul av@nd asociat un num=r de re'istre speci6ice&
7
Semafor*l
Sema6orul va 6i reprezentat de , culori8rosu9'alben si verde::
CULO"RE" ROSIE:se va aprinde cand primul sector va 6i ocupat&
CULO"RE" ,"LBEN":se va aprinde cand primul sector este liber iar al
doilea sector este ocupat&
CULO"RE" VER$E:se va aprinde cand primul si al doilea sector vor 6i
libere iar ultimul sector este ocupat&
Sema6orul este alcatuit din:
5 rezistente /. rezistente de ..0 !hm
/, rezistente de ,,0 !hm
. optocuploare "T7+-;
. relee Finder
, leduri 8'alben9rosu9verde:
Calc*l com!o(e(t
)ezistentele:
R1=(V
c
-V
F
)/I
F
=(5-1,2)/20

10
-3
= 3,!/20

10
3
= 1,"

10
2
=1"0 #
R2=(Vc-V$1)/I$1=(5-1,2)/0,01=3!0 #
%&'ocu&loare ()V !16
!

)eleu Finder
"
&.- Schema electrica e(erala
10
&.. Cabla)
11
&./ Lista com!o(e(te si calc*l eco(omic
NR. Com!o(e(te B*cati Pret S*btotal0RON
-& )eleu Finder ; 3 .3
12
.& !ptocuplor ; - ;
,& "ed 2 095 3&5
3& Cabla4 - m - -
5& Cablu pan'lica - m 3 3
;& Conector , -&5 3&5
E& )ezistente ..0
!hm
; 0&03 0&.3
+& )ezistente ,,0
!hm
2 0&05 0&35
2& $iode ; 09-0 0&;
-0& #u6e ; 0&5 ,
--& Placuta de test - ,&5 ,&5
-.& Cutie plastic - 5 5
TOT"L 5E&0,
13
Ca! III
PROIECT"RE" SO1T%"RE
-.' $escrierea e(erala
Pro'ramul a 6ost conceput pentru a determina daca:
14
cele , sectoare in care este impartita linia sunt ocupate sau nu si dupa
caz sa aprinda ledurile sema6orului corespunzatoare 6iecarui sector de
linie 8se aprinde ledul rosu cand primul sector este ocupat si celalte
doua sunt libere9ledul 'alben se aprinde cand primul sector este liber si
al doilea este ocupat9ledul verde se aprinde cand primele doua sectoare
sunt libere si ultimul sector este ocupat:C
sa primeasca de la un microcontroler datele despre ocuparea
sectoarelor si starea bariereiC
-.& Schema loica
15
START
SETARTI INITIALE
COMANDA INITIALA
SETARE SI ACTIVARE
INTRERUPERI
PRIMIR
E
DATE
Identificare situatie
DA NU
DA NU
-.- Listi( software
&include Fm-;de6&incF
r4mp reset
16
Verificare bariera
E
core
ct
Aprind
led
Coand
bariera
Re!enire din
intreruperi
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
r4mp reset
reset
ldi r-;9hi'h8)A#E%$:
out SP*9r-;
ldi r-;9loG8)A#E%$:
out SP"9r-;
ldi r-;90b00000000
17
out $$)C9r-;
ldi r-;90b--------
out P!)TC9r-;
ldi r-;90b--------
out $$)$9r-;
ldi r-;90b--------
out $$)B9r-;
main:
in r-;9P%C
andi r-;90b00000---
ldi r-E90b0000-000
cp r-;9r-E
brne et-
ldi r-+90b000-----
out P!)T$9r-+
r4mp main
et-:
ldi r-E90b0000-00-
cp r-;9r-E
brne et.
ldi r-+90b000---00
out P!)T$9r-+
r4mp main
1!
et.:
ldi r-E90b0000-0-0
cp r-;9r-E
brne et,
ldi r-+90b000-000-
out P!)T$9r-+
r4mp main
et,:
ldi r-E90b0000-0--
cp r-;9r-E
brne et3
ldi r-+90b000-0000
out P!)T$9r-+
r4mp main
et3:
ldi r-E90b0000--00
cp r-;9r-E
brne et5
ldi r-+90b00000---
out P!)T$9r-+
r4mp main
et5:
ldi r-E90b0000--0-
1"
cp r-;9r-E
brne et;
ldi r-+90b00000-00
out P!)T$9r-+
r4mp main
et;:
ldi r-E90b0000---0
cp r-;9r-E
brne etE
ldi r-+90b0000000-
out P!)T$9r-+
r4mp main
etE:
ldi r-E90b0000----
cp r-;9r-E
brne et+
ldi r-+90b00000000
out P!)T$9r-+
r4mp main
et+:
ldi r-E90b00000000
cp r-;9r-E
brne et2
20
ldi r-+90b000-----
out P!)T$9r-+
ldi r-290b0000000-
out P!)TB9r-2
r4mp main
et2:
ldi r-E90b0000000-
cp r-;9r-E
brne et-0
ldi r-+90b000---00
out P!)T$9r-+
ldi r-290b0000000-
out P!)TB9r-2
r4mp main
et-0:
ldi r-E90b000000-0
cp r-;9r-E
brne et--
ldi r-+90b000-000-
out P!)T$9r-+
ldi r-290b0000000-
out P!)TB9r-2
r4mp main
21
et--:
ldi r-E90b000000--
cp r-;9r-E
brne et-.
ldi r-+90b000-0000
out P!)T$9r-+
ldi r-290b0000000-
out P!)TB9r-2
r4mp main
et-.:
ldi r-E90b00000-00
cp r-;9r-E
brne et-,
ldi r-+90b00000---
out P!)T$9r-+
ldi r-290b0000000-
out P!)TB9r-2
r4mp main
et-,:
ldi r-E90b00000-0-
cp r-;9r-E
brne et-3
ldi r-+90b00000-00
out P!)T$9r-+
22
ldi r-290b0000000-
out P!)TB9r-2
r4mp main
et-3:
ldi r-E90b00000--0
cp r-;9r-E
brne et-5
ldi r-+90b0000000-
out P!)T$9r-+
ldi r-290b0000000-
out P!)TB9r-2
r4mp main
et-5:
ldi r-E90b00000---
cp r-;9r-E
brne et-;
ldi r-+90b00000000
out P!)T$9r-+
ldi r-290b0000000-
out P!)TB9r-2
r4mp main
et-;:
r4mp main
23
24
Cap 7
BB"!()AFE
Bibliorafie
Curs ATme'a-; D pro6& Badescu ulian
25
ATme'a-; D manual de utilizare
GGG&e/piese&ro
http:11GGG&datasheetcatalo'&com
http:11GGG&coneAelectronic&ro
http:11GGG&sHscomelco&ro

26