Documente Academic
Documente Profesional
Documente Cultură
Arhitectura şi
şi configurarea
configurarea sistemelor
sistemelor integrate
integrate
Iesire k
Intrare n-1
Iesire k
Iesire n
Registru Port de intrare
Bitn Bitn-1 Bitk Bit1 Bit0
Iesire 0
Iesire 1
Iesire k
Iesire n-1
Iesire n
©A.Sarca 2014 ACSI C3-5
Arhitectura
Arhitectura şi
şi configurarea
configurarea sistemelor
sistemelor integrate
integrate
Determinarea starii unui echipament [INPUT]:
- se izoleaza bitul corespunzator in cuvantul de date citit de la portul de intrare
- pentru izolare se utilizeaza o masca: “1” pe pozitia bitului selectat, “0” in rest
- se efectueaza operatia “SI” logic (AND) intre cuvantul de date citit si masca
Cuvant de date
Bitn Bitn-1 Bitk Bit1 Bit0 DataIN
citit de la port de
INPUT AND
Masca pentru 0 0 0
1 0 Maskk
izolarea bitului k
=
MSP430xG4618
Registrul de directie PxDIR – selectare tip bit – iesire sau intrare la port ‘x’
Alte registre:
Se utilizeaza: Se utilizeaza:
P1SEL - Bit 0 si Bit1 ca I/O [0] P2SEL - Bit1 si Bit2 ca I/O [0]
P1DIR - Bit 0 si Bit1 ca Input [0] P2DIR - Bit1 si Bit2 ca Output [1]
P1IN - Citire stare SW1 pe Bit0, P2IN --
si SW2 pe Bit1 P2OUT - Bit1 pentru comanda
P1OUT - - LED2, Bit2 pentru comanda LED1
Pini segmente
- controleaza afisaje
LCD:
Pini common
- statice
- cu multiplexare x 2
- cu multiplexare x 3
- cu multiplexare x 4
- memorie display
- generare automata
semnale
- frecventa afisare
selectabila
- blinking
Modul static
Fiecare ‘segment
pin’ controleaza 1
segment LCD
Se utilizeaza COM0
Modul 4-mux
Se utilizeaza COM0,
COM1, COM2, COM3
START
Iniţializări
NU Condiţie DA
totdeauna
adevărată
Execută aplicaţia
( deoacamdata doar
meniul de comenzi)
END
Meniu comenzi
NU Tastă DA
apăsată ?
NU Status = DA
Afişare c-zi ?
NU Status nou = DA
Editare c-zi ?
RETURN
Afiseaza_comanda
(tip_comanda, linie, coloana)
NU Tip_comanda DA
=PI_LxCy?
Afişeaza P pe poziţia 6
Afişeaza I pe poziţia 5
NU Tip_comanda DA
=PL_LxCy?
Afişeaza P pe poziţia 6
Afişeaza L pe poziţia 5
Afişeaza G pe poziţia 6
Afişeaza O pe poziţia 5
Afişeaza L pe poziţia 3
Afişeaza linie pe poziţia 2
Afişeaza C pe poziţia 1
Afişeaza coloana pe poziţia 2
RETURN
Afiseaza_pozitie
(axa)
Afişeaza P pe poziţia 6
NU DA
axa =AXA_X?
Afişeaza C pe poziţia 5
valoare = Pozitie_X
NU DA
axa =AXA_Y?
Afişeaza L pe poziţia 5
valoare = Pozitie_Y
Afişeaza H pe poziţia 5
valoare = Pozitie_Z
i=0
NU DA
i<4?
RETURN
Verifica_afisare_intermitenta
(editare, linie, coloana)
NU DA
contor2_intreruperi >TIMP_AFISARE
şi editare != OPRITA ?
contor2_intreruperi = 0
NU DA
mod_afisare = ON?
mod_afisare
mod_afisare==0N
0FF mod_afisare = 0FF
NU DA NU DA
Editare = Editare =
PE COLOANA? PE COLOANA?
RETURN