Upload
goeadi
View
37
Download
3
Embed Size (px)
DESCRIPTION
ADPP - Proiectare Logica
Citation preview
01 Iunie 2010
MITRA M. George-Daniel
Universitatea Politehnica Bucuresti
Facultatea de Automatica si
Calculatoare
Aparat de pârlit porci
2
CUPRINS
Tema Proiectului ..................................................................................................................... 3
Descrierea Modului de Implementare ................................................................................... 3
Organigrama ............................................................................................................................ 5
Diagrama Stărilor ................................................................................................................... 7
Tabelul Tranziţiilor ................................................................................................................. 7
Diagramele Karnaugh pentru variabilele de stare. Ecuatiile rezultate in urma
minimizarilor ................................................................................................................................. 8
Diagramele Karnaugh pentru iesiri. Ecuatiile rezultate in urma minimizarilor............ 12
Concluzii ................................................................................................................................. 17
Bibliografie ............................................................................................................................. 18
3
Tema Proiectului
Să se proiecteze un aparat de pârlit porci care să ţină cont de masa victimei .
Descrierea Modului de Implementare
Pornindu-se din starea S0, aparatul aşteaptă introducerea victimei afişând un mesaj
specific. Dacă senzorul de porc returnează 0, îl scuipă afară şi afişează un mesaj de eroare
urmat de cererea introducerii unui porc veritabil. După validarea statutului de porc se
ajunge în starea S1. Aici se va verifica masa. Dacă porcul e mare va trebui prelucrat mai
mult timp. Atât pentru porcul mic cât si pentru porcul mare se va afişa dimensiunea lui şi
se va trece în starea S2, respective S7 unde se activează senzorul de viaţă. Dacă porcul este
mort, se trece în starea S5, respectiv S10, unde va fi prelucrat. Altfel, se trece la starea S3,
respectiv S8, unde se încearcă alinierea porcului pentru ucidere. În momentul acesta
utilizatorul poate interveni strigând numele porcului de afară, încercând să îl calmeze in
timp ce pereţii se strâng în jurul lui pentru a îi oferi mai puţine grade de libertate. După ce
porcul a fost aliniat se trece la starea următoare, S4, respectiv S9, stare în care arma se
abate fulgerător asupra sacrificiului, aducându-l în starea S5 (S10).
În starea S5 (S10) începe adevăratul proces de pârlire. În cazul în care porcul este
mare, pârlirea are două etape, prepârlirea, S11, şi pârlirea. Scopul acestei insistenţe este
eliminarea semnelor lăsate de trecerea timpului pe epite liului porcin. Etapa de pârlire, S6
(S12) este identică în cazul celor două categorii de greutate. După pârlire urmează răzuirea
4
(S13) şi spălarea (S14), elemente comune celor două categorii, care asigură un finisaj
profesional al acţiunii.
Efectul estetic al acţiunii nu poate fi neglijat. În Starea S15 este scos porcul pe tavă
cu un măr în gură. În timpul acesta se curăţă camera principală şi se afişează un mesaj
menit să atragă atenţia iniţiatorului prelucrărilor.
5
Organigrama
S0
X1
O1:Introduceţi porc O2:Nu e porc. Am cerut porc.
O3:Porc primit
S1
O4:Verificare masă
X2
O5:Porc mic O6:Porc mare
S2 S7
O7:Verificare stare de viaţă O7:Verificare stare de viaţă
X3
O8:Porc viu
O13:Porc deja mort
S3
O9:Încercare aliniere
O10:Aliniere eşuată
X3
O8:Porc viu
O13:Porc deja mort
S8
O9:Încercare aliniere
O10:Aliniere eşuată
O19:Sfârşit prelucrări
6
X4
O11:Aliniere reuşită
S4
S5
O12:Ucidere porc
O15:Pârlire
X4
O11:Aliniere reuşită
S9
S10
O12:Ucidere porc
O15:Prepârlire
S6
O16:Răzuire
S11
O15:Pârlire
S12 S13 O16:Răzuire
O17:Spălare
S14
S15
O18:Scoatere porc
7
Diagrama Stărilor
Q3Q2
Q1Q0 00 01 11 10
00 S0 S3 S4 S15
01 S1 S2 S5 S16
11 S7 S10 S11 S13
10 S8 S9 S12 S14
S0:0000
S1:0001 S2:0101
S3:0100
S4:1100 S5:1101
S6:1001 S7:0011
S8:0010
S9:0110 S10:0111
S11:1111
S12:1110 S13:1011
S14:1010 S15:1000
Tabelul Tranziţiilor
Q3t Q2
t Q1t Q0
t Q3t+1 Q2
t+1 Q2t+1 Q2
t+1 O19 O18 O17 O16 O15 O14 O13 O12 O11 O10 O9 O8 O7 O6 O5 O4 O3 O2 O1
S0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ̅ 1
S1 0 0 0 1 0 ̅̅̅ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ̅̅̅ 1 0 0 0
S8 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 ̅̅̅ 1 0 0 0 0 0 0 0 0
S7 0 0 1 1 0 ̅̅̅ 1 ̅̅̅ 0 0 0 0 0 0 ̅̅̅ 0 0 0 0 1 0 0 0 0 0 0
S3 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ̅̅̅ 1 0 0 0 0 0 0 0 0
S2 0 1 0 1 ̅̅̅ 1 0 ̅̅̅ 0 0 0 0 0 0 ̅̅̅ 0 0 0 0 1 0 0 0 0 0 0
S9 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
S10 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
S15 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
S6 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
S14 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
S13 1 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
S4 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
S5 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
S12 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
S11 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8
Diagramele Karnaugh pentru variabilele de stare. Ecuatiile
rezultate in urma minimizarilor
Q3Q2
Q1Q0 00 01 11 10
00 0 1 0
01 0 ̅̅̅ 1 1
11 0 1 1 1
10 0 0 1 1
Q3Q2
Q1Q0 00 01 11 10
00 1 ̅ - -
01 1 - -
11 1 0 - -
10 1 1 - -
Q3Q2
Q1Q0 00 01 11 10
00 - - 0 1
01 - - 0 0
11 - - 0 0
10 - - 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 - -
01 0 ̅̅̅ - -
11 0 1 - -
10 0 0 - -
9
Q3Q2
Q1Q0 00 01 11 10
00 0 1 1 0
01 ̅ 1 0 0
11 ̅ 1 1 0
10 ̅ 1 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 - - 0
01 ̅ - - 0
11 ̅ - - 0
10 ̅ - - 0
Q3Q2
Q1Q0 00 01 11 10
00 - 1 1 -
01 - 1 0 -
11 - 1 1 -
10 - 1 0 -
10
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 1 0
11 1 1 1 1
10 1 1 0 1
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 1 0
11 - - - -
10 - - - -
Q3Q2
Q1Q0 00 01 11 10
00 - - - -
01 - - - -
11 1 1 1 1
10 1 1 0 1
11
Q3Q2
Q1Q0 00 01 11 10
00 0 1 0
01 1 ̅ 1 1
11 ̅ 1 0 0
10 0 1 1 0
Q3Q2
Q1Q0 00 01 11 10
00 0 1 0
01 - - - -
11 - - - -
10 0 1 1 0
Q3Q2
Q1Q0 00 01 11 10
00 - - - -
01 1 ̅ 1 1
11 ̅ 1 0 0
10 - - - -
12
Diagramele Karnaugh pentru iesiri. Ecuatiile rezultate in urma
minimizarilor
Q3Q2
Q1Q0 00 01 11 10
00 1 0 0 0
01 0 0 0 0
11 0 0 0 0
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 ̅ 0 0 0
01 0 0 0 0
11 0 0 0 0
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0
01 0 0 0 0
11 0 0 0 0
10 0 0 0 0
13
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 1 0 0 0
11 0 0 0 0
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 ̅ 0 0 0
11 0 0 0 0
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 0 0
11 0 0 0 0
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 1 0 0
11 1 0 0 0
10 0 0 0 0
14
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 0 0
11 0 0 0
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 1 0 0
01 0 0 0 0
11 0 0 0 0
10 1 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 ̅ 0 0
01 0 0 0 0
11 0 0 0 0
10 ̅ 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0
01 0 0 0 0
11 0 0 0 0
10 0 0 0
15
Q3Q2
Q1Q0 00 01 11 10
00 0 0 1 0
01 0 0 0 0
11 0 0 0 0
10 0 1 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 ̅ 0 0
11 ̅ 0 0 0
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 0 1 0 0
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 0 1 0
11 0 0 1 0
10 0 0 0 0
16
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 0 0 1
11 0 0 0 0
10 0 0 1 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 0 0 0 1
10 0 0 0 0
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 0 0 0 0
10 0 0 0 1
Q3Q2
Q1Q0 00 01 11 10
00 0 0 0 1
01 0 0 0 0
11 0 0 0 0
10 0 0 0 0
17
Concluzii
Aparatul este implementabil şi ar putea salva lumea de 2012.
18
Bibliografie
Curs.