Zar electronic cu AP MICRO Temă Se va realiza sinteza (prin program AP MICRO) a unui zar electronic format din 7 LED-uri comandate prin canalele de ieşire ale sistemului. La pornirea automatului, va fi parcurs în mod ciclic un program de numărare cu 6 stări distincte (corespunzătoare celor 6 cifre ale unui zar). Sunt numărate fronturile ceasului T32 (reglat la frecvenţa maximă). Prin apăsarea unui buton de tip impuls este afişată starea curentă. La eliberarea butonului, afişajul se stinge şi se reîncepe procesul de numărare. 1. Definirea variabilelor L2
L4
L6
L7
L5
L1
L3
Analizând combinaţiile de LED-uri (L1 - L7) ce trebuie să se aprindă pentru afişarea cifrelor unui zar, se constată că sunt necesare doar 4 canale de ieşire (E3 - E0) pentru a forma cele 6 cifre: La E3 se conectează L1, la E2 - L2 şi L3 în paralel, la E1 - L4 şi L5, iar la E0 - L6 şi L7.
L2
L1
L3 E2
E3 L4 L6
L7
L5 E1
Fiecare afişare este stocată într-o locaţie de memorie de date (M1 - M6) în procesul de numărare. Rezultă următoarea activare a canalelor de ieşire pentru formarea celor 6 cifre: 1 = E3 2 = E1 3 = E3ּE1 4 = E2ּE1 5 = E3ּE2ּE1 6 = E2ּE1ּE0
E0
adică, folosind locaţiile de memorie asignate: E3 = M1 + M3 + M5 E2 = M4 + M5 + M6 E1 = M2 + M3 + M4 + M5 + M6 E0 = M6 Se vor număra fronturile pozitive şi negative ale oscilatorului intern T32. La apăsarea unui buton de impuls I0, se afişează starea curentă (din momentul apăsării lui I0) şi numărarea este oprită. La eliberarea lui I0, ieşirile sunt şterse şi afişajul rămâne stins; procesul de numărare se reia. Zar electronic cu AP MICRO - 1
2. Organizarea programului RUN
0
I0
În funcţie de starea variabilei aplicate canalului de intrare I0, se va parcurge fie programul de numărare (caz în care ieşirile sunt resetate, deci afişajul va rămâne stins), fie programul de afişare a stării curente (situaţie în care se opreşte numărarea, automatul rămâne intern într-o anumită stare - una din cele 6 stări alocate - şi se activează liniile de ieşire).
1
NUM
AFIŞ. J0
J0
3. Reprezentarea procesului de numărare T32ּM1ּ ... ּM6
M1
T32
M2
T32
M3
T32
M4
T32
M5
T32
M6 T32
Condiţia de start a procesului de numărare (la conectarea automatului programabil) cu I0 neapăsat este ca întreaga memorie alocată să fie la zero. 4. Programul în limbaj literal Adr.MP 0000 1 2 3 4 5 6 7 8 9 0010 1 2 3 4 5 6 7 8
Operaţie LDC R R R R LD JC LDC ANDC ANDC ANDC ANDC ANDC AND S LD ANDC S R
Operand I0 E3 E2 E1 E0 I0 0040 M1 M2 M3 M4 M5 M6 T32 M1 M1 T32 M2 M1
Comentariu Proces de numărare; Reset ieşiri
Detecţie apăsare I0; salt la afişare stare Lansare proces de numărare
Trecere M1 - M2
Zar electronic cu AP MICRO - 2
9 0020 1 2 3 4 5 6 7 8 9 0030 1 2 3 4 5 6 7 8 9 0040 1 2 3 4 5 6 7 8 9 0050 1 2 3 4 5 6
LD AND S R LD ANDC S R LD AND S R LD ANDC S R LD AND S R J LD OR OR STO LD OR OR STO LD OR OR OR OR STO LD STO J
M2 T32 M3 M2 M3 T32 M4 M3 M4 T32 M5 M4 M5 T32 M6 M5 M6 T32 M1 M6 0 M1 M3 M5 E3 M4 M5 M6 E2 M2 M3 M4 M5 M6 E1 M6 E0 0
Trecere M2 - M3
Trecere M3 - M4
Trecere M4 - M5
Trecere M5 - M6
Trecere M6 - M1; reluare numărare
Buclare program Program afişare stare numărător; activare ieşiri
Buclare program
Zar electronic cu AP MICRO - 3