Sunteți pe pagina 1din 9

Sisteme cu microprocesoare

Porturi digitale I/O generale


Lucrarea 7

P.Lucrare.07.A


Porturi I/E numerice
Coninut
1. Introducere ......................................................................................................................3
1.1. Scop .........................................................................................................................3
2. PORTURI DIGITALE I/O GENERALE .............................................................................3
2.1. Consideraii generale privind porturile digitale de I/O ..............................................3
2.2. Descrierea trusei de dezvoltare MSP430. Schema electrica utilizata. .....................4
2.3. Descrierea elementelor constitutive ale MSP430FG4618.......Error! Bookmark not
defined.
2.4. Porturile I/O digitale disponibile pe MSP430FG4618 ...............................................5
3. Aplicaii ............................................................................................................................6
3.1. Exemplu de programare...........................................................................................6
3.2. Probleme ..................................................................Error! Bookmark not defined.






































L.7 - 2/7
Porturi I/E numerice
1. INTRODUCERE
1.1. Scop
n aceast lucrare se studiaz porturile digitale de I/O generale, utiliznd o trusa de
dezvoltare bazata pe micro-controlerele din familia MSP430 (Texas Instruments). Se
urmareste familiarizarea studentului cu niste concepte si realizari de ultima generatie, folosite
in viata de zi cu zi.

2. PORTURI DIGITALE I/O GENERALE
2.1. Consideraii generale privind porturile digitale de I/O
La fel cum s-a precizat si in lucrarile anterioare, unitatea centrala a unui sistem -
microprocesorul - comunica cu exteriorul si prin intermediul circuitelor de intrare/iesire
(porturi). Dac informatiile vehiculate de aceste circuite se prezinta la exteriorul sistemului
sub forma unor semnale binare (contact inchis sau deschis, dispozitiv luminos aprins sau
stins, semiconductor saturat sau blocat, etc.), porturile respective se numesc porturi de
intrari/iesiri digitale (sau numerice).
Printr-un port de ieiri digitale, unitatea centrala poate transmite comenzi (START,
STOP, etc.) sau semnalizari (OK - starea sistemului supravegheat este normal, AVARIE -
parametrul X a depait valoarea maxim admis) nspre exteriorul sistemului microprocesor.
Pentru a realiza aceasta, portul de ieire respectiv va fi "atenionat" de ctre
microprocesor c informaia prezent pe magistrala de date i se adreseaz i ea trebuie
"nmagazinat" de port spre a fi disponibil la ieire.
Odata selectat (prin prezena pe magistrala de adrese a unei combinaii de valori
binare reprezentnd adresa acelui port, simultan cu activarea unor anumite semnale pe
magistrala de control), portul de iesiri numerice face ca informaia nscris n el s fie
disponibil la ieire atta timp ct nu apare o noua selecie. Rezult deci c din punct de
vedere structural, un port de ieiri digitale are la baz un element de nmagazinare a
informaiei, de zvorre a ei, adic un circuit de tip latch. Acesta, n absena comenzii de
ncrcare i menine neschimbat starea ieirilor indiferent de variaia mrimilor de la
intrare, deci are la baza un element bistabil.
Unitatea centrala de prelucrare poate primi informaii despre starea unor mrimi
binare externe prin intermediul porturilor de intrri digitale. Selecia unui port de intrri
numerice se face, ca i n cazul portului de ieiri, pe baza adresei portului i a activrii unor
semnale de control. n acest caz, ele vor specifica efectuarea unei operaii de intrare. Odat
selectat, portul de intrare realizeaza transferul informatiei dinspre exterior inspre magistrala
de date a sistemului microprocesor. Din punct de vedere structural, un port de intrari digitale
are la baza un element de interfatare a informatiei, adica un circuit de tip buffer. Deoarece
iesirile unui port de intrare sunt cuplate deci la magistrala de date, fiecare ieire are la baza
un element tri-state. Acesta, atunci cind nu este activat (deci portul nu este selectat), prezint
o stare de nalt impedan echivalent funcional cu decuplarea fizic de la liniile magistralei
de date.








L.7 - 3/7
Porturi I/E numerice

2.2. Descrierea trusei de dezvoltare MSP430. Schema electrica utilizata.


Figura 7. 1 Experimenters board MSP430
Trusa folosita este gindita pentru a oferi posibilitatea evaluarii abilitatilor micro-
controlerelor MSP430FG4618 si MSP430F2013 de a fi folosite in numeroase aplicatii. Ca
posibilitati de programare se va folosi un adaptor JTAG (Joint Test Action Group a fost
initial un grup de oameni care aveau ca scop rezolvarea probelemei testarii circuitelor
integrate gata asamblate pe cablaj. Problema principala era ca nu mai exista posibilitatea de
a folosi aparate de masura conventionale deoarece terminalele nu mai erau accesibile in
orice situatie. Astazi denumire de JTAG semnifica o structura hardware/software folosita
pentru depanarea sistemelor integrate) care ne va permite rularea programelor scrise in
modul de lucru depanare (pas cu pas) dar si in modul de lucru automat.

L.7 - 4/7
A
u
d
i
o

o
u
t
p
u
t

j
a
c
k
M
S
P
4
3
0
F
G
4
6
1
8
/
F
2
0
1
3

E
x
p
e
r
i
m
e
n
t
e
r
'
s

B
o
a
r
d
R
F

D
a
u
g
h
t
e
r

C
a
r
d

C
o
n
n
e
c
t
I
s
o
l
a
t
e
d

R
S
2
3
2

C
o
m
m
u
n
i
c
a
t
i
o
n
B
r
e
a
d
b
o
a
r
d
S
a
l
l
e
n
-
K
e
y

2
n
d

O
r
d
e
r

O
A
1

A
c
t
i
v
e

L
P
F
(
F
o
r

o
p
t
.

F
2
0
1
3

p
r
o
g
r
a
m
m
i
n
g
)
0
-
0
0
S
o
f
t
B
a
u
g
h

S
B
L
C
D
A
4
(
A
4
/
O
A
1
I
0
)
(
A
3
/
O
A
1
O
)
(
A
7
/
D
A
C
1
)
(
A
0
/
O
A
0
I
0
)
(
A
5
/
O
A
2
O
)
(
A
1
/
O
A
0
O
)
(
A
2
/
O
A
0
I
1
)
(
M
i
c

S
u
p
p
l
y
)
M
S
P
4
3
0
F
G
4
6
1
8

P
i
n

A
c
c
e
s
s
P
o
w
e
r

S
u
p
p
l
y

C
o
n
f
i
g
u
r
a
t
i
o
n
(
O
u
t
p
u
t
A
t
t
n
.
)
V
C
C
_
1
:

F
G
4
6
1
8

S
u
p
p
l
y

C
o
n
f
i
g
P
o
s

1
-
2
:

F
E
T

P
o
w
e
r
e
d
V
C
C
_
2
:

F
2
0
1
3

S
u
p
p
l
y

C
o
n
f
i
g
P
o
s

2
-
3
:

B
a
t
t
e
r
y

P
o
w
e
r
e
d
B
u
z
z
e
r
M
u
t
e
M
i
c

I
n
p
u
t

C
i
r
c
u
i
t
r
y

a
n
d
1
s
t

O
r
d
e
r

O
A
0

A
c
t
i
v
e

H
P
F
M
S
P
-
E
X
P
4
3
0
F
G
4
6
1
8

P
C
B

V
e
r

0
-
0
0
D
o
c
u
m
e
n
t

N
u
m
b
e
r
:
D
a
t
e
:

2
6
-
O
c
t
-
2
0
0
6
S
h
e
e
t
:

1
/
1
V
E
R
:
+
+
+
+
A
1
C
9
C
1
0
C
8
C
1
3
C
6
C
2
1
2
H
2
3
4
5
6
7
8
1
2
H
3
3
4
5
6
7
8
1
2
H
4
3
4
5
6
7
8
1
2
H
7
3
4
5
6
7
8
1
2
H
6
3
4
5
6
7
8
1
2
H
8
3
4
5
6
7
8
C
1
2
1
B
A
T
T
2
P
1
.0
/
T
A
C
L
K
/
A
C
L
K
/
A
0
+
2
P
1
.1
/
T
A
0
/
A
0
-
/
A
4
+
3
P
1
.2
/
T
A
1
/
A
1
+
/
A
4
-
4
P
1
.3
/
V
R
E
F
/
A
1
-
5
P
1
.4
/
S
M
C
L
K
/
A
2
+
/
T
C
K
6
P
1
.5
/
T
A
0
/
A
2
-
/
S
C
L
K
/
T
M
S
7
P
1
.6
/
T
A
1
/
A
3
+
/
S
D
O
/
S
C
L
/
T
D
I
/
T
C
L
K
8
P
1
.7
/
A
3
-
/
S
D
I
/
S
D
A
/
T
D
O
/
T
D
I
9
V
C
C
1
V
S
S
1
4
T
E
S
T
/
S
B
W
T
C
K
1
1
X
I
N
/
P
2
.6
/
T
A
1
1
3
X
O
U
T
/
P
2
.7
1
2
N
M
I
/
R
S
T
/
S
B
W
T
D
I
O
1
0
U
4
L
E
D
3
L E D 4 1
J
P
3
2
1
J P 2
2
2 1
S P 1
1
J
P
1
2
1 2 3
V
C
C
_
1
C 1 8
1
2
H
5
3
4
C
1
9
C 2 1
1
J
P
4
2
C
1
1
2
H
9
3
4
5
6
12
M 1
+-
B 1
7
F
_
7
G
_
7
E
_
D
P
7
P
$
1
7
A
_
7
B
_
7
C
_
7
D
P
$
2
6
F
_
6
G
_
6
E
_
D
P
6
P
$
3
6
A
_
6
B
_
6
C
_
6
D
P
$
4
5
F
_
5
G
_
5
E
_
C
O
L
5
P
$
5
5
A
_
5
B
_
5
C
_
5
D
P
$
6
4
F
_
4
G
_
4
E
_
D
P
4
P
$
7
4
A
_
4
B
_
4
C
_
4
D
P
$
8
3
F
_
3
G
_
3
E
_
C
O
L
3
P
$
9
3
A
_
3
B
_
3
C
_
3
D
P
$
1
0
2
F
_
2
G
_
2
E
_
D
P
2
P
$
1
1
2
A
_
2
B
_
2
C
_
2
D
P
$
1
2
1
F
_
1
G
_
1
E
_
D
P
1
P
$
1
3
1
A
_
1
B
_
1
C
_
1
D
P
$
1
4
C
O
M
3
P
$
1
5
C
O
M
2
P
$
1
6
C
O
M
1
P
$
1
7
C
O
M
0
P
$
1
8
F
5
_
P
R
_
P
4
_
P
3
P
$
1
9
F
1
_
F
2
_
F
3
_
F
4
P
$
2
0
P
L
_
P
0
_
P
1
_
P
2
P
$
2
1
A
U
_
A
R
_
A
D
_
A
L
P
$
2
2
B
T
_
B
1
_
B
0
_
B
B
P
$
2
3
A
N
T
_
A
2
_
A
1
_
A
0
P
$
2
4
E
N
V
_
T
X
_
R
X
_
8
B
C
P
$
2
5
D
O
L
_
E
R
R
_
M
I
N
U
S
_
M
E
M
P
$
2
6
13579
J
T
A
G
2
1
1
1
3
2461
2
1
4
81
0
1 3 5 7 9
J
T
A
G
1
1
1
1
3
2 4 6
1
2
1
48
1
0
1
6
2
7
3
8
4
9
5
R
S
2
3
2
G
1
G
2
C
3
D
2
D 1
23
7 85 6
U
2
23
7 85 6
U
1
Q
1
1 2
S 1
1 2
S 2
R 3 3 R 3 1
R 2 6R 2 7R 3 4
R
2
9
R
3
2
R
3
0
R 1 9
R 1 8
R
2
0
R 1 3
R 1 4
R 1 5
R 1 6
R 2 3
R
8
R 3
R
1
0
R 1
R 2
R
5
R
9
R 4
R 1 1
R 1 2
R 1 7
1
P
W
R
2
2
1
P W R 1
2
8 0
7 9
7 8
7 7
7 6
7
5
7
4
7
3
7
2
7
1
7
0
6
9
6
8
6
7
6
6
6
5
6
4
6
3
6
2
6
1
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0 9 8 7 6 5 4 3 2 1
5 0
4 9
4 8
4 7
4 6
4 5
4 4
4 3
4 2
4 1
4 0
3 9
3 8
3 7
3 6
3 5
3 4
3 3
3 2
3 1
3 0
2 9
2 8
2 7
2 6
6
0
5
9
5
8
5
7
5
6
5
5
5
4
5
3
5
2
5
1
8 1
8 2
8 3
8 4
8 5
8 6
8 7
8 8
8 9
9 0
9 1
9 2
9 3
9 4
9 5
9 6
9 7
9 8
9 9
1 0 0
L E D 1
R 6
L E D 2
R 7
R 2 8
C
4
D 3
X 1
X
2
C
1
5
1
2
B
B
3
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
C
5
C
7
1
2
B
B
1
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
2
B
B
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
B A N D
P $ 4
T I P
P $ 1
R I N G
P $ 2
1
2
H
1
3
4
5
6
7
8
1
1
1
1
1
2
1
2
1
3
1
3
1
4
1
4
1
1
2
2
1
5
1
5
1
6
1
6
4
4
5
5
6
6
7
7
8
8
9
9
1
0
1
0
3
3
I
N
N
E
R
_
G
N
D
I
N
N
E
R
_
G
N
D
C
1
1
C
1
6
C
1
7
R
2
4
R
2
5
1 2 3
V
C
C
_
2
R
2
1
R
2
2
C 1 4
C 2 0
135
246
79
81
0
1
1
1
3
1
5
1
2
1
4
1
6
1
7
1
9
R
F
1
1
8
2
0
135
246
79
81
0
1
1
1
3
1
5
1
2
1
4
1
6
1
7
1
9
R
F
2
1
8
2
0
G
N
D
S
0
S
0
S
1
S
1
S
2
S
2
S
3
S
3
S
5
S
5
S
6
S
6
S
7
S
7
S
8
S
8
S
9
S
9
S
1
0
S 1 0
S
1
1
S 1 1
S
1
2
S 1 2
S
1
3
S 1 3
S
1
4
S 1 4
S
4
S
4
S
1
5
S 1 5
S
1
6
S 1 6
S
1
7
S 1 7
S
1
8
S 1 8
S
1
9
S 1 9
S
2
0
S 2 0
C
O
M
3
C
O
M
3
C
O
M
2
C
O
M
2
C
O
M
1
C
O
M
1
C
O
M
0
C
O
M
0
U
C
B
0
S
D
A
U
C
B
0
S
D
A
U
C
B
0
S
D
A
U
C
B
0
S
C
L
U
C
B
0
S
C
L
U
C
B
0
S
C
L
D
V
C
C
_
4
6
1
8
D
V
C
C
_
4
6
1
8
D
V
C
C
_
4
6
1
8
D
V
C
C
_
4
6
1
8
D
V
C
C
_
4
6
1
8
D
V
C
C
_
4
6
1
8
D
V
C
C
_
4
6
1
8
S
I
M
O
1
S I M O 1
S
I
M
O
1
S
O
M
I
1
S
O
M
I
1
S O M I 1
U
C
L
K
1
U C L K 1
U
C
L
K
1
S
2
1
S 2 1
G
D
O
2
G
D
O
2
G D O 2
G
D
O
0
G
D
O
0
G D O 0
P
3
.
0
P
3
.
0
P
3
.
0
U
T
X
D
1
U
T
X
D
1
U
R
X
D
1
U
R
X
D
1
P
7
.
5
P 7 . 5
2
0
1
3
_
P
1
.
2
2
0
1
3
_
P
1
.
3
2
0
1
3
_
P
1
.
4
2
0
1
3
_
P
1
.
5
S
C
L
S
D
A
2
0
1
3
_
P
2
.
7
2
0
1
3
_
P
2
.
6
S
B
W
T
C
K
S
B
W
T
C
K
S
B
W
T
D
I
O
S
B
W
T
D
I
O
P
6
.
0
P
6
.
0
P 6 . 0
P
6
.
1
P
6
.
1
P 6 . 1
P
6
.
2
P
6
.
2
P 6 . 2
P
6
.
5
P
6
.
5
P
6
.
5
L
C
D
C
A
P
L
C
D
C
A
P
P
1
0
.
7
P
1
0
.
7
P
5
.
1
P
5
.
1
V
E
R
E
F
+
V
E
R
E
F
+
R
E
S
E
T
C
C
R
E
S
E
T
C
C
R E S E T C C
V
R
E
G
_
E
N
V
R
E
G
_
E
N
V R E G _ E N
F
I
F
O
F
I
F
O
F I F O
F
I
F
O
P
F
I
F
O
P
F I F O P
P
C
_
G
N
D
2
0
1
3
_
P
1
.
1
2
0
1
3
_
P
1
.
0
P
2
.
0
P 2 . 0
P
2
.
2
P 2 . 2
P
2
.
6
P
2
.
6
U
C
B
0
C
L
K
U
C
B
0
C
L
K
U
C
B
0
C
L
K
P
3
.
4
P
3
.
4
P
3
.
5
P
3
.
5
P
3
.
5
P
3
.
7
P
3
.
7
P
5
.
6
P
5
.
6
P
7
.
4
P 7 . 4
P
7
.
6
P 7 . 6
P
7
.
7
P 7 . 7
V
R
E
F
V
R
E
F
P
5
.
0
P
5
.
0
P
1
0
.
6
P
1
0
.
6
P
6
.
4
P
6
.
4
P
6
.
4
P
6
.
6
P
6
.
6
P
6
.
3
P
6
.
3
P
6
.
3
P
6
.
7
P
6
.
7
P
6
.
7
V
E
R
E
F
-
V
E
R
E
F
-
S
W
1
S W 1
S
W
1
S
W
2
S W 2
S
W
2
P
2
.
1
P 2 . 1
P
2
.
3
P 2 . 3
P
2
.
3
P
2
.
7
P
2
.
7
U
C
A
0
T
X
D
U
C
A
0
T
X
D
U
C
A
0
T
X
D
U
C
A
0
R
X
D
U
C
A
0
R
X
D
U
C
A
0
R
X
D
P
3
.
6
P
3
.
6
P
5
.
7
P
5
.
7
P
5
.
5
P
5
.
5
P
4
.
2
P
4
.
2
P
4
.
2
P 7 . 0
P
7
.
0
U C A 0 S I M O
U
C
A
0
S
I
M
O
U C A 0 S O M I
U
C
A
0
S
O
M
I
U C A 0 C L K
U
C
A
0
C
L
K
P 4 . 7
P
4
.
7
P 4 . 6
P
4
.
6
L
C
L
_
P
W
R
1
L
C
L
_
P
W
R
1
F
E
T
_
P
W
R
1
F
E
T
_
P
W
R
1
F
E
T
_
P
W
R
2
F
E
T
_
P
W
R
2
L
C
L
_
P
W
R
2
L
C
L
_
P
W
R
2
A
V
C
C
_
4
6
1
8
A
V
C
C
_
4
6
1
8
0
.
1
u
F
1
0
u
F
0
.
1
u
F
0
.
1
u
F
0
.
1
u
F
G
N
D
G
N
D
V
C
C
0
.
1
u
F
G
N
D G
N
D
0
.
1
u
F
G
N
D
V
C
C
G
N
D
M
S
P
4
3
0
F
2
0
1
3
P
W
G N D
G
N
D
G
N
D
A L 6 0 P
4 7 0 n
G
N
D
1
0
u
F
1 5 p
G
N
D
V
C
C
0
.
1
u
F
G
N
D
G
N
D
1
0
u
F
1
N
4
1
4
8
1 N 4 1 4 8
P
S
8
8
0
2
P
S
8
8
0
2
M
M
B
T
5
0
8
8
G
N
D
G
N
D
V
C
C
G
N
D
G
N
D
1 0 k 4 7 0 k
4 7 01 k3 k 3
1
k0
1
5
0
k
1 0
4 7 k
4
7
0
5 M 1
5 M 1
5 M 1
5 M 1
4 7 0
1
0
4 7 k
1
0
1 k
2 k 2
1
0
0
2
k
2
2 k 2
1 0 0 k
1 0 0 k
4 7 0
G
N
D
V C C _ 2 0 1 3
G
N
D
4 7 0
G
N
D
4 7 0
2 2 k
1
0
u
F
1 N 4 1 4 8
1
0
u
F
1
0
u
F
1
0
u
F
V
C
C
V
C
C
1
u
F
2
2
n
F
3
.
3
n
F
1
.
4
k
1
5
.
4
k
0
-
D
N
P
0
-
D
N
P
D N P
4 7 0 n
G N D
G
N
D
G
N
D
Porturi I/E numerice
Desi placa este echipata cu mai multe echipamente, in lucrarea de fata se vor folosi
butoanele pentru a exemplifica porturile de intrare digitale, iar pentru a exemplifica porturile
de iesire digitale se vor folosi LED-urile si buzzer-ul.

2.3. Descrierea elementelor constitutive ale MSP430FG4618

Micro-controlerul folosit va fi MSP430FG4618, produs de firma Texas Instruments.
Nucleul este un procesor de 16bit de tip RISC (Reduced Instruction Set Computer) acest
lucru inseamna ca procesorul este optimizat sa execute un numar mic de instructiuni foarte
simple (in cazul de fata doar 27 instructiuni de baza si 24 derivate) ceea ce inseamna timpi
de executie mult redusi (fata de procesoarele CISC Complex Instruction Set Computer) si
deci performante marite.
Structura interna este una de tip von Neuman, unde exista o singura magistrala de
adrese (de 20biti) pentru memoria de date si memoria program si o magistrala de date (de
16bit).
Ca elemente constructive principale se pot aminti :
- 3 canale DMA (Direct Memory Access)
- 1 convertor analog digital de 12biti
- 2 convertoare digital analogice de 12biti
- 2 numaratoare de 16bit cu un total de 10 registri de captura
- Interfata seriala cu posibilitate de configurare in mod asincron sau sincron
- Encoder/decoder pentru protocoalele de comunicatie IrDA (Infrared Data
Association)
- Posibilitatea blocarii (in mod ireversibil) acesului la memoria interna pentru
protejarea programului scris
- Interfata incorporata pentru afisaj cu cristale lichide (LCD)
- Fiecare pin are cel putin o functie de I/O general plus o functie specializata

2.4. Porturile digitale I/O disponibile pe MSP430FG4618

Cum a fost precizat anterior, aproape oricare dintre pinii micro-controlerului poate fi
folosit si ca un port generic de intrare/iesire, mai precis spus din cei 100 de pini ai
procesorului, 80 au si functii secundare de I/O, motiv pentru care un asemenea circuit se
poate folosi intr-o gama extinsa de aplicatii.
Porturile I/O digitale sint grupate in seturi de cite 8biti, avid astfel 10 porturi de cite 8
biti fiecare (P1 P10).
Fiecare port de cite 8 biti este configurat cu ajutorul a cel putin 3 registrii interni ai
FG4618 :
- PxSEL registrul care determina in mod unic, functionalitatea fiecarui bit din
portul x. Valoarea 0 configureaza bit-ul ca pin I/O, in timp ce valoarea 1
configureaza bit-ul respectiv cu functionalitatea specifica

L.7 - 5/7
Porturi I/E numerice
- PxDIR registrul care determina in mod unic, directia fiecarui bit din portul x.
Valoarea 0 seteaza bit-ul respectiv ca intrare, in timp ce valoarea 1 seteaza bit-ul
respectiv ca iesire
- PxIN registrul care contine in fiecare moment de timp starea fiecarui bit din
portul x daca acesta a fost configurat ca intrare digitala. Valoarea 0 inseamna
stare low (0V), valoarea 1 inseamna stare high (3.3V)
- PxOUT registru care seteaza starea fiecarui bit din portul x daca aceasta a fost
configurat ca iesire digitala. Valoarea 0 inseamna ca se comanda starea low (0V)
iar valoarea 1 inseamna ca se comanda starea high (3.3V).
In mediul de programare folosit pentru lucrare (Code Composer Essentials v2.0)
fiecare dintre acesti registri se poate accesa/programa folosind chiar numele lui (i.e. P2OUT
= 0xFF va seta toti 8 pinii portului 2 in starea high. Este sarcina programatorului ca inainte de
executia acestei instructiuni sa se asigure ca pinii au fost configurati ca iesiri digitale)

3. APLICATII
3.1. Exemplu de programare
Programarea FG4618 se va face exclusiv in C mai jos avind un ca exemplu, un
program care citeste starea butonului S1 de pe placa de evaluare si in functie de starea
acestuia aprinde/stinge LED4 (vezi schema electrica).
#include "msp430xG46x.h"
void main(void)
{
unsigned stare_pini; // Declarare variabila de lucru
WDTCTL = WDTPW + WDTHOLD; // Oprire WATCHDOG
P1SEL &= 0xFE; // Seteaza pinul 0 din portul 1 ca fiind I/O
P1DIR &= 0xFE; // Seteaza pinul 0 din portul 1 ca fiind INPUTS
P5SEL &= 0xFD; // Seteaza pinul 1 din portul 5 ca fiind I/O
P5DIR |= 0x02; // Seteaza pinul 1 din portul 5 ca fiind OUTPUT
P5OUT &= 0xFD; // Stinge LED-ul rosu
for (;;) // Pornire bucla infinita (se poate face si cu perechea DO / WHILE)
{
stare_pini = P1IN; // Se citeste starea portului 1
stare_pini = ~stare_pini; // Se neaga valoarea
stare_pini &= 0x01; // Se izoleaza starea pinului 0 din portul 1 (S1)
if(stare_pini) P5OUT |= 0x02; // Se seteaza starea pinului 1 din portul 5 (aprinde
LED4)
else P5OUT &= 0xFD; // Se reseteaza starea pinului 1 din portul 5 (stinge LED4)
}
}


L.7 - 6/7
Porturi I/E numerice

L.7 - 7/7


3.2. Probleme
1. S se modifice programul existent astfel incit la apasarea butonului S1,
ledurile LED4, LED1 si LED2 sa isi schimbe starea periodic (sa clipeasca atit
timp cit butonul este mentinut apasat)
2. Sa se dezvolte programul astfel incit la apasarea butonului S2 sa se obtina un
sunet la buzzer.
MSP430xG461x
MIXED SIGNAL MICROCONTROLLER
SLAS508G -- APRIL 2006 -- REVISED OCTOBER 2007
3 POST OFFICE BOX 655303 DALLAS, TEXAS 75265
pin designation, MSP430xG461xIPZ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
7
6
7
7
7
8
7
9
8
0
8
1
8
2
8
3
8
4
8
5
8
6
8
7
8
8
8
9
9
0
9
1
9
2
9
3
9
4
9
5
9
6
9
7
9
8
9
9
1
0
0
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
5
0
4
9
4
8
4
7
4
6
4
5
4
4
4
3
4
2
4
1
4
0
3
9
3
8
3
7
3
6
3
5
3
4
3
3
3
2
3
1
3
0
2
9
2
8
2
7
2
6
P
1
.
7
/
C
A
1
P
6
.
1
/
A
1
/
O
A
0
O
P
6
.
0
/
A
0
/
O
A
0
I
0
R
S
T
/
N
M
I
X
T
2
I
N
X
T
2
O
U
T
P
1
.
3
/
T
B
O
U
T
H
/
S
V
S
O
U
T
P
1
.
4
/
T
B
C
L
K
/
S
M
C
L
K
P
1
.
5
/
T
A
C
L
K
/
A
C
L
K
P
1
.
6
/
C
A
0
P
2
.
3
/
T
B
2
P
9
,
2
/
S
1
5
P
9
.
1
/
S
1
6
P
9
.
0
/
S
1
7
P
8
.
5
/
S
2
0
P
8
.
0
/
S
2
5
P
7
.
7
/
S
2
6
P
7
.
6
/
S
2
7
P
7
.
5
/
S
2
8
P
7
.
4
/
S
2
9
P
7
.
2
/
U
C
A
0
S
O
M
I
/
S
3
1
P
4
.
7
/
U
C
A
0
R
X
D
/
S
3
4
P
7
.
3
/
U
C
A
0
C
L
K
/
S
3
0
P
1
.
0
/
T
A
0
T
D
I
/
T
C
L
K
T
D
O
/
T
D
I
P
8
.
4
/
S
2
1
S
S
1
D
V
P
6
.
2
/
A
2
/
O
A
0
I
1
P
1
.
2
/
T
A
1
P
8
.
1
/
S
2
4
P
4
.
6
/
U
C
A
0
T
X
D
/
S
3
5
DV
CC1
P6.3/A3/OA1O
P6.4/A4/OA1I0
P6.5/A5/OA2O
P6.6/A6/DAC0/OA2I0
P6.7/A7/DAC1/SVSIN
VREF+
XIN
XOUT
VeREF+/DAC0
VREF--/VeREF--
P5.1/S0/A12/DAC1
P5.0/S1/A13/OA1I1
P10.7/S2/A14/OA2I1
P10.6/S3/A15
P10.5/S4
P10.4/S5
P10.3/S6
P10.2/S7
P10.1/S8
P10.0/S9
P9.7/S10
P9.6/S11
P9.5/S12
P9.4/S13
P2.4/UCA0TXD
P2.5/UCA0RXD
P2.6/CAOUT
P2.7/ADC12CLK/DMAE0
P3.0/UCB0STE
P3.1/UCB0SIMO/UCB0SDA
P3.2/UCB0SOMI/UCB0SCL
P3.3/UCB0CLK
P3.4/TB3
P3.5/TB4
P3.6/TB5
P3.7/TB6
P4.0/UTXD1
P4.1/URXD1
DV
SS2
DV
CC2
LCDCAP/R33
P5.7/R23
P5.6/LCDREF/R13
P5.5/R03
P5.4/COM3
P5.3/COM2
P5.2/COM1
COM0
P4.2/STE1/S39
P
8
.
6
/
S
1
9
P
8
.
3
/
S
2
2
P
8
.
2
/
S
2
3
P
7
.
0
/
U
C
A
0
S
T
E
/
S
3
3
P
7
.
1
/
U
C
A
0
S
I
M
O
/
S
3
2
P
4
.
5
/
U
C
L
K
1
/
S
3
6
P
4
.
4
/
S
O
M
I
1
/
S
3
7
P
4
.
3
/
S
I
M
O
1
/
S
3
8
C
C
A
V
S
S
A
V
T
C
K
T
M
S
P
1
.
1
/
T
A
0
/
M
C
L
K
P
2
.
0
/
T
A
2
P
2
.
1
/
T
B
0
P
2
.
2
/
T
B
1
MSP430xG4616IPZ
MSP430xG4617IPZ
MSP430xG4618IPZ
MSP430xG4619IPZ
P
9
.
3
/
S
1
4
P
8
.
7
/
S
1
8