Sunteți pe pagina 1din 60

UNIVERSITATEA DIN PITETI FACULTATEA DE ELECTRONIC, COMUNICAII I CALCULATOARE

MICROSISTEME CU MICROPROCESOARE I MICROCONTROLERE PROIECT

ndrumtor: Prof.univ.dr.ing. ERBAN GHEORGHE Student: MUAT MIHAIL CRISTIAN Specializare i grup: ELECTRONIC 312

2013
1

Tema de proiectare
S se proiecteze un microsistem electronic prin care se permite comanda i controlul unei maini de splat. Datele de proiectare: -microsistemul se va proiecta folosind un MCU de tip 8051, frecvena semnalului de ceas aplicat fiind 20 MHz; -microsistemul va conine 4 koctei memorie ROM intern; -microsistemul va conine memorie RAM intern; -microsistemul va conine circuit port paralel intern; -microsistemul va conine circuit timer de tip 8253; -microsistemul va gestiona o tastatur cu 18 taste comandate n tehnic multiplexat; -microsistemul va conine un afisaj cu 15 celule LED cu 7 segmente, avnd terminalul comun anod i culoarea galben, comandate n tehnic multiplexat. -motorul, rezistena, valva i soneria vor fi acionate prin intermediul a patru relee de curent continuu (5V).

CUPRINS
Capitolul 1-Proiectarea hardware..04-12 1.1-Proiectarea afisajului multiplexat04-06 1.2-Proiectarea tastaturii.07 1.3-Proiectarea circuitului de resetare...07-08 1.4-Proiectarea oscilatorului....08 1.5-Conectarea MCU 8051....09-10 1.6-Conectarea circuitului timer 8253...10-11 1.7-Proiectarea circuitelor de acionare a motorului electric, a rezistenei electrice, a valvei de evacuare a apei i a soneriei...11-12 Capitolul 2-Proiectarea software...13-60 2.1-Proiectarea programului principal.Manualul de utilizare....13-40 2.2-Proiectarea subrutinei de tratare a ntreruperilor.....41-46 2.3-Programul n limbaj de ansamblare.....47-56 Tabelul variabilelor utilizate.....57-61 Schema electric final Anexe List de materiale....62 Catalog BC107 Catalog BC177 Catalog 74HC573 Catalog CELULA LED 7 SEGMENTE Catalog 8051 Catalog 8253 Catalog 7411 Catalog BD135 Catalog 1N4007 Catalog CUAR Catalog RELEE Catalog BUZZER

Capitolul 1-Proiectarea hardware 1.1-Proiectarea afisajului multiplexat Tehnica afirii multiplexate este o tehnic eficient din punct de vedere al consumului de putere. Celulele LED se aprind pe rnd cu o frecvena mai mare dect 47 Hz. Schema afirii multiplexate este organizat pe o matrice de 5 coloane i 3 rnduri. Celulele de afisare sunt celule LED 7 segmente de tip anod comun ce emit culoare galben. Comanda de aprindere sau stingere se d prin intermediul portului P1(linile P1.0-P1.4) de la circuitul MCU 8051 i prin intermediul amplificatoarelor de curent formate din tranzistorii BC107 i BC177. Informaia ce trebuie afiat se d prin intermediul portului P0(linile P0.0/AD0P0.6/AD6) de la circuitul MCU 8051. Se folosesc circuite de tip latch 74HC573. La ieirile circuitelor latch se utilizeaz amplificatoare de curent formate din tranzitorul BC107. Proiectarea amplificatoarelor de curent de la ieirile circuitelor BCD 7 segmente:
+5V R 2 R 1 Voh M C U Q 1 BC 107 BC 177 Q 2

LED

R 3

Q 3 BC 107

R 4

Voh 74573

Aleg Q1=Q3=BC107 i Q2=BC177. Cderea de tensiune pe LED este Vf=2.1V.Curentul prin LED trebuie s fie If=20mA. R3= =
VCC Vcesat 3 Vf +Vcesat 2 5V 70mV 2.1V 75mV = = If 20mA

5V 0.07V 2.1V 0.075V 2.755V = =137.75=0.13k 0.02 A 0.02 A

Aleg R3=137 (E192;0.5%) Pdisip(R3)=R3*I 2 =137*0.002 2 A==137*0.0004A=0.0548W=54.8mW

R2= =

VCC Vcesat1 + Vbesat 2 5V 70mV + ( 700mV ) = = Ib(Q 2) 1mA

5V 0.07V 0.7V 4.23V = 4230 =4.23k = 0.001A 0.001A


Ic(Q 2)

Ib(Q2)=

Aleg =20 Ib(Q2)=


20mA = 1mA = 0.001A 20

Aleg R2=4.22k (E48;2%) Pdisip(R2)=R2*I 2 =4220*0.001 2 A=4220*0.000001A=0.00422W=4.22mW R1=


Voh min MCU Vbesat1 2.4V 750mV 2.4V 0.75V 1.65V = = = = Ib(Q1) 0.05mA 0.00005 A 0.00005 A

=33000=33k Ib(Q1)=
Ic (Q1)

Ib(Q 2)

1mA =0.05mA=0.00005A 20

Aleg R1=33k (E24;5%) Pdisip(R1)= R1*I 2 =33000*0.00005 2 A=33000*0.0000000025A= =0.0000825W=0.08mW R4=


Voh74573 Vbesat 3 3V 0.75V 2.25V = = =2250=2.25k Ib(Q3) 0.001A 0.001A Ic(Q3) = 20mA =1mA=0.001A 20

Ib(Q3)=

Aleg R4=2.2k (E24;5%) Pdisip(R4)= R4*I 2 =2200*0.001 2 A=2200*0.000001A=0.0022W=2.2mW

Schema electric a afisajului multiplexat:

R2 4 .2 k R1 3k Q1 BC1 0 7

+5V BC1 7 Q2 3

R4 U1 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A 1 .7 A 1 . 6 R3 A 1 .5 3 k A 1 .4 A 1 .3 A 1 .2 A 1 .1 4 .2 k Q3 BC 107

+5V BC1 7 Q4 3

+5V R6 U2 AC 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGME N T E A1 . 7 A1 . 6 A1 . 5 A1 . 4 A1 . 3 A1 . 2 A1 . 1 R5 3k 4 .2 k Q5 BC 107 BC1 7 Q6 3 R8 U3 AC 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A1 . 7 A1 . 6 R7 A1 . 5 A1 . 4 3 k A1 . 3 A1 . 2 A1 . 1 4 .2 k Q7 BC1 0 7

+5V BC1 7 Q8 3 R1 0 U4 AC 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A1 . 7 A1 . 6 A1 . 5 A1 . 4 A1 . 3 A1 . 2 A1 . 1 R9 3k 4 .2 k Q9 BC1 0 7

+5V BC 17 Q1 0 3

U5 AC 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A1 . 7 A1 . 6 A1 . 5 A1 . 4 A1 . 3 A1 . 2 A1 . 1 A1 . 7 A1 . 6 A1 . 5 A1 . 4 A1 . 3 A1 . 2 A1 . 1

AC

AC

AC

AC

AC

AC

U1 6 BL K _ 1 1 2 9 1 3 Q7 D7 8 AD6 7 7 1 4 Q6 D6 7 AD5 P1 . 0 P1 . 1 P1 . 2 P1 . 3 P1 . 4 6 6 1 5 Q5 D5 6 AD4 5 5 1 6 Q4 D4 5 AD3 4 4 1 7 Q3 D3 4 AD2 3 3 1 8 Q2 D2 3 AD1 2 2 1 9 Q1 D1 2 AD0 1 1 Q0 D0 1 LE 1 +5V LED BL O C AMPL I F I C AT O R OE 7 4 H C5 7 3 AD[ 0 . 7 ] R1 2 137

BLOC AMPLIFICATOR

U6 3 AC 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A 2 .7 A 2 .6 A 2 .5 A 2 .4 A 2 .3 A 2 .2 A 2 .1 3 AC

U7 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGME N T E A2 . 7 A2 . 6 A2 . 5 A2 . 4 A2 . 3 A2 . 2 A2 . 1 3 AC

U8 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A2 . 7 A2 . 6 A2 . 5 A2 . 4 A2 . 3 A2 . 2 A2 . 1 3 AC

U9 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A2 . 7 A2 . 6 A2 . 5 A2 . 4 A2 . 3 A2 . 2 A2 . 1 3 AC

U1 0 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A2 . 7 A2 . 6 A2 . 5 A2 . 4 A2 . 3 A2 . 2 A2 . 1 A2 . 7 A2 . 6 A2 . 5 A2 . 4 A2 . 3 A2 . 2 A2 . 1

AC

AC

AC

AC

AC

BL K _ 2 1 2 9 1 3 Q7 D7 8 AD6 7 7 1 4 Q6 D6 7 AD5 6 6 1 5 Q5 D5 6 AD4 5 5 1 6 Q4 D4 5 AD3 4 4 1 7 Q3 D3 4 AD2 3 3 1 8 Q2 D2 3 AD1 2 2 1 9 Q1 D1 2 AD0 1 1 Q0 D0 1 LE 1 +5V BL O C AMPL I F I C AT O R OE 7 4 H C5 7 3

U1 7

7X
R1 1 2 .2 k 74573

Q1 1 BC1 0 7

U1 1 3 AC 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A 3 .7 A 3 .6 A 3 .5 A 3 .4 A 3 .3 A 3 .2 A 3 .1 3 AC

U1 2 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGME N T E A3 . 7 A3 . 6 A3 . 5 A3 . 4 A3 . 3 A3 . 2 A3 . 1 3 AC

U1 3 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A3 . 7 A3 . 6 A3 . 5 A3 . 4 A3 . 3 A3 . 2 A3 . 1 3 AC

U1 4 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A3 . 7 A3 . 6 A3 . 5 A3 . 4 A3 . 3 A3 . 2 A3 . 1 3 AC

U1 5 7 a6 b4 c2 d1 e9 f 10 g5 DP AFI S _ 7 S EGMENT E A3 . 7 A3 . 6 A3 . 5 A3 . 4 A3 . 3 A3 . 2 A3 . 1 A3 . 7 A3 . 6 A3 . 5 A3 . 4 A3 . 3 A3 . 2 A3 . 1

AC

AC

AC

AC

AC

U1 8 BL K _ 3 1 2 9 1 3 Q7 D7 8 AD6 7 7 1 4 Q6 D6 7 AD5 6 6 1 5 Q5 D5 6 AD4 5 5 1 6 Q4 D4 5 AD3 4 4 1 7 Q3 D3 4 AD2 3 3 1 8 Q2 D2 3 AD1 2 2 1 9 Q1 D1 2 AD0 1 1 Q0 D0 1 LE 1 +5V BL O C AMPL I F I C AT O R OE 7 4 H C5 7 3

1.2-Proiectarea tastaturii Comanda tastaturii presupune folosirea a dou porturi paralele P1 i P3. Linile P1.0-P1.5 ale circuitului MCU 8051 se vor folosi ca porturi de ie ire iar linile P3.0-P3.2 ale circuitului MCU 8051 se vor folosi ca porturi de intrare. Rezistoarele R13,R14,R15 au rol de limitare a curentului. Aleg R13=R14=R15=10k ( 5% ; 50mW ). Schema electric a tastaturii:
+5V R 13 10k 0 P 1 .0 3 P 1 .1 6 P 1 .2 9 P 1 .3 LEF T P 1 .4 C LEAR P 1 .5 T E S T _ S O N E R IE O N R IG H T E N TE R U P D O W N 7 8 4 5 1 +5V R 14 10k 2 +5V R 15 10k

P 3 .0

P 3 .1

P 3 .2

1.3-Proiectarea circuitului de resetare Circuitul MCU 8051 poate fi iniializat hardware prin asigurarea unei stri de `1` logic pe pinul RST al circuitului. Prin apsarea butonului RESET se asigur resetarea circuitului. Aleg R16=10k i C1=10uF.

Schema electric a circuitului:


+5V

R ESET

C 1 10uF R ESET R 16 10k

1.4-Proiectarea oscilatorului Circuitul MCU 8051 va avea frecvena semnalului de ceas aplicat de 20 MHz. Cristalul de cuar se conecteaz la intrrile XTAL1 i XTAL2. Condensatoarele folosite C2=C3=18pF se utilizeaz conform specificailor din foaia de catalog. Pinul XTAL2 poate fi folosit ca generator al frecvenei semnalului de ceas pentru circuitul timer 8253. Schema electric a circuitului:
XTA L1 XTA L2

Q U AR TZ C 2 18pF C 3 18pF

C LK

20M H z

1.5-Conectarea MCU 8051 Schema electric a circuitului:


A D [0 ..7 ] D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 LE O E 9 8 7 6 5 4 3 2 11 1 A A A A A A A A D D D D D D D D 7 6 5 4 3 2 1 0 ALE 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 A A A A A A A A 8 9 10 11 12 13 14 15 P 3 .0 P 3 .1 P 3 .2 O U T0 #W R #R D ALE #PSEN ALE PSEN 30 29 A [0 ..1 5 ]

U 19 A A A A A A A A 7 6 5 4 3 2 1 0 12 13 14 15 16 17 18 19 Q Q Q Q Q Q Q Q 7 6 5 4 3 2 1 0

74H C 573

U 20 A A A A A A A A P 1 .0 P 1 .1 P 1 .2 P 1 .3 P 1 .4 P 1 .5 D D D D D D D D 0 1 2 3 4 5 6 7 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 19 18 31 9 +5V 40 P P P P P P P P P P P P P P P P 0 .0 /A 0 .1 /A 0 .2 /A 0 .3 /A 0 .4 /A 0 .5 /A 0 .6 /A 0 .7 /A 1 .0 1 .1 1 .2 1 .3 1 .4 1 .5 1 .6 1 .7 D D D D D D D D 0 1 2 3 4 5 6 7 P 2 .0 /A 8 P 2 .1 /A 9 P 2 .2 /A 1 0 P 2 .3 /A 1 1 P 2 .4 /A 1 2 P 2 .5 /A 1 3 P 2 .6 /A 1 4 P 2 .7 /A 1 5 P 3 .0 /R XD P 3 .1 /TXD P 3 .2 /IN T 0 P 3 .3 /IN T 1 P 3 .4 /T 0 P 3 .5 /T 1 P 3 .6 /W R P 3 .7 /R D

XTA L1 XTA L2 R ESET

X1 X2 EA R ST VC C 8051 G N D 20

C 4 100n

Descrierea pinilor: P0.0/AD0-P0.7/AD7= linile portului paralel P0, folosite ca ieiri.Aceste linii sunt folosite pentru nscrierea informailor pe celulele de afiaj, pentru comunicaia dintre timer i MCU i pentru comanda motorului, rezistenei electrice, a valvei de evacuare a apei i a soneriei. Linile portului paralel mai sunt folosite ca intrari pentru circuitul latch 74HC573. La iesirea circuitului latch vor fi adresele A0-A7, ce va forma magistrala extern de adrese. P1.0-P1.5=linile portului paralel P1.Aceste linii sunt folosite pentru comanda de aprindere sau stingere a celulelor de afiaj i ca linii de ieire pentru tastatur.

X1,X2=intrri care din exterior se conecteaz cristalul de cuar n ritmul cruia opereaz oscilatorul din MCU. #EA=intrare pentru configurarea operrii cu circuite externe. RST=intrare utilizat pentru iniializarea hardware a circuitului. VCC=tensiunea de alimentare. GND=mas. ntre tensiunea de alimentare i mas am conectat un condensator de decuplare cu valoarea de 100nF. #PSEN=identific momentele n care procesorul opereaz cu spaiul memoriei de programe. ALE=semnal pentru validarea latch-ului de adrese. #WR,#RD=semnale de scriere, respectiv citire. P3.3/#INT1=intrare pentru aplicarea unei cereri de ntrerupere de la circuitul timer. P3.0/RXD,P3.1/TXD,P3.2/#INT0=linii de intrare pentru tastatur. P2.0/A8-P2.7/A15=linile portului paralel P2 folosite pentru a forma magistrala extern de adrese. 1.6-Conectarea circuitului timer 8253 Schema electric a circuitului:
U 21 A0 A1 19 20 11 14 16 9 15 18 22 23 21 A0 A1 G 0 G 1 G 2 C LK0 C LK1 C LK2 R D W R C S 8253 O U T0 O U T1 O U T2 D D D D D D D D 0 1 2 3 4 5 6 7 10 13 17 8 7 6 5 4 3 2 1 A A A A A A A A D D D D D D D D 0 1 2 3 4 5 6 7 A D [0 ..7 ] O U T0

+5V

R 17 10k

C LK U 22A #PSEN A1 A0 1 2 13 7411 12

#R D #W R

Descrierea pinilor: A0,A1=intrri prin care se permite selecia individual a blocurilor logice ce alctuiesc circuitul 8253. G0=intrare utilizat pentru validarea hardware a procesului de numrare la canalul 0. CLK0=intrare pe care se aplica impulsurile externe digitale care urmeaz a fi contorizate de canalul respectiv. #RD,#WR=intrri prin care procesorul indic circuitului 8253 sensul de transfer al informaiilor dintre el i circuit n momentele de comunicaie dintre acestea. #CS=semnal de activare al circuitului 8253.Semnalul provine de la o logic combinaional care activeaz respectivul semnal(circuitul logic AND care cnd va avea pe intrri combinaia 0 0 0 va da la ieire semnalul de selecie pentru canalul timer 0).

10

Proiectarea logicii combinaionale: A7 0 0 0 A6 0 0 0 A5 0 0 0 A4 1 1 1 A3 0 0 0 A2 0 0 0 A1 0 0 1 A0 0 1 0 Semnificaie Canal0 Canal1 Canal2 Adresa hexazecimal 10h 11h 12h

D0-D7=liniile de date prevzute cu etaje de ieire de tip three-state.Prin intermediul acestor linii procesorul comunic cu circuitul 8253. OUT0= ieirea canalului de numrare care va solicita ntrerupere MCU. 1.7-Proiectarea circuitelor de acionare a motorului electric, a rezistenei electrice, a valvei de evacuare a apei i a soneriei Schema electric a circuitului:
~RETEA 220V/50Hz
F L S 1 +5 V 3 1 2 R E LA Y S P D T 5 4 D 1 D 1 N 4 0 0 7 R E Z IS T E N T A R 1 8 1 0 0 Q 1 2 B D 1 3 5 -1 0 /P L P 1 U 2 3 R E Z 1 R E Z 2 2 N

R E Z IS T E N T A E L E C T R IC A

~RETEA 220V/50Hz
F L S 2 N

+5 V 3

5 4 D 2 D 1 N 4 0 0 7 1 2 1

M G 1 2

M O TO R R E LA Y S P D T

A C

M O TO R

R 1 9 1 0 0

Q 1 3 B D 1 3 5 -1 0 /P L P

~RETEA 220V/50Hz
F L S 3 N U 2 4 5 3 4 1 1 2 R E LA Y S P D T IN V A LV A O U T 2

+5 V

D 3 D 1 N 4 0 0 7 V A L V A R 2 0 1 0 0 Q 1 4 B D 1 3 5 -1 0 /P L P

L S 4 +5 V 3 4 D 4 D 1 N 4 0 0 7 S O N E R IA R 2 1 1 0 0 Q 1 5 B D 1 3 5 -1 0 /P L P 1 2 B U Z Z E R R E LA Y S P D T 1 2 5 L S 5

11

U 25 9 8 7 6 3 5 2 4 1 3 0 2 11 1 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 LE O E Q Q Q Q Q Q Q Q 7 6 5 4 3 2 1 0 12 13 14 15 16 17 18 19

A A A A +5V A D [0 ..7 ]

D D D D

S O N E R IA VALVA M O TO R R E Z IS T E N T A

74H C 573

Motorul, rezistena, valva i soneria sunt acionate prin intermediul a patru relee de curent continuu(5V). MCU acioneaz motorul, rezistena electric, valva de evacuare a apei i soneria prin intermediul circuitului latch 74HC573. Pentru comada acestora folosesc tranzistorul bipolar de putere BD135, dioda 1N4007 i relee de curent continuu. Proiectarea circuitelor de acionare a motorului electric, a rezistenei electrice, a valvei de evacuare a apei i a soneriei: Aleg tranzistorul BD135. Pentru Ic=0.5A, Vce=2V=> Vbe=1V, conform specificailor din foaia de catalog. Voh=3V . R18=
Voh74573 Vbe 3V 1V 2V = = =100. Ib 0.02 A 0.02 A
0.5 A

Ib= = 25 =0.02A. Aleg R18=R19=R20=R21=100 . Pdisip(R18)= R18*I 2 =100*0.02 2 A=100*0.0004A=0.04W=40mW.

Ic

12

Capitolul 2-Proiectarea software 2.1-Proiectarea programului principal.Manualul de utilizare Organigrama programului principal are n vedere urmtoarele aspecte: -Programarea circuitelor de intrare/ieire; -Iniializarea variabilelor; -Regimul de programare; -Regimul de operare. Pentru temporizare voi utiliza canalul 0 al circuitului timer n modul 0, cu blocare la sfritul numrrii. Circuitul timer poate genera cerere de ntrerupere. Modul 0 este un mod nerepetitiv, n sensul c dup secvena de numrare funcionarea canalului se oprete. Masina de splat va avea 2 faze de funcionare: programarea i funcionarea conform programrii (splarea complet). La randul ei splarea complet implic 3 aciuni: nmuiere, splare i centrifugare. n faza de programare se vor introduce de la tastatur duratele fiecrei aciuni. Astfel, programarea nmuierii va nsemna stabilirea unui timp de 2 min. Programarea splrii va nsemna stabilirea unui timp de 20 min, iar programarea centrifugrii va nsemna stabilirea unui timp de 1 min. Pe timpul nmuierii microsistemul va aciona un motor timp de 2 secunde cu pauza de 2 secunde. Pe timpul splrii microsistemul va aciona un motor timp de 20 secunde cu pauza de 2 secunde. Pe timpul centrifugrii se va aciona permanent motorul, respectiv se deschide o valv de evacuare a apei. Pe timpul nmuierii i splrii microsistemul va aciona o rezisten electric permanent (nclzirea apei). La final, microsistemul va aciona o sonerie timp de 3 secunde, dupa care se va opri. Motorul, rezistena, valva i soneria vor fi acionate prin intermediul a patru relee de curent continuu (5V). Pe timpul nmuierii, splarii i centrifugrii, afisajul cu celule LED 7 segmente va indica tipul operaiei, sub forma de numr (1, 2 i 3) i, n mod alternativ, din secund n secund, timpul rmas pn la sfritul operaiei, respectiv al splrii complete. n regimul de programare vor fi posibile urmtoarele operaii de la tastatur: -cu tastele numerice se va putea schimba coninutul celulelor de afiaj. -cu tastele LEFT,RIGHT se va putea naviga stnga-dreapta ctre celulele de afiaj ce se va programa. -cu tastele UP,DOWN se va putea incrementa respectiv decrementa pe celula de afisaj ce se va programa. -cu tasta ENTER se va valida datele programate i se va intra n modul operare. -cu tasta CLEAR se va sterge datele de pe celulele de afiaj.Dup acionarea tastei CLEAR pe celulele de afiaj va aprea cifra 0. -cu tasta TEST_SONERIE se va putea verifica funcionalitatea soneriei. -cu tasta ON se va porni microsistemul de comand si control al mainii de splat. 13

Iniial microsistemul este oprit. Apsnd tasta ON pe toate celulele de afisaj va apare cifra 0. Pentru a se intra n regim programare se apas tasta 1, ceea ce va face ca pe celula de afiare mod s apar cifra 1 intermitent. Pentru selectarea afiajului ce va fi programat se vor folosii tastele LEFT i RIGHT. Programarea timpului splrii complete i a timpului pentru fiecare operaie se va putea face cu ajutorul tastelor numerice sau cu ajutorul tastelor UP i DOWN. Tasta CLEAR va terge continutul celulelor de afisaj al timpului splrii complete i a timpului fiecarei operaii. Finalul programrii se realizeaz prin apsarea tastei ENTER. n acest moment pe celula de afisaj mod va aprea cifra 1 automat. Apsand tasta ENTER se intr n modul de operare n care timpul se decrementeaz pe celulele 1 ..14. Decrementarea timpului se face automat. Pe celulele 1 2 3 4 se va afia timpul splrii complete (zeci de minute, uniti de minute, zeci de secunde, uniti de secunde), pe celulele 5 6 7 8 se va afia timpul nmuierii (zeci de minute, uniti de minute, zeci de secunde, uniti de secunde), pe celulele 9 10 11 12 se va afia timpul splrii (zeci de minute, uniti de minute, zeci de secunde, uniti de secunde) iar pe celulele 13 14 se va afia timpul centrifugrii (zeci de secunde, uniti de secunde). Tot automat se va trece i prin activitile splrii complete. Apariia cifrei 1 pe celula de afisaj mod reprezint procesul de nmuiere. Apariia cifrei 2 pe celula de afisaj mod reprezint procesul de splare. Apariia cifrei 3 pe celula de afisaj mod reprezint procesul de centrifugare. La sfritul operaiei se va aciona o sonerie i dupa acionarea soneriei se va ntrerupe tensiunea de alimentare fiind necesar pentru o noua operaie apsarea tastei ON. n continuare voi prezenta toate combinaiile posibile ce conin codurile de identificare ale tastelor. Cod binar Cod Tast hexa 1 1 1 1 1 0 1 0 FA 0 1 1 1 1 1 0 0 1 F9 1 1 1 1 1 1 0 1 1 FB 2 1 1 1 1 0 1 1 0 F6 3 1 1 1 1 0 1 0 1 F5 4 1 1 1 1 0 1 1 1 F7 5 1 1 1 0 1 1 1 0 EE 6 1 1 1 0 1 1 0 1 ED 7 1 1 1 0 1 1 1 1 EF 8 1 1 0 1 1 1 1 0 DE 9 1 1 0 1 1 1 0 1 DD UP 1 1 0 1 1 1 1 1 DF DOWN 1 0 1 1 1 1 1 0 BE LEFT 1 0 1 1 1 1 0 1 BD RIGHT 1 0 1 1 1 1 1 1 BF ENTER 14

0 0 0

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 0 1

0 1 1

7E 7D 7F

CLEAR TEST_SONERIE ON Val hexa 40 7C 12 18 2C 09 01 5C 00 08 Adr.RAM 14 15 16 17 18 19 1A 1B 1C 1D

n continuare voi prezenta tabelul de conversie binar-7 segmente: g f e d c b a Cifra 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 2 3 4 5 6 7 8 9

15

Organigrama general a programului principal: PROGRAM PRINCIPAL

PROGRAMARE CIRCUIT INTRARE/IESIRE INITIALIZARE VARIABILE

REGIM PROGRAMARE

REGIM OPERARE

OUT

16

Organigrama regimului programare din cadrul programului principal:

REGIM PROGRAMARE

NU

TASTA ON=1 DA ZAFIS 0-140 AFIS 0-14ZAFIS 0-14

TASTA 1=1 NU DA ZAFIS01 AFIS0ZAFIS0 FLASH1 ID FLASH 0 # TASTA ENTER=1 DA FLASH0 OUT (REGIM OPERARE) FLASH=1 NU NU IDENTIFICARE TASTA APASATA & TRATARE

DA TRATARE FLASH

17

Organigrama blocului TRATARE FLASH din regimul programare:

TRATARE FLASH

MEMCELAFIS0+ID FLASH

MEMFLASH(MEMCEL)

DA

ONOFF=1

NU

CONTOR FLASH=0 DA ONOFF0 CONTORFLASH100 (MEMCEL)FF

NU

NU

CONTOR FLASH=0 DA ONOFF1 CONTORFLASH100 (MEMCEL)MEMFLASH APRINDERE STINGERE

STINGERE

OUT FLASH

18

Organigrama blocului IDENTIFICARE TASTA APASATA & TRATARE din regimul programare: IDENTIFICARE TASTA APASATA & TRATARE ET.2 NU ET.1 TASTA NUMERIC A DA DA ID FLASH=0 TASTA 1,2,3 DA (ZAFIS0)1,2,3 (AFIS0)(ZAFIS0) TASTA 0,1,2, * NU ET.2 * DA TASTA 0,1,2 NU DA (ZAFIS1)0,1,2 (AFIS1)(ZAFIS1) NU # DA ID FLASH=1 NU NU

ID FLASH=2 DA ZAFIS1= 2 DA

NU

ET. 3

NU

(ZAFIS2)0,1,2 (AFIS2)(ZAFIS2) *

(ZAFIS2)0..9 (AFIS2)(ZAFIS2) *

19

ET. 3 NU NU

ID FLASH=3 DA TASTA 0 ..5 DA (ZAFIS3)0..5 (AFIS3)(ZAFIS3) ET.2

ID FLASH=4 DA

ID FLASH=5 DA NU TASTA 0 DA

NU

(ZAFIS4)0..9 (AFIS4)(ZAFIS4)

(ZAFIS5)0 (AFIS5)(ZAFIS5) NU

NU ID FLASH=6 DA TASTA 0,1,2 DA (ZAFIS6)0,1,2 (AFIS6)(ZAFIS6) NU

ID FLASH=7 DA

NU

NU ZAFIS6= 2 DA NU TASTA 0

TASTA 0..5 DA (ZAFIS7)0..5 (AFIS7)(ZAFIS7)

NU

DA * ET. 4

(ZAFIS7)0 (AFIS7)(ZAFIS7) *

ET.2 20

ET. 4 ID FLASH=8 DA NU (ZAFIS8)0..9 (AFIS8)(ZAFIS8) DA NU TASTA 0 DA * * * (ZAFIS9)0,1,2 (AFIS9)(ZAFIS9) NU TASTA 0,1,2 DA NU

ID FLASH=9 DA

NU

ZAFIS6= 2

(ZAFIS8)0 (AFIS8)(ZAFIS8) ET.2

ID FLASH=1 0 DA NU ZAFIS9= 2 DA

NU

(ZAFIS10)0..9 (AFIS10)(ZAFIS10) * NU

ID FLASH=1 1 DA ZAFIS9= 2 DA

NU

ET.7

NU

ET.6

TASTA 0

DA * ET.2 ET. 5 21 DA TASTA 0 NU ET.2

(ZAFIS10)0 (AFIS10)(ZAFIS10)

ET. 5 (ZAFIS11)0 (AFIS11)(ZAFIS11) DA * ET.2

ET.6

ET.2 NU

ET.7

TASTA 0..5 (ZAFIS10)0..5 (AFIS11)(ZAFIS11) (ZAFIS12)0..9 (AFIS12)(ZAFIS12)

ID FLASH=1 2 DA NU ZAFIS9= 2 DA

NU

(ZAFIS12)0 (AFIS12)(ZAFIS12)

DA TASTA 0 NU

ID FLASH=1 3 DA

NU

ID FLASH=1 4 DA (ZAFIS14)0..9 (AFIS14)(ZAFIS14)

NU

ET.2

NU TASTA 0..5

DA * ET.2

(ZAFIS13)0..5 (AFIS13)(ZAFIS13) *

22

ET.1

TASTA UP DA (ZAFIS0+ID FLASH)++ NU

NU

ET.1 6

ID FLASH=0 DA (ZAFIS0)= 4 DA (ZAFIS0)1 (AFIS0)(ZAFIS0) *

ID FLASH=1 DA

NU

ID FLASH=2 DA (ZAFIS2)= 3

NU

NU NU

(ZAFIS1)= 3 DA (ZAFIS1)0 (AFIS1)(ZAFIS1) *

NU

DA (ZAFIS2)0 (AFIS2)(ZAFIS2) *

ET.2

ID FLASH=3 DA (ZAFIS3)= 6 DA ET.8 NU

NU

ID FLASH=4 DA NU (ZAFIS4)= A

NU

ET.1 0

DA ET.9

ET.2

23

ET.8

ET.9

ET.1 0 NU ID FLASH=5 DA NU

(ZAFIS3)0 (AFIS3)(ZAFIS3) *

(ZAFIS4)0 (AFIS4)(ZAFIS4)

ET.2

ET.2

(ZAFIS5)= 1 DA

ID FLASH=6 DA

NU

(ZAFIS5)0 (AFIS5)(ZAFIS5)

NU (ZAFIS6)= 3 DA (ZAFIS6)0 (AFIS6)(ZAFIS6) * ET.2 NU (ZAFIS7)= 1 DA * (ZAFIS7)0 (AFIS7)(ZAFIS7) DA NU ID FLASH=7 DA DA (ZAFIS6)= 2 DA NU ET.1 1 (ZAFIS7)= 6 NU NU ID FLASH=8 ET.1 2

24

ET.1 1 DA NU (ZAFIS6)= 2 DA (ZAFIS8)= 1 NU NU (ZAFIS8)= A DA NU (ZAFIS8)0 (AFIS8)(ZAFIS8) * (ZAFIS8)0 (AFIS8)(ZAFIS8) * ET.2 ET.2

ET.1 2

ID FLASH=9 DA (ZAFIS9)= 3 DA (ZAFIS9)0 (AFIS9)(ZAFIS9)

NU NU

ID FLASH=1 0 DA (ZAFIS9)= 2 DA

NU (ZAFIS10)= A NU

ET.1 4

DA (ZAFIS10)= 1 DA (ZAFIS10)0 (AFIS10)(ZAFIS10) ET.1 3 25 NU ET.2 ET.2

ET.1 3 *

ET.14 NU

ET.2

ID FLASH=1 1 DA (ZAFIS9)= 2 DA

NU (ZAFIS11)= 6 DA NU (ZAFIS11)= 1 DA * (ZAFIS11)0 (AFIS11)(ZAFIS11)

NU ET.2

ID FLASH=1 2 DA (ZAFIS9)= 2 DA NU

NU

ID FLASH=1 NU 33 DA (ZAFIS12)= A NU NU (ZAFIS13)= 6 DA DA

ET.15

(ZAFIS12)= 1 DA (ZAFIS12)0 (AFIS12)(ZAFIS12)

NU ET.2

(ZAFIS13)0 (AFIS13)(ZAFIS13)

ET.2

26

ET.15

ET.1 6 NU NU DA NU TASTA DOWN DA (ZAFIS0+ID FLASH)--

ID FLASH=1 4

ET.1 7

(ZAFIS14)= A DA (ZAFIS14)0 (AFIS14)(ZAFIS14) * ET.2

NU ID FLASH=0 DA NU (ZAFIS0)=0 ET.2 NU (ZAFIS1)= A DA (ZAFIS1)2 (AFIS1)(ZAFIS1) NU ID FLASH=1 DA

DA (ZAFIS0)3 (AFIS0)(ZAFIS0) *

ET.2

ET.1 8

27

ET.1 8 ID FLASH=2 DA (ZAFIS2)= A DA (ZAFIS2)2 (AFIS2)(ZAFIS2) * ET.2 DA ET.2 NU NU NU ID FLASH=3 DA NU (ZAFIS3)= A DA (ZAFIS3)5 (AFIS3)(ZAFIS3) ET.1 9 NU ID FLASH=4

(ZAFIS4)= A DA

NU

ET.2

ET.1 9 NU

(ZAFIS4)9 (AFIS4)(ZAFIS4)

ID FLASH=5 DA

ET.2 0

(ZAFIS5)0 (AFIS5)(ZAFIS5)

DA

(ZAFIS5)= A

NU

ET.2

28

ET.2 0 NU ID FLASH=6 DA NU ID FLASH=7 DA NU (ZAFIS6)= A DA (ZAFIS6)2 (AFIS6)(ZAFIS6) NU (ZAFIS7)= A DA (ZAFIS7)0 (AFIS7)(ZAFIS7) (ZAFIS6)=2 (ZAFIS7)= A DA (ZAFIS7)5 (AFIS7)(ZAFIS7) * ET.2 NU NU ET.2 1

DA

ET.2 ET.2 1 ID FLASH=8 DA (ZAFIS6)=2 NU NU ET.2 2

NU DA

(ZAFIS8)= A

(ZAFIS8)9 (AFIS8)(ZAFIS8)

DA (ZAFIS8)= A DA NU (ZAFIS8)0 (AFIS8)(ZAFIS8) * ET.2

29

ET.2 2 NU ID FLASH=9 DA NU ID FLASH=1 0 DA NU NU

(ZAFIS9)= A DA (ZAFIS9)2 (AFIS9)(ZAFIS9)

(ZAFIS9)=2 DA

(ZAFIS10)= A DA (ZAFIS10)0 (AFIS10)(ZAFIS10)

NU NU ET.2

(ZAFIS10)= A DA

ET.2

(ZAFIS10)9 (AFIS10)(ZAFIS10)

ID FLASH=1 1 DA

NU

ET.2 3

NU (ZAFIS9)=2 (ZAFIS11)= A NU DA (ZAFIS11)= A NU 30 ET.2 (ZAFIS11)0 (AFIS11)(ZAFIS11) * DA (ZAFIS11)5 (AFIS11)(ZAFIS11) ET.2

DA

ET.2 3 NU DA

ID FLASH=1 2 DA (ZAFIS9)=2 DA

ID FLASH=1 3 NU

ET.2 4 NU NU (ZAFIS12)= A DA

(ZAFIS13)= A DA

(ZAFIS12)= A DA (ZAFIS12)0 (AFIS12)(ZAFIS12)

(ZAFIS12)9 (AFIS12)(ZAFIS12)

(ZAFIS13)5 (AFIS13)(ZAFIS13) * ET.2

NU

NU

ET.2 ET.2 4 ID FLASH=1 4 DA NU (ZAFIS14)= A NU

DA

(ZAFIS14)9 (AFIS14)(ZAFIS14)

31

ET.1 7 NU NU

TASTA RIGHT DA ID FLASH ++

TASTA LEFT DA ID FLASH --

TASTA CLEAR DA (ZAFIS1-14)0 (AFIS1-14)(ZAFIS1-14)

ID FLASH=1 4 DA ID FLASH 0

NU NU

ID FLASH=0 DA ID FLASH 14

NU ET.2 TASTA TEST_SONERIE DA RELEU SONERIE1 NU

ET.2

32

Organigrama mecanismului de memorare i restaurare din cadrul blocului IDENTIFICARE TASTA APASATA & TRATARE din regimul programare: * DA (MEMZAFIS) =1 NU DA NU

(IAFIS1-4)(ZAFIS1-4) (IAFIS5-8)(ZAFIS5-8)

(MEMZAFIS)= 2

(SAFIS1-4)(ZAFIS1-4) (SAFIS9-12)(ZAFIS9-12)

(CAFIS1-4)(ZAFIS1-44) (CAFIS13-14)(ZAFIS13-14)

DA ( ZAFIS0)=1 NU DA (ZAFIS0)=2 NU (ZAFIS1-4) (CAFIS1-4) (ZAFIS13-14) (CAFIS13-14)

(ZAFIS1-4) (IAFIS1-4) (ZAFIS5-8) (IAFIS5-8)

(ZAFIS1-4)(SAFIS1-4) (ZAFIS9-12) (SAFIS9-12)

END*

33

Organigrama REGIM OPERARE din cadrul programului principal:

REGIM OPERARE

OPERATIE INMUIERE

OPERATIE SPALARE

OPERATIE CENTRIFUGARE

SONERIE

OUT

34

Organigrama REGIM NMUIERE din cadrul regimului operare din programul principal OPERATIE INMUIERE ET.2 0 ZAFIS001 AFIS0ZAFIS0 ZAFIS1-4IAFIS1-4 AFIS1-4ZAFIS1-4 ZAFIS5-8IAFIS5-8 AFIS5-8ZAFIS5-8 RELEU REZISTENTA ELECTRICA1 TIMPINMUIERE120 RELEU MOTOR1

ET.1 9 NU

TIMPINMUIERE--

TIMPINMUIERE= TIMPINMUIERE-2 DA RELEU MOTOR0

ET.1 8

35

ET.1 9

ET.1 8

NU

TIMPINMUIERE= TIMPINMUIERE-2

DA RELEU MOTOR1

NU TIMPINMUIERE= 0 DA IAFIS1-4-IAFIS5-8--

IAFIS1-4=0 DA IAFIS5-8=0 DA OUT OPERATIE INMUIERE

NU

ET.2 0

NU

36

Organigrama REGIM SPLARE din cadrul regimului operare din programul principal

OPERATIE SPALARE ET.2 3 ZAFIS002 AFIS0ZAFIS0 ZAFIS1-4SAFIS1-4 AFIS1-4ZAFIS1-4 ZAFIS9-12SAFIS9-12 AFIS9-12ZAFIS9-12

RELEU REZISTENTA ELECTRICA1

TIMPSPALARE1200

RELEU MOTOR1

TIMPSPALARE-ET.2 2 NU TIMPSPALARE= TIMPSPALARE-20 DA RELEU MOTOR0

ET.2 1 37

ET.2 2

ET.2 1

NU

TIMPSPALARE= TIMPSPALARE-2

DA RELEU MOTOR1

NU

TIMPSPALARE=0 DA SAFIS1-4-SAFIS9-

SAFIS1-4=0 DA SAFIS912=0 DA OUT OPERATIE SPALARE

NU

ET.2 3

NU

38

Organigrama REGIM CENTRIFUGARE din cadrul regimului operare din programul principal OPERATIE CENTRIFUGARE ZAFIS003 AFIS0ZAFIS0 ZAFIS1-4CAFIS1-4 AFIS1-4ZAFIS1-4 ZAFIS13-14CAFIS13-14 AFIS13-14ZAFIS13-14 RELEU MOTOR1 RELEU VALVA1

TIMPCENTRIFUGARE59 TIMPCENTRIFUGARE--

NU

TIMPCENTRIFUGARE= 0 DA CAFIS1-4-CAFIS13-14--

CAFIS14=0 DA CAFIS1314=0 DA OUT OPERATIE CENTRIFUGARE 39

NU

NU

Organigrama SONERIE din cadrul regimului operare din programul principal

SONERIE

TIMPSONERIE3 RELEU SONERIE1

TIMPSONERIE-NU

TIMPSONERIE=0 DA OUT

40

2.2-Proiectarea subrutinei de tratare a ntreruperilor Activitile legate de comanda afiajului multiplexat i a tastaturii se va realiza n subrutina de tratare a ntreruperilor. Acestea provin de la circuitul timer. Circuitul timer va fi programat astfel nct s genereze ntreruperi dup un interval de 1.33ms. Aciunile din programul principal vor fi suspendate datorit cererilor de ntrerupere pe care le genereaz circuitul timer.Dup tratarea subrutinei de ntrerupere se reia activittile suspendate din programul principal. TRATARE TIMER

TRATARE AFISARE MULTIPLEXATA

TRATARE TASTATURA

TRATARE FLASH

BIT TIMER=1 DA BIT TIMER=0

NU

OUT

41

Organigrama AFIARE MULTIPLEXAT din cadrul subrutinei: AFISARE MULTIPLEXATA

DEZACTIVARE ANOD COMUN (P1)

DA NRAFIS=0

NU NU

P0(AFIS0)

NRAFIS=1 DA P0(AFIS1)

ET.2 4

AC01

NRAFISNRAFIS+1 AC11 ET.2 4 @ NRAFIS=2 DA P0(AFIS2) AC21 DA P0(AFIS3) NRAFIS=4 DA AC31 P0(AFIS4) AC41 42 NU NRAFIS=3 NU NU ET.2 5

ET.2 5 NRAFIS=5 DA P0(AFIS5) NU NU NU

NRAFIS=6 DA P0(AFIS6)

NRAFIS=7

AC51

ET.2 6

DA AC61 ET.2 6 P0(AFIS7) AC71 NRAFIS=8 DA P0(AFIS8) DA AC81 P0(AFIS9) NU NRAFIS=10 DA AC91 P0(AFIS10) ET.2 7 NU NU @ NRAFIS=9

AC101

43

ET.2 7 NU NRAFIS=11 DA P0(AFIS11) AC111 NRAFIS=12 DA P0(AFIS12) NRAFIS=13 DA P0(AFIS13) NU NU

ET.2 8

AC121 ET.2 8 P0(AFIS14) NU AC141 @

AC131

NU NRAFIS=15 DA NRAFIS0

OUT

44

Organigrama TASTATUR MULTIPLEXAT din cadrul subrutinei:

TASTATURA MULTIPLEXATA

TASTRELAX =1 NU ET.2 9 DA TASTVALID= 1 NU ET.3 0 DA TASTUP= 1 NU P1BALEIAJ AP3

DA

CONTORAPAS= 0 NU CONTORAPAS=CONTORAPAS-1 DA ET.3 1

BALEIAJ

DA

A=F Fh NU MEMIDTA

CONTORUP2 TASTUP1

OUT 45

ET.2 9

ET.3 1 NU

P3=FF h DA CONTORAPAS2 TASTRELAX1 NU

P3=FF h DA

TASTRELAX0

TASTRELAX0 TASTVALID0 TASTUP0

OUT

ET.3 0 NU CONTORAPAS= 0 DA TRECERE DEBOUNCING AP3 CONTORAPASCONTORAPAS-1

A=MEMIDT DA TASTUP0

NU TASTVALID0

46

2.3-Programul n limbaj de ansamblare Programul principal: ORG100H ;PROGRAMARE CIRCUIT INTRARE/IESIRE MOV RCC,#10H ;RCC=registru cuvant de comanda MOV CD,#04H ;CD=ocms constanta de divizare MOV CD2,#0B3H ;CD2=ocmps constanta de divizare ;INITIALIZARE VARIABILE

47

ZAFIS0 EQU 00H ZAFIS1 EQU 00H ZAFIS2 EQU 00H ZAFIS3 EQU 00H ZAFIS4 EQU 00H ZAFIS5 EQU 00H ZAFIS6 EQU 00H ZAFIS7 EQU 00H ZAFIS8 EQU 00H ZAFIS9 EQU 00H ZAFIS10 EQU 00H ZAFIS11 EQU 00H ZAFIS12 EQU 00H ZAFIS13 EQU 00H ZAFIS14 EQU 00H AFIS0 EQU 00H AFIS1 EQU 00H AFIS2 EQU 00H AFIS3 EQU 00H AFIS4 EQU 00H AFIS5 EQU 00H AFIS6 EQU 00H AFIS7 EQU 00H AFIS8 EQU 00H AFIS9 EQU 00H AFIS10 EQU 00H AFIS11 EQU 00H AFIS12 EQU 00H AFIS13 EQU 00H AFIS14 EQU 00H ID FLASH EQU 00H FLASH BIT 0H MEMCEL EQU 00H MEMFLASH EQU 00H ONOFF BIT 0H MEMZAFIS EQU 00H IAFIS1 EQU 00H IAFIS2 EQU 00H IAFIS3 EQU 00H IAFIS4 EQU 00H IAFIS5 EQU 00H IAFIS6 EQU 00H IAFIS7 EQU 00H IAFIS8 EQU 00H SAFIS1 EQU 00H SAFIS2 EQU 00H SAFIS3 EQU 00H SAFIS4 EQU 00H SAFIS9 EQU 00H SAFIS10 EQU 00H SAFIS11 EQU 00H SAFIS12 EQU 00H CAFIS1 EQU 00H CAFIS2 EQU 00H CAFIS3 EQU 00H CAFIS4 EQU 00H CAFIS13 EQU 00H

48

;OPERATIE SPALARE MOV ZAFIS0,#02H MOV AFIS0,ZAFIS0 MOV ZAFIS1,SAFIS1 MOV ZAFIS2,SAFIS2 MOV ZAFIS3,SAFIS3 MOV ZAFIS4,SAFIS4 MOV AFIS1,ZAFIS1 MOV AFIS2,ZAFIS2 MOV AFIS3,ZAFIS3 MOV AFIS4,ZAFIS4 MOV ZAFIS9,SAFIS9 MOV ZAFIS10,SAFIS10 MOV ZAFIS11,SAFIS11 MOV ZAFIS12,SAFIS12 MOV AFIS9,ZAFIS9 MOV AFIS10,ZAFIS10 MOV AFIS11,ZAFIS11 MOV AFIS12,ZAFIS12 MOV RELEU REZISTENTA ELECTRICA,#01H MOV TIMPSPALARE,#1200 MOV RELEU MOTOR,#01H DEC TIMPSPALARE MOV A,TIMPSPALARE SUBB A,#20 MOV TIMPSPALARE, A JNB TIMPSPALARE, ETT12 MOV RELEU MOTOR,#00H MOV A,TIMPSPALARE SUBB A,#2 MOV TIMPSPALARE, A JNB TIMPSPALARE, ETT13 MOV RELEU MOTOR,#01H JNB TIMPSPALARE, ETT14 DEC SAFIS1 DEC SAFIS2 DEC SAFIS3 DEC SAFIS4 DEC SAFIS9 DEC SAFIS10 DEC SAFIS11 DEC SAFIS12 JNB SAFIS1-4, ETT15 JNB SAFIS9-12, ETT16 END 49

;OPERATIE CENTRIFUGARE MOV ZAFIS0,#03H MOV AFIS0,ZAFIS0 MOV ZAFIS1,CAFIS1 MOV ZAFIS2,CAFIS2 MOV ZAFIS3,CAFIS3 MOV ZAFIS4,CAFIS4 MOV AFIS1,ZAFIS1 MOV AFIS2,ZAFIS2 MOV AFIS3,ZAFIS3 MOV AFIS4,ZAFIS4 MOV ZAFIS13,CAFIS13 MOV ZAFIS14,CAFIS14 MOV AFIS13,ZAFIS13 MOV AFIS14,ZAFIS14 MOV RELEU MOTOR,#01H MOV RELEU VALVA,#01H MOV TIMPCENTRIFUGARE,#59 DEC TIMPCENTRIFUGARE JNB TIMPCENTRIFUGARE, ETT17 DEC CAFIS1 DEC CAFIS2 DEC CAFIS3 DEC CAFIS4 DEC CAFIS13 DEC CAFIS14 JNB CAFIS1-4, ETT18 JNB CAFIS13-14, ETT19 END ;SONERIE MOV TIMPSONERIE,#03 MOV RELEU SONERIE,#01H DEC TIMPSONERIE JNB TIMPSONERIE, ETT20 END Subrutina de tratare a ntreruperilor: ORG 0003H ;TRATARE AFISARE MULTIPLEXATA ;TRATARE TASTATURA ;TRATARE FLASH 50

JNB BIT TIMER,ETT21 MOV BIT TIMER,#0H RETI ;TRATARE AFISARE MULTIPLEXATA CLR P1 JNB NRAFIS,ETT22 MOV P0,AFIS0 MOV AC0,#01H INC NRAFIS LJMP ETT22 ETT22: JNB NRAFIS,ETT23 MOV P0,AFIS1 MOV AC1,#01H LJMP ETT23 ETT23: JNB NRAFIS,ETT24 MOV P0,AFIS2 MOV AC2,#01H LJMP ETT24 ETT24: JNB NRAFIS,ETT25 MOV P0,AFIS3 MOV AC3,#01H LJMP ETT25 ETT25: JNB NRAFIS,ETT26 MOV P0,AFIS4 MOV AC4,#01H LJMP ETT26 ETT26: JNB NRAFIS,ETT27 MOV P0,AFIS5 MOV AC5,#01H LJMP ETT27 ETT27: JNB NRAFIS,ETT28 MOV P0,AFIS6 MOV AC6,#01H LJMP ETT28 ETT28: JNB NRAFIS,ETT29 MOV P0,AFIS7 MOV AC7,#01H LJMP ETT29 ETT29: JNB NRAFIS,ETT30 MOV P0,AFIS8 MOV AC8,#01H LJMP ETT30 ETT30: JNB NRAFIS,ETT31 MOV P0,AFIS9 51

MOV AC9,#01H LJMP ETT31 ETT31: JNB NRAFIS,ETT32 MOV P0,AFIS10 MOV AC10,#01H LJMP ETT32 ETT32: JNB NRAFIS,ETT33 MOV P0,AFIS11 MOV AC11,#01H LJMP ETT33 ETT33: JNB NRAFIS,ETT34 MOV P0,AFIS12 MOV AC12,#01H LJMP ETT34 ETT34: JNB NRAFIS,ETT35 MOV P0,AFIS13 MOV AC13,#01H LJMP ETT35 ETT35: MOV P0,AFIS14 MOV AC14,#01H JNB NRAFIS,ETT36 MOV NRAFIS,#00H RETI ;TRATARE TASTATURA MULTIPLEXATA JB TASTRELAX ,ET37 JB TASTVALID ,ET38 JB TASTUP ,ET39 MOV P1,BALEIAJ MOV A,P3 CJNE A, FFH JB A,ETT40 MOV MEMIDT,A MOV CONTORUP,#02H MOV TASTUP,#01H ETT40: RL A ETT37: JB CONTORAPAS,ETT42 DEC CONTORAPAS ETT42: JNB P3,ETT43 MOV TASTRELAX,#0H MOV TASTVALID,#00H MOV TASTUP,#00H ETT43: MOV TASTRELAX,#00H ETT38: JNB P3,ETT44 MOV CONTORAPAS,#02H 52

MOV TASTRELAX,#01H ETT39:JNB CONTORAPAS,ETT45 MOV A,P3 CJNE A,MEMIDT JNB A,ETT46 MOV TASTUP,#00H ETT45:DEC CONTORAPAS ET46: MOV TASTVALID,#00H RETI

53

Tabel variabile utilizate Nr. Numele crt variabilei 1 ZAFIS0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ZAFIS1 ZAFIS2 ZAFIS3 ZAFIS4 ZAFIS5 ZAFIS6 ZAFIS7 ZAFIS8 ZAFIS9 ZAFIS10 ZAFIS11 ZAFIS12 ZAFIS13 ZAFIS14 AFIS0 AFIS1 AFIS2 AFIS3 Valoare Adr.RAM Mod Semnificatie iniial Reprez. 00 30 octet Imagine software celul 0 afiaj n cod zecimal 00 31 octet Imagine software celul 1 afiaj n cod zecimal 00 32 octet Imagine software celul 2 afiaj n cod zecimal 00 33 octet Imagine software celul 3 afiaj n cod zecimal 00 34 octet Imagine software celul 4 afiaj n cod zecimal 00 35 octet Imagine software celul 5 afiaj n cod zecimal 00 36 octet Imagine software celul 6 afiaj n cod zecimal 00 37 octet Imagine software celul 7 afiaj n cod zecimal 00 38 octet Imagine software celul 8 afiaj n cod zecimal 00 39 octet Imagine software celul 9 afiaj n cod zecimal 00 3A octet Imagine software celul 10 afiaj n cod zecimal 00 3B octet Imagine software celul 11 afiaj n cod zecimal 00 3C octet Imagine software celul 12 afiaj n cod zecimal 00 3D octet Imagine software celul 13 afiaj n cod zecimal 00 3E octet Imagine software celul 14 afiaj n cod zecimal 00 3F octet Imagine software celul 0 afiaj n cod BCD 00 40 octet Imagine software celul 1 afiaj n cod BCD 00 41 octet Imagine software celul 2 afiaj n cod BCD 00 42 octet Imagine software celul 3 afiaj n cod BCD 54

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

AFIS4 AFIS5 AFIS6 AFIS7 AFIS8 AFIS9 AFIS10 AFIS11 AFIS12 AFIS13 AFIS14 ID FLASH FLASH MEMCEL MEMFLASH ONOFF MEMZAFIS

00 00 00 00 00 00 00 00 00 00 00 00 0 00 00 0 00

43 44 45 46 47 48 49 4A 4B 4C 4D 4E 20 4F 50 21 51

octet octet octet octet octet octet octet octet octet octet octet octet bit octet octet bit octet

37 38 39

IAFIS1 IAFIS2 IAFIS3

00 00 00

52 53 54

octet octet octet

Imagine software celul 4 afiaj n cod BCD Imagine software celul 5 afiaj n cod BCD Imagine software celul 6 afiaj n cod BCD Imagine software celul 7 afiaj n cod BCD Imagine software celul 8 afiaj n cod BCD Imagine software celul 9 afiaj n cod BCD Imagine software celul 10 afiaj n cod BCD Imagine software celul 11 afiaj n cod BCD Imagine software celul 12 afiaj n cod BCD Imagine software celul 13 afiaj n cod BCD Imagine software celul 14 afiaj n cod BCD Id celul afisaj intermitent Variabil care anuna ca o celul este intermitent Memoreaz variabila care trebuie scris pe celul Memoreaz variabila pe celula intermtent Variabil test Memoreaz coninutul lui ZAFIS0 naintea acionrii variabilei ZAFIS0 Imagine software celul 1 afiaj n cod zecimal pentru regim nmuiere Imagine software celul 2 afiaj n cod zecimal pentru regim nmuiere Imagine software celul 3 afiaj n cod zecimal pentru regim nmuiere

55

40 41 42 43 44 45 46 47 48 49 50 51 52 53

IAFIS4 IAFIS5 IAFIS6 IAFIS7 IAFIS8 SAFIS1 SAFIS2 SAFIS3 SAFIS4 SAFIS9 SAFIS10 SAFIS11 SAFIS12 CAFIS1

00 00 00 00 00 00 00 00 00 00 00 00 00 00

55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62

octet octet octet octet octet octet octet octet octet octet octet octet octet octet

54

CAFIS2

00

63

octet

Imagine software celul 4 afiaj n cod zecimal pentru regim nmuiere Imagine software celul 5 afiaj n cod zecimal pentru regim nmuiere Imagine software celul 6 afiaj n cod zecimal pentru regim nmuiere Imagine software celul 7 afiaj n cod zecimal pentru regim nmuiere Imagine software celul 8 afiaj n cod zecimal pentru regim nmuiere Imagine software celul 1 afiaj n cod zecimal pentru regim splare Imagine software celul 2 afiaj n cod zecimal pentru regim splare Imagine software celul 3 afiaj n cod zecimal pentru regim splare Imagine software celul 4 afiaj n cod zecimal pentru regim splare Imagine software celul 9 afiaj n cod zecimal pentru regim splare Imagine software celul 10 afiaj n cod zecimal pentru regim splare Imagine software celul 11 afiaj n cod zecimal pentru regim splare Imagine software celul 12 afiaj n cod zecimal pentru regim splare Imagine software celul 1 afiaj n cod zecimal pentru regim centrifugare Imagine software celul 2 afiaj n cod zecimal pentru regim

56

55

CAFIS3

00

64

octet

56

CAFIS4

00

65

octet

57

CAFIS13

00

66

octet

58

CAFIS14

00

67

octet

59 60 61 62 63 64 65 66 67 68 69 70 71 72

TIMPINMUIERE TIMPSPALARE

120 1200

68 69 6B 6C 6D 22 6E 6F 70 23 24 25 71 26

octet 2octei octet octet octet bit octet Nu exista octet bit bit bit octet bit

TIMPCENTRIFUGARE 59 TIMPSONERIE NRAFIS BIT TIMER BALEIAJ MEMIDT CONTORAPAS TASTUP TASTVALID TASTRELAX CONTORUP P0 3 00 1 00 00 0 0 0 00 0

centrifugare Imagine software celul 3 afiaj n cod zecimal pentru regim centrifugare Imagine software celul 4 afiaj n cod zecimal pentru regim centrifugare Imagine software celul 13 afiaj n cod zecimal pentru regim centrifugare Imagine software celul 14 afiaj n cod zecimal pentru regim centrifugare Timpul operaiei de nmuiere Timpul operaiei de splare Timpul operaiei de centrifugare Timpul ct timp este activat soneria Identificare celul de afiaj ce trebuie acionat Variabil contorizare timp n ntrerupere Identific linia baleiat Identificare tast Variabil care contorizeaz trecerea prin subrutin Tasta apsata;nceputul apsrii pe tast Tast valid apsat(dup debouncing) Tasta relaxat Contor tasta apsat Registru folosit pentru comanda portului paralel P0

57

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92

P1 RELEU REZISTENTA ELECTRICA RELEU MOTOR RELEU SONERIE RELEU VALVA AC0 AC1 AC2 AC3 AC4 AC5 AC6 AC7 AC8 AC9 AC10 AC11 AC12 AC13 AC14

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

27 28 29 2A 2B 2C 2D 2E 2F 72 73 74 75 76 77 78 79 7A 7B 7C

bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit

Registru folosit pentru comanda portului paralel P1 Variabil acionare rezisten electric Variabil acionare motor Variabil acionare sonerie Variabil acionare valva Variabila anod comun pt celula 0 Variabila anod comun pt celula 1 Variabila anod comun pt celula 2 Variabila anod comun pt celula 3 Variabila anod comun pt celula 4 Variabila anod comun pt celula 5 Variabila anod comun pt celula 6 Variabila anod comun pt celula 7 Variabila anod comun pt celula 8 Variabila anod comun pt celula 9 Variabila anod comun pt celula 10 Variabila anod comun pt celula 11 Variabila anod comun pt celula 12 Variabila anod comun pt celula 13 Variabila anod comun pt celula 14

58

List de materiale: Bill Of Materials May 18,2013 10:26:41 Page1

Item Quantity Reference Part ______________________________________________ 1 19 1,2,3,4,5,6,7,8,9,UP, SW PUSHBUTTON TEST_SONERIE,RIGHT,RESET, ON,LEFT,ENTER,DOWN,CLEAR, 0 C1 10uF C2,C3 18pF C4 100n D1,D2,D3,D4 D1N4007 LS1,LS2,LS3,LS4 RELAY SPDT LS5 BUZZER MG1 MOTOR AC QUARTZ 20MHz Q1,Q3,Q5,Q7,Q9,Q11 BC107 Q2,Q4,Q6,Q8,Q10 BC177 Q12,Q13,Q14,Q15 BD135-10/PLP R1,R3,R5,R7,R9 33k R2,R4,R6,R8,R10 4.22k R11 2.2k R12 137 R13,R14,R15,R16,R17 10k R18,R19,R20,R21 100 U1,U2,U3,U4,U5,U6,U7,U8, AFIS_7SEGMENTE U9,U10,U11,U12,U13,U14, U15 U16,U17,U18,U19,U25 74HC573 U20 8051 U21 8253 U22 7411 U23 REZISTENTA ELECTRICA U24 VALVA

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

1 2 1 4 4 1 1 1 6 5 4 5 5 1 1 5 4 15 5 1 1 1 1 1

59

60

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