Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La delicata operazione
di scrittura netla EEPROM
a EEPROM dei dati del PIC 1 6F84 ha una capa- completata. non è possibile ripetere I'operazione stessa,
cità di soli 64 byte, ma il suo pregio sta nella ìnoltre conviene verrficare che non siano stati prodotti
non volatrlità dei dati. Scollegando l'alimenta- errori durante la sua realizzaztone, per questo test esi-
zione, l'informazione memorizzata nelle sue stp rn fl,an dpdirato npl rpnicfrn di rnntrgllo della
celle viene nantenuta; ouesta caratteristica EEPROM.
rondp nrroqta momoliS indi-
spensabile in molte applicazioni i1
commerciali. t:
tt
l-nmo ni: dotfn in nraee- ll
sv, |,! y,q 1:
denza. ogni indirizzo di questa ::
)l
mpmoria nlro esqprc scritto ìn
modo indipendente, anche se GIE e EEIE devono essere é 1 per permettere un interrupt
I bit di permesso dell'interrupt
la grande quantità di tempo quando termina la scrittura della EEPROM e il flag EEIF passa a 1 .
4 MHz può eseguìre 10.000 istruzioni normali nel I bit GIE e EEIE sono ubicati nel registro INTCON,
tempo in cui si scrive un byte nella EEPROM. mentre il flag EEIF si trova nel bit 4 del registro
ll tempo di scrittura di una cella della EEPROVI non EECONl; questo flag viene messo automaticamente a
è costante, dipende dalla temperatura, dalla frequenza 1 quando termina la scrittura.
di campionamento, e da altri parametri; pero questo Dobbiamo considerare che quando si utilrzza un
tempo è critico, perche se non si compie non si riesce a interrupt per fine scrittura nella EEPROM, all'interno
scrivere in modo corretto ìl byte nella memoria, e il della routine dedicata, prima dell'istruzione di ritorno
sistema resta degradato e inservibile. Pertanto è assolu- dobbiamo porre il bit EEIF = 0, perche in caso contrario
tamente necessario verificare con certezza che l'opera- appena ritornati al programma principale si ripetereb-
zione di scrittura terminì correttamente. be la chiamata alla routine di interrupt. Nella figura e
riportata la situazione dei bit che gestiscono l'interrupt
per fine scrittura.
Così come ner le altre tre cause di interrr rnt nel Quando GIE = EEIE = 1, e termina Ia scrittura nella
PIC 16F84, l'interrupt per frne della scrittura nella EEPROM, il bit EEIF si pone a 1 e si genera un interrupt.
FFPROIV psinp la oestione di tre bit: La routine dedicata deve esaminare se vi sono stati
- GIE: Permesso Globale di Interrupt. eventuali errori, testando il bit che lo segnala, e suc-
- EEIE: Abilitazione dell'interruot oer fine scrittura cessivamente porre EEIF = 0 prima del rìtorno al pro-
nella EEPROM. gramma principale.
- EEIF: Flag di fine scrittura della EEPROM Una buona tecnica e verificare che sia stato scritto
Quando termina l'operazione dì scrittura di un byte nell'indirizzo voluto il valore corretto. Nello schema
nella EEPROM, il flag EEIF viene messo a 1 automatica- logico della figura si mostra il modo in cui si genera un
mente. Sino a che l'operazione di scrittura non e stata interruot oer fine scrittura nella EEPROM.
ill ICROCONTROLLER
nellcr EEPROilI
Un buon programmatore ha la capacità di ordinare ìl 2". Definizione di inizio del programma principale e inizio del ptogramma di
lavoro di sviluppo in parti, o moduli, di piccole dimen-
sioni. In questo modo al momento di scrìvere le istru-
zioni farà nferimento a piccoli moduli, facili da eseguire
e da capire, e rapidi da editare. 4". Configurare la pora B (ome ingresso.
Por rennrpqpnlartr comodamente la divisione deì
problema da risolvere è fortemente consigliabile utiliz-
zare gli organigrammi.
6". Attivare i bit di permesso dell'intenupt, il bit di permesso globale, quello
di intenupt esterno tramite RBO e quello per il cambio di stato nelle linee
RB+RBi,
!ip' Allorme?
Rouline
di interrupt
Organigramma del programma principale Struttura interna del registro di controllo degli interrupt INTCON.
TWCROCONTROttER
Interrupt per fine gcrlftura nellei EEPROilI
LIST P=16F84
RADIX HIX
W EQU 0
F EQU 1
STATO EQU 0x03
PORTAA EQU 0x05
PORTAB EQU 0x06
INTCON EQU 0x0B
Definizione degli indirizzi di inizio del programma principale e della routine di interrupt
ORG 0
goto inizio
ORG 4
9oto inter
ORG 5
end
,;.
5r
fimportanza
del consumo
bbiamo un distributore di bibite in mezzo
alla spiaggia. Ha avuto una buona acco-
- Posso dq 2mA
Consumo minimo
o meno di IOpA
Tabella che raccoglie le principali conseguenze degli ingressi nel modo riposo.
che si ferma è l'oscillatore principale, lasciando il com- Il microcontrollore si addormenta eseguendo l'istruzio-
pito di produrre gli ìmpulsi di lavoro alla frequenza ne SLEEP nel programma e si sveglia, riprendendo il suo
Fosc/4. funzionamento normale, per le seguenti cause:
ln questa condizione il processore non esegue alcu-
na istruzione, né tantomeno funziona ilTMR0 dato che
non riceve impulsi interni.
2', Per l'ovedlow del
Per fare in modo che il TMR0 non funzìoni con gli
impulsi esterni, si porta il piedino RA4/TOCLKl aì positi-
vo. In questo stato dobbiamo evidenziare che il
Watchdog che rimane in funzione, entrando in modo Quando si attiva ìl piedino MCLR# e ìl PlC16F84 è
riposo viene resettato, o reinizializzato, però continua a stand-by, si sveglia e inizia ad eseguire la prima istru-
funzionare, dato che dispone di un oscillatore proprio zione del programma, che risiede nel Vector Reset. Lo
e indipendente. In questo caso i flag del registro STA- stesso succede quando va in overflow il WDT: se il
TUS resteranno TO# = '1 e PD# = 0. microcontroller stava dormendo, si sveqlia e si reini-
Le linee di ingresso e uscita mantengono lo stato zializza.
precedente all'ingresso in modo riposo, e quelle che Per determrnare quale delle due cause ha origina-
non sono collegate a delle periferiche e che assumono to il Reset, sì testano iflag TO# e PD# del registro
lo stato di alta impedenza si raccomanda di colìegarle STATUS, seguendo i valori indicati dalla tabella della
al positivo o a terra, per evìtare possibili fughe di cor- f igura.
rente. Vedere la tabella della fiqura. Quando si sveglia il PIC si sviluppa la sequenza del
VALORE DET FLAG INDICAZIONE
PD#= | - Si è sveglioto
Iemoorizzalore OST rhe ritarda di 'l024.Tosc l'inizio del interrupt che ammette il PlC16t84, quella relativa al
funzionamento normale, con l'obiettivo di dare il TN/R0 non e possibile, dato che mancano gli impulsi,
tempo alla frequenza di funzionamento di stabilizzarsi. quindi sono valide soÍo le altre tre opzioni (vedi tavola
in alto alla pagina seguente).
. ':.. 1.., 'l'
Quando venne eseguita l'istruzione SLEEP, il PC si
La terza causa che puo fare risvegliare il PIC avviene fermò caricato con I'indinzzo dell'istruzione successiva
quando si verifica un interrupt. Dei quattro possìbili (PC+1).
lstruzioni che esegue il PlCl6FB4 quando si sveglia tramite un interrupt a seconda del valore del bit GIE
P52 MTCROCONTROttER
ll modo riposo
or 02 03 04 al a2 03 a4 Qr or 02 a3 04 0l 02 a3 04 Qr 02 a3 a4 ar a2 a3 a4
t I l l I f 'g ,' ;,r$ 1,,|'|,,1'l f::1 1 I,,i,I,[.]-']
PIEDINO INT
INTF flos
(|NTCON <t>)
GIE bit
{tNTCON <7>) < PROCESSORE > ':. ::::'..:..:'.t,'
ir.iirìHi-si
-
PC
srEEP
; '"tlfitooìf Insr (PC)= Inst {PC+l}
rwic. (l.ì)
\È systa,t's
Frrdirroertn
{wattaaaaaaaatltjjtlllll:11::iìrìììììilri.ffi Birrrrllllr,
ONTROLTER
: . '::.
''
I l
Fotografia del Micro PIC Programmer collegato alla porta parallela del PC
del computer. Uimpiego di questa porta permette una durante la fase di scrittura, in cui bisogna inserire e
maggiore velocità di scrittura e una maggiore protezio- togliere il circuito integrato dallo zoccolo del program-
ne del PC, dato che la scheda dispone di alimentazione matore, si possono uttlizzare zoccoli a "forza di inser-
zinnorE ruro
nr rll: " , lvrrs
rnmo 61 lnlln Ànllr
uEllo {n+nnrrfir
autonoma. 4rvr vucllu luLU9lollo.
lnoltre è incluso anche un dischetto con il oro-
gramma di comunicazione e controllo PICME-PR, e le '
. . ' jt ,
"
informazioni tecniche sull'utilizzo e sul funziona- tinizializzazione del funzionamento del MICRO PIC
mento. PROGRAMMER e molto semplice e rapida, e consta di
Questo programmatore dispone di un circuito per la quattro passi:
stabilizzazione delle tensroni di alimentazione, quindi 1" Passo: Cooiare il software PICME-PR del dischet-
può funzionare sia con due pile da 9 VDC che con un to, in una subdirectory sull'hard disk del PC.
trasformatore da 220/15 VAC e una corrente uquale o 2" Passo: Collegare il cavo da 25 fili fornito insieme
superiore a 0.5 A. al programmatore alla porta parallela del PC.
3" Passo: Fornire la tensione di alimentazione
allo scrittore, o con due pile da 9 VDC o con un tra-
Anche se sulla scheda del MICRO PIC PROGRAMMER ci sformatore da 220/15 VAC e una corrente superio-
sono soìamente due zoccoli da 1B e da 40 piedini per re a 0,5 A.
inserire i PIC da programmare, esistono diversi adatta- 4" Passo: Eseguire dal PC il programma PICME-PR
tori che supportano i modelli a 2B piedini, con conteni- con il quale si possono realizzare le funzioni di lettura,
tori di differente larghezza, permettendo l'uso del pro- scrittura, verifica, cancellazione, ecc. del microcontrol-
grammatore con la maggior parte dei PIC della gamma ler. Dovrà aooarire neì monitor del PC la finestra di lavo-
media. Per proteggere i piedini del microcontroller ro rioortata in fiqura.
Fotografia dello zoccolo a forza di inserzrone nulla, e un adattatore per un PIC con contenitore diverso.
I'IICROCONfROttER
VERIFICA
DI CANCELLAZIONE
Quando si attiva questa
+. .++- l-
opzrone,
^^-i^^^ IUIIa ta memona
--
del circuito integrato, prima
della fase di scrittura, e sot-
toposta a una verifica di can-
cellazione.
ID/CHECK
Mediante questa frnestra, si
puo scnvere un numero dr
identificazione che verra
scritto nella memoria del PIC
(parola di identif icazione) In
egual modo verra visualizza-
to il "Check-sum" delconte-
nuto attuale della memoria.
APRI FILE
Questo pulsante permette di
leooere ilcontpnrrto di un
file eseguibile in formato
Videata di lavoro del aroqramma PICME-PR.
INTEL.HEX e depositarlo nel
buffer della memoria.
PROGRAMMA TUTTO
Trasferisce il contenuto del buffer di memoria e la
Quando si esegue il programma PICME-PR, sul monitor Parola di Configurazione attuale nella memoria interna
appaiono una serie di finestre e dì pulsanti di comando, del microcontroller.
-^^ iI quarì
con sr arrvano
^,,-li -; -++i,,1^^ tt ttté lo fr rnzinni,. del nr
--, tr,ogramma- PROGRAMMA PAROLA
tore, che descriviamo di seguito: Scrive unicamente la parola di configurazione attuale
BUFFER DELLA MEMORIA DI PROGRAMMA sul microcontroller, lasciando inalterato il contenuto
È la finestra più grande della videata, e in essa appare il della sua memoria interna.
contenuto che arriva da, o che deve essere trasferito a, VERIFICA
la memoria del codice interno del microcontroller. Verifica il contenuto della memoria interna del PIC con il
Mediante i pulsanti adeguati si puo visualizzare tutto il contenuto del buffer di memoria. Se viene rilevata qual-
conten uto. che differenza appare il corrispondente messaggio. Si uti-
SELEZIONE DEL MODELLO ltzza per verificare la corretta programmazione del PlC.
ln nrocf: finpctr,a qi cronlip il Pll- rho
rL Jr dociÀo'. PIU-
<i uLrluEIo ^'^ LEGGI PIC
Ofammafe. F vtYutt'LLara in a' ,a++rn gruPpt
Of OaniZZ=+: ilrquqLLrv ^r, ^^i di modellt
I
Legge il contenuto della memoria interna del PIC e lo
16C6X, 16C62X, 16C7X, 16C84 (16F84). Selezionando denosita nel hrrffer dolla memoria.
uno di questi gruppi appare un menu a tendina, con i CANCELLA PIC
diversi modelli disponibili. Dopo aver selezionato quello Cancella il contenuto della memoria ìnterna del PlC.
che si desrdera, nella parte inferiore della f inestra si pos- Questa icona risulta attiva solo quando la memoria e di
sono leggere le caratteristiche piu importanti del tioo FLASH e ouo essere cancellata.
modello scelto, VERIFICA DI CANCELLAZIONE
PAROLA DI CONFIGURAZIONE Verifica che la memoria interna del PIC sia totalmente
Tramite olestà finestra si scenlie ,a conf iarrrazione di cancellata.
lavoro del PIC: protezione del codice, attìvazione del ESCI
Watchdog, Brown-Out, Power Timer e tipo di clock Chiude il programma PICME-PR e restituisce il control-
(XT). lo del PC al sistema operativo.
NilICROCONTR L[ER
Concetli e utilifer del di sviluppo
;
$
lnsieme dei materidi che formano il sistema di sviluppo MICRO PIC TRAINER
. .'., "r,,' | .',.,i',.,,'.
.,t,,.1,,....,,',
Nella tabella seguente sono riportate le caratteristiche e
i componenti principali di cui è composto il MICRO PIC
TRAINER.
r montaqqio.
In modo complementare,
' lngeniería de Microsistemas
Proora.nados Sl fornisce
, due kit di componenti e un
manuale con eserczr per svr-
Irrnnare una serie di progetti
con il MICRO PIC TRAINER e
le schecle clei orototipi. ll kit
di inizio si chiama "KlT DE
IPROYECTOS BASICOS" C
:;,....,..
nrello avan.zato " KlT DE
Scheda dei prototipi per progetti basati sui PIC della gamma media
PROYECTOS TíPICOS".
:: ti:a !r''t,'t:
II proto PIC 2, scrittore di PIC
. Generatore di funzioni
. Potenziometro regolabile
Dettag I io del col leg a mento
dei componenty util zzati in un esperimento
. Valigetta trasportabile
MODUL0 2: SEMICOi,IDUTTOR|
dispositivi presenti sull'UNIVERSAL TRAINER a quelli board, e collegati mediante fili inseriti a pressione nei
esterni che sì possono aggiungere. fori della protoboard stessa.
,.
!
........,. ;
Scheda PROTa PIC 2, che coytille il OroOryo s:rittor: di Oer realizzare i proget! dei Modult 4 5
llc 1
i:-'n1:i...,:'!;i'4::],:.lt+t,:!];4Ì].í..;i'.'t:t.'u!.r:i!;lrli"'i;.lu,'.li.;-:i11;;':i',1,';,;.l1.;|,
MICROCONTROTLER
Un pioniere in microroboticei
Alimentazione: da 3 a 6 V nominale 5 V
Temporizatore da 8 e da 16 bit
ffircffi
XTAT EXTAL E XIR-a RESET
caratteristiche del
modello 6BHC 1 1A1 .
sponibile in commer-
cìo in contenitore l
ruffi
l)l( ( .lr \,/
J- nrn ó
r rn
V"' ",
DIP da 48 pin Questi
nier-lini clovnnn qrrn-
."f,
n^rtrró qR {r rnzinni
Pv, rq,L
dif{oranti
ur rErcru, nar
PEr rrri
Lur l:rc
maggior parte di essi
at,,^--^
t,
@I
asS0tve
^--^t,,^ dile
-il^ 0tver5e
{,,^-i^^i
lulf zlut|
silio di un multiplexer
interno.
9taz
-ll,-,,du-
^"-,i^ rc dil
:
-r--==
NONONO
É------f É------É H------H
ÈÉ
-IE-
boNo
dd
Nl^ll^
l\elld +i^,,.^ i^
I 19Urd lrì r' .,
*à
basso e riportata la Struttura interna del 6BHC | 1 con i blocchi che lo configurano e i relativi piedíni
nionlinrtrrrr nar il rnn-
tenitore PLCC montato sul TRITT. ll fatto che ogni pie- I pin del microcontroller sono raggr,uppati in insiemi
dino svolga drverse funzioni, obbliga a fare molta atten- che realizzano le stesse funzioni. come si ouo vedere
zione al progetto dell'hardware, perche qualunque dalla tabella.
errore. potrebbe causare ìa rottura del chip. Molti dei
:'
segnali di uscita sono a "collettore aperto", e in questi GRUPPI FUHZIONAII DI PIEDTNI
casi si raccomanda di mettere una resistenza di "oull- I Alimentozione: VDD e VSS :
1e q<< <
7 Comporotori: OCI-5
< ó < !! )
:i-;ii's'"ì[ii 8 lmput Copture: lcl -3, PAI :
,
'
PCO,/ADDRO,/DATAO
XTAL
PE] /ANI
:' 10 , pou" di l/o: PA0-7, PBo-7, Pco-7, PD0-3 e PE0-3 :
PC2 / ADDR2 /DAI A2 ] PEO/ANO ', 12: Piedini dei bus esterni: AD0-7, A8-Al 5, AS eR/W 1 |
PC3/ADDR3,/DATA3 I PS0/ADDR8 :l
:
PC5,/ADDR5,/DATA5 ] PB2lADDR] O
PCólADDRó/DATAó ] PB3lADDRI I
Nello schema della figura in alto è riportata l'archi-
PC7 / ADDRT /DAfA7 PB4IADDRI 2
r PB5/ADDRl3 tettura interna del 68HC11, con i diversi blocchi che lo
.xtRa^ PBólADDRI 4
PPE
Ò PBZIADDR] 5
compongono e i relativi pin.
PD0/RxD PAO/ C3 Nella fotografia della pagina seguente, vediamo la
,'ZÒ41;!?vvvgvv scheda di controllo del TRITT, nella quale possiamo
\< <:
Fsr-òE
"ÒÒdùxxxY_ <ìilflff notare il microcontroller nella versione con contenitore
N-VVYà
< d d r (l PLCC, circondato dalla circuiteria ausiliarìa e dai con-
d<<<ó
dÀÀ<
nettori dr adattamento.
farchitettura del 68HC11 mostrata nello schema
Piedinatura del 6BHC1 1 precedente, e utilizzata in molti modelli di questo
nella versione con il contenitore PLCC da 52 pin
microcontroller, i quali si differenziano fra di loro prin-
IT'IICROCONTROLLER
Un pioniere in microroboticer
tl;.:.j
:|: .: :
O 0 0
,l:,4k 0 0
, -..,.O 4k 0
o 0 0
ì:.:O. 0 0
a. 0 512
F:::izt
.0 0
i-*,]i?h 0 5t2
l2k 512
..,, 0 2k
.t,,t.ó 5t2
::'.....*U 512
è:ìrlììrì:,:-,...
o 512
i:i:Ét-'
::,
A seconda dei livelli logici che sono applicati ai piedini
MODA e MODB, il 68HC'11 puo lavorare in 4 modi dif-
f erenti:
1". Circuito unico o "single chip" (MODA = 0 e
MODB = 1).
Come si puo vedere dalla figura, la mappa della Schema semplifícato dei collegamenti
del 6BHCI 1 per il funzionamento in modo circuito unico
memoria è formata dalla RAM (256), dalla EEPROM
:
MICROCONTROTLER
Un pioniere in microrobolicei
collegamento semplif icato deì piedinì principali del zona dei registri; se si scrive in questo induizzo il valore
6BHC11 quando funziona in modo circuito unìco sr rifletterà sulle corrispondenti lìnee uscita. di
loncrondn nrpqt: nosizione riceviamo l'informazione
,'
dai tre pin che funzionano come ingressi. Di conse-
Sia il funzìonamento che la gestione e la programma- ynt?n7à
uu "-q, drrrante nrrpqta fr rnzinno i disnositivi interni
zione del 68HC11 sono molto diversi del microcontrol- associati a questi piedini sono scollegati. Nella fotogra-
ler PlC. La porta A del 6BHCl'l ha 8linee, delle quali 3 fia si mostra una variante del microrobot TRITT che sup-
funzionano come ingressi e 4 come uscite, la restante è porta moìtissìmì sensori e attuatori, i quali sono con-
configurabile sia come ingresso sia come uscita. Inoltre trollati perfettamente dal 68HC11, grazie alle sue
queste linee sono condivise da altre risorse, come i numerose linee di l/O.
Un esempio della programmazione delle linee della
nar+rtd A
A .hirr;rì
Ll lldrrd rl In++^.^
dr rcLturc lr
rd cnmnliri+r
)cll vllLlLo Ài nrrocin
ul 9uE)Lw nrn-
iJUl Plu-
ce5so.
Programma per accendere un diodo LED montato
sulla linea PA6:
END
Fotografia della scheda di controllo del motore e
sensori del mrcrorobot TRITT diseqnati per MICROROBOTICA S.L
NilICROCONTROLLER P óI
Micro'PlG froiner Plus
:l
5--l
D3 D2
QI
scroT
UT
sAAr oó4
Dir:OlltOltr/w
a:
è"".."$.
sA3ó-l I
descrive tutte le sue parti in modo approfondito, - PCFB574A: Porta da B linee di l/O digitali.
numerosi esercizi, programmi e routines tipiche. Tutti - PCF8583P: Clock/Calendario + RAM non volatile.
i programmi sono contenuti in un dischetto allegato.
La maggior parte delle periferiche contenute in questa
scheda sono controllate tramite il bus l2C, cui si colle- Nella figura sono riportati i collegamenti della tastiera
gano i seguenti circuiti integrati: matriciale 4 x 4 con i piedini del microcontroller, trami-
- SAA1064: Controller per 4 display a 7 segmenti. te le lrnee che arrivano dal connettore PICBUS del siste-
- PCF8591: Convertitore D/A e A/D. ma dr sviluooo MICRO'PìC TRAINER. Osserviamo che la
tastiera è controllata tramite le B linee della porta B
(RB7 - RB0) del microcontroller. ll software di applica-
zione configura le linee RB7 - RB4 come uscite, che
sono attivate in modo sequenziale, applicando un livel-
lo attivo ad ognuna delle file della matrice. Le linee RB3
- RBO sono configurate come ingressi che ricevono
l'informazione delle colonne della matrice, e vengono
lette per determinare se qualche pulsante è stato pre-
muto.
Quando il mìcrocontroller non dispone del bus 12C
implementato sul chip, come succede nel caso del
PlC16FB4, il software incaricato di gestirlo utilizza i pin
Schema del canale
seriale RS-232 basato sul circuito MAX232
:ntegrato
1 i i-];-:f , i.,.ì ;. r" a',,,i i,:;:i i;; 1:,t 1;,, fr.;:. jii
ll dispositivo PCFB583P adattabile al bus l2C, contiene
un clock/calendario in tempo reale, con funzioni ora-
rie tipiche, più allarmi e temporizzazioni. Inoltre inclu- Schema dei collegamenti
del clocklcalendario + RAM contenuto nel PCFB5B3P
de una RAM statica da 256 byte dei quali i primi
GND
I
UI
ll dispositivo l2C PCFB57 44 fornisce al siste-
sAAloó4 ma un'ulteriore porta da B linee di l/O digi-
Adn:Ol I lOl lrlw
tali. Risponde all'indirizzo da 7 bit: 0 - 1- 1
l
-0-0.
I e nerifcrichp da rontrollare tramite le
5436-l t sA3ó- t t
linee di l/O sono pilotate con dei diodi LED
che visualizzano il loro stato, anche se sono
arlve -^^ l^^i--
-++i,,^ con ^^^-+
rogrca negdLVa,
\ehoma dpi rnllonamanfi
del modulo visualizzatore tramite tl circuito tntegrato SAA1 064.
,l .,
i'l l i'i,lr ri i i
All'interno della grande varìetà di modelli di microcon-
troller PIC esiste una "casta" soeciale che riceve il
soprannome di "nano". Sono chip portentosi che con-
tengono un computer completo, anche se misurano
poco piu di mezzo centimetro di lunghezza per ancor
meno di larghezza, ed hanno solo B pin, quattro per
lato. Hanno una dimensione mìnuscola, dettaglio che si
può apprezzare nella fotografia, dove si compara ad
Un PIC nano confrontato con una comune chiave i' ,1, J:t,:::,,!;) t.,:':lt!.,,t':, i-,.'i:,:';':, l.':'::::, iilii,,\'tt'i!
Per poter inquadrare i nani nella grande famiglia dei PIC
.\ ot l^++^
-l tcLLU- ripassiamo la distribuzione della medesima. La famiglia
una comune chiave. Questa caratteristica da to
re un'idea delle possibilità di questa fami-
nlia' orazie alle srre ridotte dirnensioni
sarà possibile ottenere da questo sempli-
ce oggetto un potente controller, il ftIODEtIO I CARATIERJSTrcHE :
ii,iii,,i:;:t:.:;,;tt:1.ltt:1,,11i!y'ot:itiili,;.i;i'rr'',;ì:;.:i!;i,t:t lit:i:tr,;.,
dei microcontroller PIC
da B bit si divide rn
quattro grandi gruppi,
rhe si diversifir:no ner
porenza e prestazront, e
rho
Lr <nnn
rs
)vr rv rrinnrtrii
rPUr to Lr rnoll.
tgilq
figura a lato.
Analizzando la ta-
bella della fìgura osser-
viamo che nella gamma
A--^
ud5e e
^ Ireild
^^il- *^..J;-
ilreurd Cl
sono due modelli che
rispondono alla no-
menclatura PlCl 2C5XX e PIC'1 2CXXX. risoettivamente. gramma è EPROM, le lettere CR che è RON/ e le lettere
Questi modelli sono pertinenti alla casta dei nani e sono CE significano che si dispone di memoria EEPROM dei
caratlerizzali da un contenitore con soli 8 pin. Oltre a dati non volatile.
oueste due serie il costruttore MICROCHIP Scnrp rn: Questi PIC dispongono di un Watchdog o WDT,
politica di potenziamento di questi piccoli microcontrol- sono alimentati con una tensione compresa fra 2,5 e
ler, sviluppando nuovi modelli dotati di memoria FLASH 5,5 VDC e consumano 2 mA quando lavorano a 5 VDC
ed EEPROM dei dati, come iPlC1BF0l0 e P|C18F020. e 4 MHz. Anche se hanno solo B pin gestiscono 6 linee
di l/O utilizzando la funzione multiplexer su alcune di
esse, così come mostra il disegno della piedinatura, che
I microcontroller PIC da 8 bit sono carattenzzati dal pos- è compatibile con quelli della gamma media.
sedere un repertorio di 33 istruzioni da 12 bit cadauna,
ron rne frpnttpnz: masSima di funziOnamento di 4 !, ,"
MHz.'Ci sono solo due livelli nello stack per memoriz- lPlC "nani" a 8 bit della gamma media sono divisi in
zare gli indirizzi di ritorno al programma principale, il quattro modelli fondamentali; si chiamano P\C12C671,
contatore di programma puo essere da 9 bit oppure da 672, 673 e 674. La loro principale differenza risiede
11 bit e il numero delle risorse interne e delle linee di nella capacità dì memoria e nella disponibilità o meno
l/O è molto limitato. della memoria EEPROM per memorizzare i dati in modo
Nella figura in basso a destra sono presentate le non volatile. Inoltre dispongono di convertrtore A,/D a
principali caratteristiche dei due modelli fondamentali quattro canali e dì interrupt: carenza importante nei
(PlC12C50B e PlC12C509) e delle loro variantr nani della gamma base. I nani della gamma media pos-
PlC12C5XX. La lettera C indica che la memoria di pro- sono funzionare ad una frequenza massima di 10 MHz,
g +* GP2TOCKI/ANz/INT
ffiffi
9-t I
ffiffi 7.g GPl,/ANlAner
g
ilt
tNDtRtzzt GPO/ANO
-<9-l ì Vou eIk 5# Vss
GPs/OScl,/CtKlN * Zb?
ffi
ilffiiffiX
mro "o'" GP4IOSC2/AN3ICrKO|..IT
GP3/MC-IRAPP
+'-F
#
3B
-a
4e
CODICE r a
! z
tsrRuztoNE Ptcr2c508A ir",'iiii, Prcr8F0l0
Plcr2c509A Ptcr2c672 Plcr8F020
ffim
lt o
Plcr2cRso9A
PlcI2CE5lS
Prcr2cE5r9
Ptcr2cEó73
Ptcl2cE674
Controllo della memoila di programma nella gamma base. Piedinatura dei PIC nani, uguale per i modelli di tutte le gamme
:I
,nE||.r
MoDEro
, hrr*
hÉ* ; EpRotr,t
EPROfr4
;
I _- *
Rofil
ROÀ,r i EEPRoM
i ,** i::l*9l
EEPROÀ'I
RAMi LINEE
.qn tlo
VO i
brbi,i Io
I!-ryi
br|ti I ltAlc
ltAX. nMERS
CANAU questo modo è pos-
1*-1-"i 1J:,.J sibile accedere
AID
,2Ctí71 *i+
l9n ldl4x14 12;
128 ó -P --i
t0#ù
l$dù | do s
8 lrft I
tit ,
1
simultaneamente
alle due memorie.
t:lod:z rse4 irusxra
3584 ,2048xt4
j tlg
lirt . t..
ó
,
lolitt
l0lùb
r^llrL
bit 1
bit
r l-ol.:.
I 1I f La dimensione dei
Hg/?tr.,Èn do .
Tabella con le principali caratteristrche dei PIC nani della gamma medja istruzioni, vale a dire
nella tabella della figura sono riassunte le loro caratte- l sog ,u *"ro, u o oronrutt, . o,','rljt r)t: J::tl';
ristiche. ''
bit cadauna e neì 509 è di 1 024 indirizzi da 12 bit. La
I memoria RAM dei dati di questi due modelli è di 25 o
'i i''l '': t,rt ..,.t,t!, ;1;.tti: ;..1I:Ì i::; ;1;,:,.'i'.
't,i'i: ;
41 bytes, a seconda che si tratti del 508 o del 509. I
dei PIC nani, dato che hanno meno risorse e sono dota- l contatore di programma, mentre quello della memoria
ti di memoria di capacità inferiore. Lo schema generale dei dati può essere "diretto" quando I'indrrtzzo è conte-
dell'architettura dei PlC12C5XX sì può scomporre in :
nuto nel codice dell'istruzione, o "indiretto" quando
cinque grandi blocchi: l'indirizzo del'operando e contenuto nel regtstro SFR.
:
Per realtzzare le operazioni logico-aritmetiche, la
'1". Memoria di programma EPROM. ALU riceve due operandi da 8 bit. Uno arriva dal regi-
2' Memoria dei dati RAM. stro W e l'altro è un letterale immediato, o arriva dal
3" ALU. bus dei dati tramite qualche risorsa interna. ll risultato è
4". Clock e risorse associate. caricato nel registro W inoltre il registro di stato si cari-
5". Linee di l/O e funzioni ausiliarie. ca con il valore dei flag che segnalano condiztoni parti-
colari del risultato.
Come tutte le altre, anche la famiglia 12C5XX è Infine è interessante notare che questi PIC nani, con
costruita sull'architettura Harvard, in cut ci sono due un contenitore da soìi 8 pin, mettono a disposizione
memorie indipendenti, una per contenere le istruzioni, dell'utente sino a 6 linee di l/O, denominate GP0:GP5,
.,+;ri---^^r^ ^^" orLurl
ut|tLLot tuu ptrr -r-, ^e f unzioni il
tlEi4(nn :
multiplexaggio.
PRC)GR/AISIAAúI
ìioDEtto Così come succedeva nel
PlC16FB4, i nani dalla gamma base
utiìizzano la tecnica della segmenta-
zione nell'esecuzione delle istruzio-
ni, per cui dividono il compìto del
processore in due stadi. Nel primo si
Tabella che raccoglie le caratteristrche piit importanti dei PIC nani con memoila FLASH
realizza la ricerca dell'istruzione suc-
:;t'i1:i,-,
P64
DrRrzzoru f BUsDAîl
ry*
ffi# ffi ceo
coDrcE
|5TRUZ|ONE |
2 fil ocr
Efonnarc
INDIRIZZAMENTO DIRETIO omzmnzu*
\ INDIRIZZAMÉNIO ffi
|ND|RETTO
5. \8 filerTmz
ffix lrÌl o"s/oscrz.r*,t
g'
ilffix
ó
\
\8
am'
\8
r3
mgrm
MCLR* VDD V55
m
Architettura interna dei P/C12C5XX
cessiva e nel secondo si esegue quella in corso. Questo di uscita dell'oscillatore e collegamento del cr stallo di
parallelismo implicito permette che tutte le istruzioni, attArT^ GPE fr rnzinn: .^mo rrcritr dal -,, nrn
,",, ._rC€SSO[e €
eccetto quelle di salto, si realizzino in un ciclo di istru- connessione del cristallo di quarzo. Inoltre GP0 e GP1
zioni, che equivale a quattro cicli di clock. Quindi se il sono incaricati di ricevere idati in serie e gli impulsi di
microcontroller funziona a 4 MHz, tutte le istruzioni, clock per la sua sincronizzazione nel modo di proqram-
eccetto quelle di salto, impiegano un microsecondo ad mazione seriale del dispositivo.
essere eseguite. Le istruziori di salto impiegano due
microsecondi.
i,; íi i i +,; l,: 1 t;1 ;' !t; i. ì íj :';r ir l:i i- t i, r,i ir'i 1 li1 1.; ! 1 !''l'
i ; : :"il;l-;;:,;';,fi i'.ri +,il
F:t:sraf:: ae! elcr zcllsf ll PIC'l2C50BA con cui si controlla la pinza del braccio
di Monty, possiede una memoria di programma capace
Dato che conosciamo gia il nostro vecchio amico di contenere 512 istruzioni da 12 bit. La dimensione
PIC'16F84 e vista la grande somiglianza, lo studio e la degli indirizzi della memoria coincide con quella delle
programmazione dei PIC nani risulterà un lavoro piu
semnlice Perche e stato scelto il nano PlC12C508A? Ci
.-i
sono due ragioni molto logiche: la prima e che entram- oooonffE{ffi
MEMORIA PROGRAMMA
##
ro '^-^^'r- ^^'-^^
)Elvr ruo vgr
^:r^+-.^ r-
/d pEr pilutorc
suoi bracci.
lr rtr è il microcontroller che si utiliz-
ro ^;^--l
Pil 40 Lrrhp
rs rvrvrrLy PUJJTEUq in uno dei
N,4ontv nossiedp I
=re H=
tt
Dalla nostra descrizione generale dei PIC nani, abbiamo
visto che fra i nani della gamma base, il PlCl2C50BA è Struttura interna e tndirtzzamento
della memoria di programma del PlC12C50BA.
ouello che ha meno caoacità di memoria: la sua memo-
istruzioni, per cui il contatore di programma si incre- occupa l'induizzo 00 Hex, non esiste in realtà, perche
menta normalmente, ogni volta che ne viene eseguita non è implementato fisicamente. Si fa riferimento a que-
u na, sto registro quando si punta ad un operando in una istru-
Gli indirizzi di ouesta memoria si estendono da 0000 zione con indirizzamento indiretto, pero in questo caso
Hex sino a 0'lFF Hex, come si può osservare nella figu- I'induizzo dove si trova l'operando si ottiene dal conte-
ra. f altro nano della gamma base, il PlC12C5094, ha il nuto del registro FSR, che occupa l'induizzo 04 Hex.
doppio di capacità, per cui ilsuo range di indirizziva da All'indirizzo 01 Hex c'è il TN/R0, owero il valore che
0000 Hex a 03FF Hex. si carica neì TMR0 per iniziare la temporizzazione. Gli B
bit meno signìficativi del contatore di programma sono
i
i r ,.l , l: . , ! , ." ji; ,;t ,i
:.1
. '1 .1 ,:, ..
contenuti nel registro PCL, all'indirizzo 02 Hex.
'i : ,1 , ,;,, ':,rt, ;i :l',iti l! ,, : t :t . t. ','
;: l1
t :
RAM (Banco 0) per scrivere i dati. Questo banco ha 32 Uno dei registri piu utilizzati nei programmi, è il registro
tnduizzi da un byte dì lunghezza ognuno. ll suo range diSTATO, che si trova all'indirizzo 03 Hex.
di indtrizzi parte dall'indirizzo 00 Hex sino a 1F Hex.
Dei 32 registri della RAM, i primi 7 sono dedicati ai
registri di controllo del processore, questa zona viene
STATO (lNDlRlzZO 03 Hex)
definita zona dei Registrr Specifici (SFR), mentre i rima-
nenti 25 sono di utilizzo generale (GPR). La distribuzio-
^^ E^ tt---^^^--i^-^
Ilc I o))E9llc4lwllE .lellp nrime
usils Pr il rrE sefie
JsLLs nosiztonl
l.Jv)rz Sono
a
sFR (7) quando c'è del riporto nell'ottavo bìt, e nella sottrazio-
ne SUBWF va a zero quando c'e del resto nell'ottavo
__lî brl.
I
Nell'istruzione di rotazione RRF, si carica con il bit
l
meno significativo dell'operando, e nella rotazione RRL
sr carrca con il bit piu significativo dell'operando.
I
GPR (25)
DC: Flag di riporto e resto intermedio
Nell'istruzione di somma ADDWF va a 'l quando c'è
rrporto nel quarto bit (operazione con BCD), mentre
nella sottrazione va a zero quando c'e resto nel quarto
0rt.
indrizzi ed è composto dalla pagina 0 e dalla pagina '1. Distribuzione dei bit
ll bit PAO deve essere messo a 'l quando si desidera del registro GPIO per gestire le 6 linee di l/O del PlC12C50BA
seguenti:
i,;I , ,il,',, ', ,i '. ' : :t , . ,,,t.',,
MOVLW FF
OPERANDO (FF)
CODICE DE[TISTRUZIONT
0
7
.:
\'
INDIRIZZO DATO Distribuzione dei bit
di configurazione delle linee di l/O nel registro TRlS
L' i ndi rizzo dell' opera ndo matrcamente, quando si eseguono le istruzioni TRIS e
si trova nei 5 bit m.eno significativi del codlce dell'istruzione OPTION. ll registro TRIS si ulilizza per configurare come
ingresso o come uscita le linee della porta GPIO; ricor-
B bit meno significativi dei 12 che compongono il for- date che la linea GP3 funziona solo come ingresso. Se
mato. Frequentemente questo valore viene caricato nel quando si carica il registro TRIS uno dei suoi bìt vale 1,
registro w la linea di l/O corrispondente rimane configurata come
Nel l'indirizzamento diretto, l'operando occupa alcu- ingresso, se vale zero invece come uscita.
ne delle posizioni della memoria dei dati RAM che si Ad esempio, se vogliamo configurare come uscita le
selezionano con i 5 bit dr indirizzo compresi nella pro- linee GP2, GP1 e GP0 dobbiamo eseguire le seguenti
pria istruzione, occupando le ultime posizioni. <onronTa di r<f rr rzinnr'
Nel PlCl2C50BA, dato che c'è un solo banco di
memoria dei dati, è sufficiente indicare questi 5 bit, N,IOVLW b',001 1 1000',
pero negli altri nani che hanno più banchi dobbiamo TRIS GPIO
MOVIV INDF
Le tre linee meno significative di GPIO sono confi-
F5R gurate come uscite e le altre tre come ingressi. Se ora
vogliamo portare sulle linee di uscita il valore binario
GP2 = 1, GP1 = 0 e GP0 = 1, si eseguiranno le seguen-
ti istruzioni:
INDIRIZZO DATO
MOVLW b',00000'101'
MOVWF GPIO
L' i nd i rì zzo cl e I l' o pe ra n cl o, n e I l' i n d i rizza me n to in d i retto, lnfine, il registro OPTION, anch'esso senza indirizzi
ri<icrlc nci 5 hir mpno <innificalrvi di FSR.
assegnati nella RAM, e che si carica con il valore di W
eseguendo l'istruzione OPTION, è dedicato principal-
ufilizzare i bit 5 e 6 del registro FSR per selezionare i mente al controllo del temporizzatore TN/R0 e del
banchi stessi, come rappresentato nella figura. Watchdog, che si studierà in modo approfondito piu
Nel caso del modo di indirizzamento indiretto, nello avanti Nella frgura è riportata solo la distribuzione dei
mnemonico dell'istruzione si usa come operando il hit nli nrrocin ranictrn
registro INDF, che non e implementato fisicamente.
Nella realtà si utilizzano i 5 bit meno significativi del
registro FSR per selezionare l'induizzo dell'operando
nella RAM. Se il PIC avesse diversi banchi si utilizzereb- OPTION
bero i bit 5 e 6 di FSR, ma questo non è il caso del
508A, come si può vedere nella figura.
Questi due registri non dispongono di induizzi definiti Distribuzione dei bit
del registro OPTION, incaricato di governare il TMR0 e il WDT.
nella zona SFR della memoria RAN/. Si utilizzano auto-
:t,,iit: ti,t1:.,:::.r
Se il bit 0, si assegna il divi-
PSA vale
sore al TN/R0, in questo caso f unzio-
na all'ingresso degli impulsi, cioè
t'ffi:ffiryffimffi
\f-À
come predivisore. Per contro, quando
PSA vale 1 il predivisore si assegna al
WDT, dove f unziona all'uscita del
medesimo, croè come postdivisore.
ll bit TOSE di OPTION sceglie il fronte
attivo dell'impulso di clock: quando
Controllo della frequenza nel TMR0
vale 1 è il fronte di discesa, quando
vele O e nrrello di s,alita TOSC selezio-
della fìgura il funzionamento della linea TOSC, controì- na il tipo di generatore di frequenza Quando vale 0 si
lata dal multiplexer. t iilizza nor il rnntonnin l: f ronr ronz: intarn: npr nrn-
ll segnale T0SE seleziona il fronte attivo dell'impulso cessore. Fosd\. Se TOCS vale 1 iì TMR0 si incrementa
di rlnrk rhc nrodrrrp l'incremento di valore nrrando
!, ,v v, vu ulL Y vs, ,vv
ffi
PSA OVERFLOW
WDT
TRIS GPl0 ; Configuro GPO rome uscita
ll divisore di frequenza funziona all'uscita del WDT. MOVWF GPIO ; Da GPO esce uno 0
It reset e [e istruzioni
det PICl2C508A
.:':,': .,i, '',
',j. t' :.,.
:..': :'i,):t;,",
ll PlC12C50BA, carente di interrupt, dispone solo del La reinizializzazione del PIC si nrrò nrnrinr:ro noi
Reset ner reiniziare rA qeflrrenza rhp def ermina il f lus- seguenti modi:
so delle istruzioni del programma. Resettare il micro- 1
o Collenamento dell'alimentazione.
LUt tLtuiltrt -i^^if
-^^+-^tt^- i-- --îpnnArp
)tvil| tLd d))Egr ur I v:lnrp
rorE rrn vorvrE nntO
rvL a tUtti i
w
CAMBIO DI STATO
PIN SPX Tener come si nro vedere
STEEP nell.r fiorrra dove e stato
MCLR#
sostiruito dalla coppia di
ffiffi
FtIP-FtOP ouesto caso il îransistor
Q1 si blocca e attiva il
@ RESET
:,
t;,
Reset portando a
basso il pin MCLR# quan-
Iivello
do la tensione di alimen-
,. . i tazione scende al di sotto
Schenl det. cyy.trltlo attivaziolte del Reset,
ltettrolico !1tt' di 0,7 lR1 / (Rl + R2)1.
]
Nello schema elettronico della figura, l'attivazione
del Reset interno del processore e provocato in base
al valore Q# del flip-flop R-S. Questo dispositivo si
purc d II L]udruu
^' '-^r^ )r
'i crtf--.iv: il cró innro(<n Set rho p
.
it. l:,,:..i::..,:t:"i ,'t ';; t,,t.i..':';,t;rtt,t,t t re gli impulsi di clock che sincronizzano l'invio del-
In molte applicazioni e frequente che il PIC non abbia l'informazione seriale.
niente da fare per lunghi periodi di tempo. Questo
succede, ad esempio, nelle macchine distributrici,
inoltre è comune nei prodotti piccoli, in cui i PIC nani
sono idonei, alimentati a pile, come ad esempio nei
microrobot. Rrdurre il consumo di energia in queste
VSS+:
situazioni e vitale per mantenere il sistema operativo Voo(+SVoc)+,r
per periodi accettabilr. Se rl sistema sta aspettando Vpp+.,
che l'utente prema un tasto, bisogna fare in modo
che durante questa attesa, a volte molto lunga, il con- DATO SERIALE+|
sumo di energia sia minrmo. Per questo si "addor- IMPULSI >.
Dt ctocK
menta" il PlC.
Per fare ìn modo che il microcontroller entri in
stato di riposo, o di basso consumo, bisogna eseguire Collegamenti base
l'istruzione SLEEP ln questo modo passa dal consu- per la programmazione in modo seriale del PlC.
mare alcuni milliampere ad aver bisogno solamente di
pochi microampere, cosicche una pila puo durare
degli anni. Nel caso del PlC12C5084. il pin GP0 funziona come
Quando il PIC entra in stato di riposo, ipiedini di ingresso dei dati seriali, il pin GP1 come ingresso del
l/O mantengono lo stato precedenle, cessano di ese- clock di sincronismo, e il pin GP3/MCLR#Vpp per l'in-
ouirsi
J" - le
-
islrLrzioni e se si uliltzza un oscillatore al r. ---- dpll: ton<inno <nori:lo di nrnnr:r
oro<qn _,,lmaztone,
quarzo questo si fermerà, riducendo ulteriormente il come indìcato graficamente in figura
consu mo.
Per svegliare il PlC, e farlo uscire dal suo stato di l
'congelamento, bisogna produrre una situazione spe-
ciale. Dato che il PlC12C508A non dispone di inter-
rlnt ,,il slo risveoìio ,,i realizza oeneralmente median-
,-r.,
îe 1n Reset che n1ò pq<pro nrrì\/^.:t^ .irll'OVefflOW Voo+: +Vss
del WDT, dall'attivazione di MCLR# o per il cambio di : <4PO
stato di alcuni piedini GPx. ll bit PC# del registro di
STATO si attiva quando si esegue l'istruzione SLEEP,
j <+Pt
GP3/
mentre il TO# si attiva quando va in overflow il MC[R#/+,.
Watchdog. Vpp
, t::'
:' t:'i.t , ., i
l:., !;';:,,,,1:..0! 1.1,,-.,,,' ' a :lt
:,
I r':'f i t'f'
, "., 1 '..1 . ' I
I i,
,t,
di programm a, l'induizzamento si
,.r .!
i,l
.l
NilICROCONTROLLER
Strumenfi di lcrvoro
S] DI RftNZPNI
._, -tffistówt;uM
-FffiMMil
0: auwE scoffiafo
]
0 = CONÌE60 =AUHf COtrEGA]O
I -MIMORIZAERIIIENE
Funziona in base a un oscìllatore interno da 32,768 àz fULIhO VALORE CONIATO i-Hom
I 0:[rcstzrcN:5Eó
e dispone di un circu to POR (Power On Reset) che ini- wom- l , $ reNO SENAMSCHEMRI
r = DAU rcSgONt5 É ó
00 = MOrc OW'O A 32,7ó8 Hz
0ì =MorcouRloa 50 Hz
zializza il dispositivo quando si collega la tensione di l0 = MOD CONIAIORT Dl EVEMI
il = MOrc ftsl, m
alimentazione. I primi 8 indi- I coNlatoRt tN PAuuilo
PCF8583P
nzzi della RAM (00 - 07)
t. <frt tftt tr) a s<<aanazinno
PcF8583T i lunzronano come regrstrl
dei bit del registro di controllo e di stato.
soecifici di controllo. ll primo
reoistro sitr rato all'indtrizzo
00, funziona come registro impulsi da contare sono applicati al piedino OSCI, e si
di LUtìLtuilu p
ut rnnirnlln ut qfr+n
E 6li )LqLv, mnn
I tErt- possono scrivere, dato che può funzionare come conta-
i tre i successivi 7 ccntengono tore di eventi da 6 digit.
i parametri della f unzione Nella figura riprodotta qui sopra è riportata la distri-
oraria. Gli indirizzi da 0B a buzione del registro di controllo e di stato, in essa si può
Piedinatura del PCFB5B3
0F si nossono rrtiìizzare come apprezzare l'esistenza di un bit che attiva l'allarme se si
registri per il controllo di desidera. Questo registro si pone a zero dopo il reset.
allarmì, oppure come indirizzi di ulilizzo generale. Quando si produce una situazione di allarme si attiva il
Mediante il registro di controllo e di stato, si impo- flag corrispondente. L'uscita INT passa a zero. I flag man-
sta il temporizzalore per lavorare o con la base tempi, tengono il loro stato fino a che sirealizza su di essi un'o-
^^'--i^^^ A' )Lr
--''++' '"^ Se non si usa la funzione di allar-
che puo essere 50 e 32.768 Hz, o come contatore di pct dztut rc ur rLLurd. -
eventi esterni. Lavorando in modo orario i giorni, mesi, me, i registri da 09 a 0F possono essere adibtti a conte-
ore, minuti, secondi e centesimi sono espressi nel for- nere dati.
mato BCD. Nel modo contatore di eventi esterni, qli
N9 DI
SEGNAI-E DESCRIZIONE
PIN
FORMAIO DEI.I.E ORE Nello schema della figura sono rappresentati i collega-
0 = FORIvIATO 24h,
fl. flAG AM/PM NON CA ,tSrA menti dei due PCFB5B3 e un PCFB570, che contiene
I = FORMATO 12h
II. FI.AG A/\4/PM 5I ATIIVA 256 byte di memoria RAM. Tutti questi dispositivi sono
per il bus 12C. Questitre hanno assegnati glistessi indi-
rizzi (1010), per cui bisogna differenziarli mediante le
Registro contatore delle ore linoa n nin rli inÀiriz.amento. così il primo pcFB583
avrà A0 = 0 e il secondo A0 = 1. ll PCFB570 ha le sue
':.,1,..:;,.'. .:'
.,... '',', ,
tre linee di indirizzo A0 = A1 = A2 = '1. ll primo dei
Nella figura alla pagina precedente e rappresentata la PCFB583 lavora in modo orario con il clock al quarzo a
distribuzione e I'assegnazione delle f unzioni dei diffe- 32.768 Hz, mentre il secondo lavora come contatore di
renti registri specifici per il modo orario e per il modo eventi applicato al piedino OSCI.
contatore di eventi.
Nel modo orario si può scegliere il formato 12 o 24
ore, attivando il bit più significativo del registro conta-
tnro rf i aro ,,f,-,tdto nall:
rha À rinnrl:l-n
- neild {in' in .l+.
'r: tn atlo.
Tr9urd Come esempio di gestione per il Micro'PìC Trainer Plus,
ll registro che occupa la posizione 05 contiene l'an- il dischetto allegato al kit contiene un file con il pro-
no e il giorno, il registro 06 il giorno della settimana e gramrna CRONO.ASN/, che implementa tutte le fun-
il mese Orreste fiorrre mostrano la distribuzione inter- zioni di un cronometro classico, in base al dispositivo
na d; entramb reO strl nttlvando blt d maschera de PC F8583.
I
I
R: resistenzo di pull-up
Resistro del mese e del oiorno della settimana Schema del collegamento dei vari dispositivi al bus l2C
MICROCONTROTTER l:"'l 73
Strurnenti per il progello con il PIG
Applicazioni
detla Micro'PIC I0 (r)
Osrillatore
Alimentatore stabilizato
M
Rg
M
Rg
RD
ENI
Schem a del col I eg a m ento
del fotoaccoppiatore per I'encoder del motore. tNl
OUTI
:.': , '
Alimentazione per il carico ,lata dall'alimentazione di controllo Nello schema della figura è riportato il controllo dei due
motori DC che girano in un verso unico. Ml si attiva
Protezione con 'o le sovratemperature
con livello 0 applicato all'ingresso, mentre M2 lo fa
applicando un livello '1 all'ingresso B, come si puo veri-
Nella figura è riporta' rra predinatura del driver ficare nella tabella della verità. Un altro schema mostra
12938 insieme alla sua ro renclatura e descrizione.
. ENI
3 OUT Uscib del conole ì
lN4 4 GND Mosso dell'olimenmzione
: tNl ._ 5 GND Mossq dell'olimentozione
::4;"
i out4 6 cut2
owt Uscito del conole 2
Piedinatura dell'12938 e descrizione dei suoi aiedini Controllo dei due motori DC che qirano in un unico verso.
t.;,o .,,.'1-',,,';, .
.,; t,
5:ffi*:l
TNICROCONÍROLtER
,
rN2
collegamento del motore DC alla scheda Micro'PlC lO. -i*"-
Controllo di un motore DC nei due versi di rotazione Tabella della verità del motore DC della Micro'PlC lO.
Applicazioni
detl,a Micro'PIC I0 (il)
zata di +5 VDC per la circuiteria elettronica generale,
: la;; '., tt i,t, i,',,'t:t : ,': .::..", :,..1r .',: mentre il secondo genera 12 VDC che si utilizzano prin-
Nelfascicolo precedente abbiamo iniziato lo studio della cipalmente nell'alimentazione del motore DC.
scheda di esoansione Micro'PlC lO e la sua sezione di
:,t .t . '.: 't, ' ,; ,, i"l ,,'.,t1'
controllo del motore a corrente continua. Questa sche-
da dispone anche di altri interessantissimi dispositivi, che Produce un segnale a onda quadra, la cui frequenza
permettono di emulare in tempo reale i programmi di principale si puo selezionare fra otto possibili valori, e in
applicazione comune nelì'industria, eseguiti sul PIC che seguito, si possono ottenere fino a otto sottomultipli del
supporta il sistema di sviluppo Micro'PlC Trainer che è valore scelto. Lo schema elettrico della figura mostra che
collegato con la Micro'PlC lO tramite il connettore PIC- il circuito è basato su un PlC16C54RC (U3). ll firmware
BUS. del microcontroller è stato progettato da "lngeniería de
La Micro'PlC lO dispone dì un alimentatore proprio, Microsistemas Programados S.1.". ll segnale ENABLE
quindi è sconsigliabile alimentarla tramrte l'ingresso di abilita o disabilita la generazione di onde quadre. Se
tensione +5 VDC che arriva attraverso la linea del con- questo ingresso è a livello '1 o non collegato, fornisce ai
nettore PIC-BUS tramite il sistema di sviluppo. Questo ci suoi ingressi le frequenze corrispondenti. Quando que-
permetterebbe di fare a meno del trasformatore, pero il sto ingresso è a livello 0, il generatore resta scollegato e
motore DC non avrebbe l'alimentazione di '12 VDC. tutte le uscite si pongono a livello 0.
Inoltre non potrebbero funzionare nemmeno ìl circuito Mediante i tre microswitch di SW1 sì seleziona, fra
di rivelazione del passaggio pello zero, e l'optotriac per otto, il valore della frequenza campione che si ottiene
la regolazione alternata. Questr circuiti necessitano di dall'uscita X. Le uscite x/2, w4, x/8, w16, w32, w64,
una alimentazione indipendente di corrente alternata. ll )0128 sono dei sottomultipli della frequenza scelta. ll
ponte raddrizzalore D1 dell'alimentatore, insieme a C1, diodo D2 sull'uscita )V128 visualizza ll Íunzionamenlo
configura il circuito di raddrizzamento e filtraggio. La
tensione così ottenuta si applica agli stabilizzatori 7805
(U 1) e 781 2 (U2). Il primo fornisce una tensione stabiliz-
x{128
x/64
x/32
x/16
x/8
xl4
x/2
x
ENABTE
i
del generatore. Lampeggia quando lavora a frequenze , t,, ;r,..it,liir i:; :t::i',i .ti..i':,i , ,. l. '; ,; iilr;,..;t ;,t,::;a
piu basse. Per il resto delle frequenze sembra rimanere l : , ,.'' l' l'': !,; !, ! ,: i :: ::; :.'l
acceso in modo permanente. Nella tabella della figura La Micro'PlC lO possiede due sensori analogici, uno
qui sotto sono indicate le distinte frequenze ottenute misura la luminosità e l'altro la temperatura. Entrambi
all'uscita, in funzione dello stato dei microinterruttori di sono alimentati da una tensione dr rrferimento di 2,5
SM/1 la freorenza massima è attorno ai 200 KHz e la VDC, come mostra lo schema della figura. Come gene-
minima è di 'l KHz. ratore della tensione di riferimento, è stato utilizzato
LM33622.5 (D4) di
National Semiconductor. E
basato fondamentalmen-
te su di un diodo zener da
2,5 VDC. Tramite la resi-
stenza di assorbimento
R7, si alimenta da +5VDC,
ottenendo ai suoi capi 2,5
VDC generando quindi la
tensione di riferimento
\/ref chp si nrro annlirerp
.^.i sr ue5ruetd,
5e A^.t.J^"- -il-
dild ti,
ilnea
RA3/AN3l/REF+ oel
Tabella con le frequenze fornite
PIC'l6F87x in modo che
dal generatore di funzioni a seconda della posizione dei mrcrointerruttori di SWl
sia utilizzata nella conver-
sione AD.
.i ll sensore di luminosità è formato da una cellula LDR,
La funzione principale di questo circurto è fornire impul- che ha in serie la resistenza R5. La tensione che alimen-
si di elock ai temporizzatori o timer di cui dispongono i ta questo divisore può provenire da 5 o da 2,5 VDC, a
microcontroller, che realizzano misure di tempo. Così, seconda della posizione in cui si trova il lumper JP2.ln
ad esempio, il TN/lR1 della famiglia PlC16FB7x puo uti- questo modo sulterminale "Luce" dello schema si ottie-
lizzare come base dei tempi ìl segnale fornito da un ne una tensione che varia fra 0 e 5 V oppure, fra 0 e 2,5
oscillatore esterno. In questo modo l'overflow del TMRl f utilizzatore
V. a seconda della luce che incide sull'LDR.
si puo ultlizzare per risvegliare un PIC che si trova in deve preoccuparsi che la tensione che alimenta questo
stato di riposo. Come mostra la figura e stato scelto un
Lr r)Loilu .Ji
-.,.+^|^ ^,,-.-^ ud
ur Lluor4u ^- 32,769 KHz, poiché è un valore
molto speciale. In concreto si ottiene un tempo pari ad
un secondo, quando sì conta un valore degli impulsi che
e uguale alla potenza 1 5 in base 2 ed e la base npr tr rtte
le aoolicazioni orarie.
c5
rtH Troso
27pF
rl
H27 pF
Tr osr
: ta' .,
x2
-^^li--+-
apprLcLo o^ ,,^ -^.,-^ .^
ur Lcr,.. ,=sistivo, come può essere una lam-
pada. Un livello 1, che arriva daì PIC sul terminale
"TRIAC" dello schema, attiva iì diodo emettitore del-
l'optotriac MOC3041 (U7) che provoca l'innesco del
triac, facendolo condurre e applicando la tensione alter-
nata al carico, che nel caso della scheda Micro'PlC lO si
tratta di una lampada ad incandescenza (LP1)
La potenza dipende dal momento in cui si porta in
conduzione il triac, appìicando la tensione di innesco
Schema del circuito uttlizzato tramite l'ingresso "TRIAC". Questo istante prende come
per il controllo della corrente alternata
riferimento il momento di passaggio per lo zero, che si
produce ogni 10 ms. Se l'innesco dell'optotriac si pro-
duce nel momento del passaggio per lo zero, si dice che Sono perrferiche di uscita molto facili da controllare tra-
l'angolo di innesco e 0'. La potenza che si applica al mite qualsiasi ìinea di uscita del microcontroller. Basta
carico è la massima nei due semicicli. Se l'innesco del un semplice circuito di eccitazione per pilotare la possi-
triac si produce a 5 ms del passaggio per lo zero, si bile attivazione delle bobine incaricate di aprire o chiu-
applica la metà della potenza totale al carico. Se l'inne- dere i contatti, come si vede dalla figura. I relè impiega-
sco si produce a '10 ms dal passaggio dallo zero, abbia- ti nella Mrcro'PlC lO sono due, le loro bobine vengono
mo un ritardo di 'l 80" nell'innesco e il carico non riceve alimentate con +5 VDC e i loro contatti sono doooi e a
ootenza. In altre parole controllando il ritardo con cui si due posrzioni (DPDT). Un livello logico 1, applicato ai
produce il segnale di innesco,
prendendo come punto di riferi-
mónt^ il qonn:lo di passaggro -, r
ij,ll:;
i::i t,:": t':,"'ri; i',;'4 11j,,1'!ii -1'r1 :.lr ir:t;rr:.-" '''iit,i:; I .
@]M,!W@Rl]*Rn@s|*lRWsìlslfÍti|FW]s]stÍf]&ÌtWfi&,},ffiWW
Appti cazioni con [a scheda di
controll,o MSx84
i;i.irt, li;í"i'liií.i:il ,trlli'riri,lí,li*ll sensori digitalidi ingresso.Questecaratteristichesonoti-
In precedenza sono stati descritti i sistemi Micro'PlC Trai- piche in molte applicazioni industriali e la MSxB4 è indi-
ner Plus e Micro'PIC lO. composti da schede che espan- cata per quattro tipi di impiego, che si adattano bene al-
dori:nn lp ricÒr<o o lo rrossibilita del sistema di sviluppo i le sue caratteristiche e che sono elencatì nel riquadro.
Micro'PlC Trainer. Con la scheda di controllo MSx84 il
iLir ii' |1":" ;1rii ? i É'' lirii;l;í.lt.l'rii.ii
suo costruttore "tngeniería de Microsistemas Programa- I i-iil'niii;'1";4,i1iîl{-i:iii
,l- ,ti 1;7
dos S.L." ha perseguito un altro obiettivo: offrire all'uti- i Net riquadro allegato possiamo notare le specifiche più
lizzalore una scheda autonoma e indipendente che in , rmportanti della MSx84.
base ad un PIC'16F84 sia caoace di oilotare lo stato di due
.-
motori DC o di uno passo a passo (PAP) e fino a cinque : ll*:------ti_xii**"*ffiilffi;fri;-=-.,*'.:-.
:
#.:;;:]:;;1;;-.=-,=:i;--==-:...===]===-::'::.
. Circuiti di controllo bosoti sul PlCtóF84
iì - -..***'-'---- i
i . Conneitori per l'opplicozione di 5 sensori ì
I
**-- dir-r----'---"ì:"'*:*--*-".-*-::"-.***-=':*:"::-*"***:;:*"*-**--1
ingresso
i -,.-.:--*Pti"--.*:-r]l-s-'i-"-r.:r--"-llq-dl-d-v-:,-ry1-si-?9..e.:"1:-1.41-----*-i
,1 . Conr"tto.e di esponsione Pic-Bus che Permelle di espondere :
"'". 'i"i
a.rwffi ntììììììììììììììììììììììììììììil1Ììlrl
Nella figura della pagrna precedente À .;^^"+-+-
E rl.JUr LOtd l- rd VAC derivanti dal secondario di un trasformarore esrer-
.+.'a^î+^
TPOLU, .J^,,^
UUVC -i ,,^-J^ l- ut)LI
serigrafia del circuito JLOT )l vEuc tc ^li-+.i t- no. ll ponte rettificatore, composto da D1 e C1, ha il
buzione di tuttÌ i suoi componenti. compito di rettificarla e filtrarla per ottenere una tensio-
ne di '12 VDC, che si stabilizza a 13 VDC grazie al rego-
latore 7812 (U4) piu la tensione dei diodi D2-D5. SW3
applica questa tensione al controllore dei motori (+VBAT)
e anche al regolatore 7805 (U5), quindi sul piedino 3 si
ottengono +5 VDC, che sono applicati al circuito elettro-
nico. ll diodo D6 monitorizza questa tensione. falimen-
tatore funziona anche a00licando una tensione di cor-
rente continua derivata da una batteria tramite il con-
nettore J5. Chiudendo SW3 si applica questa tensione a
+VBAT e al regolatore 7805, per ottenere +5 VDC.
40, Sezione del controllo dei motori Schema della sezione del mtcrocontroller PlCl6FB4
La MSxB4 è totalmente autonoma, perche dispone di Nella frgura è riportato lo schema del collegamento del
un propno alimentatore Nella figura riportiamo lo PIC 1 6F84, cuore e cervello della MSxB4. ll quarzo Y1 in-
schema elettrico del medesimo. Tutta l'elettronica della sieme ai condensatori C7 e C8, genera la frequenza di
scheda funziona con +5 VDC, che si ottiene a partire da funzionamento di 4 Mhz. ll circuito di Reset è formato
una tensione alternata di 12 VAC, o da un insieme di dal pulsante SW2 e dalla resistenza R11. ll connettore
batterie. Mediante il connettore .18 venqono forniti '12 Pic-bus e compatibile 'pin-to-pin' con quello del sistema
di sviluppo Micro'PlC Trainer. Tramite esso tutti I segna-
li del PIC sono a disposizione dell'utente. Questo per-
mettera di collegare e/o aggiungere altri tipi di periferi-
che tra quelle supportate dalla scheda MSxB4, così co-
me programmare il PIC della MSx84 senza estrarlo dal-
D3
to zoccoto.
tMou :
c2
m
ll modello CNY70 e il H2'1A sono ipiù popolari. ll KC
AE
primo contiene l'emettitore e il ricevitore ad infrarossi,
cansula ed p idpalp npr rilcv:re cambi di
nella stessa LqvJuru,
tono sulla stessa superficie. La luce emessa dal LED ri-
flessa dall'oggetto viene rrlevata da un fototransistor. ll
contenitore a forma di U del H21A ha l'emettitore se-
parato di tre millimetri rispetto al ricevitore, però en-
trambi sono alla stessa altezza, in modo che il raggio di
ìuce emessa colpisca il fototransistor. E l'rdeale per rile- Controllo di velocità e verso del movimento con due sensori CNY70.
vare oooettì che franoonendosi tra l'emettitore e ìl ri-
rrnrr:nlrn norn
i+r a
+Vcc
--.\ o o))ut
)dt ---^"F utLo E,
quindi, il foto-
transrstor non n-
ceverà luce. Se
coincide con un
riquadro bianco
si rifletterà sul ri-
cevitore, cam-
biando il livello
./
logico della sua
uscita. Nella figu- Schema di collegamento di un sensore
.-
Id -, ,--^--i,,^
)ULLtr))IVd -^
)U_ ottico ai pin di ingresso del PIC
Conten itore e disposizione
degli elementi dei sensori CNY70 e H21A no utilizzati due
sensori CNY70
per conoscere non solo la velocità del nastro trasportato-
cevitore, taglìno il raggio di luce, come si vede nella fi- re, ma anche il verso del movimento. Lo schema della fi-
,rr I ln'rnnlirrziana inir: Uql
dol )Ell)uls 14 1l^A L
<on<nro Il--.1? o nr roll: gura mostra i collegamenti tipici del sensore ad infrarossi
9UId. Ull dPPilLO4rUr rs fLrPllO
^, vuLilu
di implementare un circuito di misura della velocità an- con i pin dr ingresso del PlC.
golare di rotazione dell'asse del motore, in base a un Per poter gestire sino a cinque sensori digitali di in-
encoder formato da un disco trasparente con raggi ra- gresso, la MSxB4 dispone di un circuito il cuì schema è
uruil onachi come prLJ(j|
diali vpulr nrec^^+-+^ ^^rr- fi^,,.-
ILdLU llElld llgulO.
.înOSCendO
!U mostrato in figu-
il numero di raggi si determina il numero di giri che ha ra e nel quale :
dato l'asse. Nella figura si presenta una possibile appli- posstamo veoere
t,^--^-;--i^^^ tc f.-
cazione del sensore CNY70, che consiste in un nastro I d))uLtdztut rro
trasportatore con il fondo formato da riquadri neri e iconnettori dei ';
KC
AE
Per quanto riguarda il controllo dei motori PAB es- nA3 RA2 RAl RAO PASO Hl+(A) fr{l-(B} Ar2+{C} m:l-(D}
llltl+-+
si possono avere 4 o 6 cavi, a seconda se sono bipola- illl0lr-i
ri o unipolari rispettivamente. I quattro cavi di quelli bi- llOO3+-+
polari, corrispondono agli estremi delle bobine di cui tlf04++
sono composti. Nel caso di quelli unipolari, quattro ca- WBffi'E'ffi ri*sffiffi
SENSO ANTIORANTO
vi corrispondono agli estremi delle due bobine, e gli al- RA3 RAi! RAr RAO PASO Ml+{A} Àlt{B} M2+(C} llr2-(D}
tri drro :ìlo nroqo informodio di nrro<to .^mÒ lllOf+-+
-,,,,- sr puo ve- llOO2.++
dere nella figura. tlllg3+-+-;
La figura successiva offre lo schema dr collega- ill!14-++-,.
mento di un motore PAP a quattro cavi alla scheda Ì'-"-'.' -': '--:" - ;
MSxB4. La bobina L2 si collega ai morsetti segnati co- Tabella che indica i valori btnari
me M2, e la bobina L1 a quelli M'1. Tramite le linee che devono assumere le linee della porta A del PlC, per ottenere
il senso di rotazione adeguato.
RA3 e RA2 del PlC, si ottengono le combinazioni bi-
i-rffi
ll display LCD consiste in un condensatore planare Nei multimetri digitali, è molto frequente l'utilizzo di
formato da due placche metalliche, una delle quali e display LCD a tre digit e mezzo, come quello che si ve-
talmente sottile da risultare trasparente. Fra queste de in figura.
placche si trova un dielettrrco isolante, che è un cnstat-
lo liquido in fase nematica. Quando non si applica ten-
sione fra le placche il cristallo rimane trasparente, ma e
sufficiente applicare una piccola tensione, in mooo cne
si generi un piccolo assorbimento di corrente, per pro-
durre una variazione nelia riflessione e nella rifrazione
della luce, tale da rendere opaco il cristalio.
Una delle principali disfunzioni a cui sono soggetti i
diodi LED, si riscontra quando c'è molta luce, perche
questi si distinuguono meno. specialmente se la lumi-
nosità dell'ambiente è grande. Invece nei display LCD Struttura di un display LCD
succede l'opposto, utilizzano la luce ma non la qenera- da tre digit e mezzo, utilizzato nei multimetri digitali.
., lr
Oltre agli strumenti di misura e le calcoìatrici, esisto-
no molti dispositivi che utilizzano gli LCD, fra cui ricor-
diamo i telefoni fissi e mobili, le agende elettroniche, le
macchine fotografiche. i distrìbutori automaticì, i pan-
nelli di comando dei veicoli, ecc.
Come esempio di una semplice applicazione, pre-
sentiamo nella fotografia sottostante un termometro,
che dispone di un sensore di temperatura esterno, col-
legato tramite un cavo di una certa lunghezza, che per-
mette dì misurare la temperatura all'interno di un fri-
gorifero, fuori dalla casa, fuori dalla macchina, nell'ac-
qua, ecc.
ln questo termometro si ufilizza un display a tre di-
ait c mozzo tino
g llls44v, ttvv SP52c
Jt JLJ' rha he drra filo di niof,in1, g 6hg
9lt
ha bisogno di trovare sul circuito stampato due connet-
Aspetto dei collegamenti della scheda del termometro
tori da 20 pin cadauno, per il proprio sostegno, come si che sostiene l'LCD con il sensore di temperatura e la batteria
può vedere nella figura in basso.
lnfine il sistema di sviluppo Micro'PlC Trainer, uti-
lizzato per supportare lo sviluppo completo dei pro-
Termometro che supporta il display LCD. tl sistema di sviluppo Micro'PlC Trainer utilizza
un display LCD come principale terminale di visualizzazione
:- . _.\6o - , *T,
t'"""-"-
^^r+î+a ^^ll-
LO rq rEilO
+-l^.^ll-
LdUCild.
PWr
Nella figura della pagina successiva troviamo lo :
schema di connessione dei segnali esterni ai termina- Vo Contrasto del cristallo liquido.
Generalmente si collega
li dell'LCD. Fondamentalmente si dividono in segnali a un potenziometro che applica
di controllo, di dari e di retro-iilu- i
una tensione da 0 a +5 V
fl ;$il:r.ione,
t:j ,l
MICROCONTROLLER
CcrroHeristiche dei display tCD
caraltere 5 x 10.
g&&.
xa&&.
E AN:SB *EXKr
E Antrn x&xx&
ingSn ffigxes
E &NIEE K&KMX
' rlsFt wK'xwffi XSKgX
SAgFI ffiK'X&&
gw&xK
. nt*EE WXKg& wxw€K
.
Funzionamento
dei display LCD
DATI
re facilmente tramite un microcontroller inserito all'in-
BUs DI
terno del prodotto. Nella fotografia qui sotto si mostra coNTROLLO
1E,Rs,R/w-)
Linee di retro.illuminazionel BL+ e BL- {lngressi per I'alimentazione La tensione di alimentazione dell'LCD coincide con
per Ia lampada di retro-illuminazione) quella del PlC, e se si desidera variare il contrasto dei
caratteri che sono visualizzati, si ulilizza un potenzio-
Nella figura in alto a destra si mostra rl diagramma metro da 1O K con cui si applica una tensione variabile
dei collegamenti dell'LCD. all'ingresso, V0, che regola il contrasto del display.
,it.tt.,i., ,t i.t.t..1
tt | !.,.t. |.:, it tt ,i., t,i, t
]]]ì]]]]]]]i''@]]]]]]'],i]]]W]]]]r{K]@|......')||\\\).))...Wìì:ìì]]]]]|]]:]]]]::4iWf!]]#3
".
i:i ri; ;r ir ir lri ;" i'ri {i i.; I il: ir.l i ì ll f' fl i. r ;i. í fi 5 l. muovere il cursore a una determinata posrzione, indiriz-
í: í"ii qr1i,'Îí1í-;li zare una delle matrici, ecc. ll PIC colloca il codice dell'i-
Nella comunicazione del PIC con il display LCD si pos- struzione nella porta B, e per indicare che sitratta di un
sono inviare comandi da eseguìre o caratterì da visua- comando che si deve scrivere nel display pone la linea
lizzare in qualsiasi delle 32 matrìci esistenti nel display, RS (RAO) = 0 e la linea RA/V# (RAl)= 0.
che si compone di due linee da 16 caratteri ognuna. Nel cronogramma riportato nella figura a sinistra si
Quando il PIC invia, tramite il bus dei dati, una istruzio- mostra il valore digitale che assumono i diversi segnali
ne o un comando all'LCD, puo realizzare operazioni che partecipano all'operazione di scrittura di un'istru-
moìto interessanti, come cancellare tutto il display, zione nell'LCD tramite il PIC.
La scrittura del codice di un carattere ASCII sopra
una delle 32 matrici del video è abbastanza simile alla
R5 scrittura di una istruzione.
Varia solo il livello logico del segnale R5. ln questa
*3!9Ì9rrffi situazione la porta B del PIC prende il codice ASCll, allo
R/w#i i i t stesso tempo ìn cui RA0, RAl e RA2 prendono i valori
che sono mostrati nel cronogramma in basso.
n5
Tra i comandi più importanti troviamo quelli di can-
BUS DEI DATI codice islruzione
cellazione del vtdeo, i movimentì deì cursore, i lampeg-
gramenti, e gli indirizzamenti delle memorie interne
dell'LCD.
La memorìa DDRAM è quella che contiene i codici
Cro nog ramma d i u n' oPerazi one der caratteri che devono essere visualizzati nelle due
di scrittura di un'istruzione nell'LCD tramite il PIC
lrnee.
Gli indirizzi da B0 a BF Hex corrispondono aì 16
caratteri della prima linea e glì indirizzi da C0 a CF Hex
a quelli della seconda linea.
La memoria CGRAN/ ha 64 indtrizzi di dimensione
i
byte e in essa sono contenuti i codici necessari per defi-
nire 4 o 8 caratteri grafici definibili dall'utente, secondo
le necessità dell'applicazione. Ogni carattere grafico
definito dall'utente è composto da B o 16 byte che si
memorizzano negli tndirizzi successivi della memorta
CGRAM.
In seguito sono descritte le principali istruzionr utiliz-
zate con il display LCD
tl
: r40: 450ns
i- i i:.j i: il i- i. r:1.r"i { : i'+ xr i; ri i ij :=: Ì: {,;
n5
5
,ri tÈ lli# ij:É 4Í; rH jl,Èrrt'È'1 î]ii
ponendo che funzioni a 4 Mhz, e il suo codice è:
0 0 0 0 lNDrRtzzo
DI CGRAM
lmprega 40 microsecondi ad essere eseguito e il suo "i ,::: :, : ': l;i !.::..::,: j:. , .:';.,:71:.:;, ", ,, ;,
..
r3rmmcrzione di un IGD
lVentre il mod:lo LCD esegue istruzion,, e occupato e 3'. CONTROLLO ON/OFF DEt VIDEO
,
t,
non si deve inviare un'altra istruzione. ll flag BUSY (BF) Per de{oult si sceglie il disploy OFF (D=0}, cursore OFf (€=0) .
inrlir:
il jvrLu rho
Lr rL é
L naat tn:tn nrr:nnln
vLLu|.JuLv vrla
volc
'1
l, n
V rho
ll q À ihorn
c Lluclu
9UqllUV e senzo lompeggiomento del cursore {B=0}. :
tCD E
LCD_REG
Contro[[er
di LCD (r)
Il display LCD è ìa periferica piu interessante di
SLAVE
rrri disnoni:mo ner visualizzare informazionr
nei nrodotti e nei sistemt basati sui microcon- :,::::*
troller. ll suo ridotto costo, la sua flessibilità rll..
con qualsiasi sistema capace di comunicare tramite una nitn nrinrin,alè di intprrlretare le istrUzioni Che riCeve dal
RS-232, come ad esempio un PC, un terminale divideo- master via RS-232. La decodificazione di queste istru-
tastiera, un microcontroller, ecc Questi dispositivi fun- zioni si trasforma in segnali di controllo, che si applica-
zìonano come maestri (Master), rispetto alla scheda di no al dìsplay per produrre i differenti effetti di visualiz-
controllo che funziona come schiava (Slave). Lo schema zazione programmati attraverso il master.
Ioi
uEt rnllon:monti
LvilE9Or r rgr rLr doi
uqr hlnrrhi
ulvLLl ll rho
Lr rE no<ti<rnp6 il Ài.^l:',
9E)Lr)!vr ru ll ul)Ploy
LCD è riportato nella figura. La scheda di controllo
dell'LCD è basata su un microcontroller che ha il com-
In generale si possono classificare in due grandi
gruppi:
1 + Controller on-line,
2 -r Controller programmabili con memoria.
ll controller on-line si oilota in modo oermanente
tramite il master. Riceve ed esegue sequenzìalmente le
istruzioni del master, che puo essere un PC o un siste-
ma con microcontroller. Le istruzionì di visualizzazione
sono inviate nel momento opportuno, in funzione degli
awenimenti deì mondo esterno che influenzano il pro-
dotto che incorpora il display LCD. Per esempio, in una
macchina distributrice di prodotti, ogni volta che sì
introduce una moneta si mostra il valore della medesi-
ma e il montante totale del credito disponibile. ll con-
ll display LCD è diventato troìler on-line e progettato per mostrare messaggi nel
uno dei terminali pitt utilizzati per visualizzare informazronr
momento in cui si producono gli eventi corrispondenti.
memoria EEPROM in cui sono
scritte le istruzioni di visualizza-
COMANDI zione. Queste istruzioni si ese-
guono al reinizializzarsi del srste-
ma, cio significa che questi
ISTRUZIONI modelli possono eseguire in
modo indipendente le istruzioni
c i mcssanni rho in nrecedenza
sono stati scritti nella loro
ll master è permanentemente collegato al controller LCD, e contiene il programma memoria. Questa caratteristica li
di istruzione e di visualizzazione. rende molto adatti ai sistemi
automatici, come succede nei
r:rtalli nr rhhliri+eri
COMANDI :l:::,:
Per avvicinare i lettorr alla realtà
commerciale, descriveremo il
modello LCD-CON1, di tipo on-
line, e l' LCD-CON2 di tipo pro-
grammabile con memoria che
possiamo vedere alla pagina
ll controller programmabile con memoria, riceve il programma visuale tramite il master in modo seguente.
programmazione, lo memorizza nella sua EEPROM, e dopo lo esegue in modo autonomo.
: " t ',
'" :l '.l:' l':'
Clock/calendario in
. tempo reale.
. 6 -r Memoria di pro-
; gramma
: 7 -r Connettore RS232.
r
i
B -) Batteria.
:.
9 + Pulsante di Reset.
:: 10 -r Microinterruttore
| ,,
0l COnîlgUrazlone.
: 'l 1 + Segnale digitale di
ingresso. Ext. Input (J4)
12 + Interfaccia LCD 2.
Connettore a doppia fila (DlL)
Scheda controller LCD-CON2, programmabile con memoria
per LCD.
I
ìu
:l
Pa4
ll connettore per l'alimentazione, indicato con il 1". Suooorta la comunicazrone RS232 con il master.
numero 'l nello schema, riceve una tensione di 12 V, 2". Interoreta le istruzioni che invia il master oer
che puo essere alternata o continua. La scheda dispo- controllare il display LCD. Grazie al lavoro del PIC non
ne di un circuito di raddrizzamento (D'l), filtraggio (C 1- è necessario che l'utente conosca il funzionamento
C2), e stabilizzazione (U7)" ll potenziometro di contra- interno dell'LCD.
sto è evidenziato con il numero 2 nello schema. ll connettore a fila singola da 16 pin (SlL), è segna-
to con il numero 4 nello schema, e serve per supporta-
re i moduli LCD che hanno questo formato.
Nella figura sono assegnate le funzioni ai diversi
ll PlC16C73 è incaricato di realizzare i due comoiti vita- piedini. Per alcuni tipi di moduli LCD, è necessario un
li del controller: connettore a doppia fila per la loro inserzione. Questo
connettore è indicato con il
numero 12 nello schema, e
, nella fioura è rioortato il suo
.-h^'-- .i dudLLd
-h^rc )r
>Lr rcr rd Lr -^|-++- dr
-; r-^À^l
r\JUcr-
, li deìle case WINTEK, NORI-
I TAKE e SHARP.
.i ,:';..i 1, . l .i'ti. i.i',::t jij,.li.:,.,;,:
E basato sul dispositivo
PCFB5B3 (U1) di
Phiìips, che
contiene un clock/calendario a
tempo reale, alimentato trami-
te le batterie di Ni/Cd.
ll rhin o r-nntrnllet6 l6 gp
cristallo di quarzo da 32.768
I Khz e inoltre dispone di una
; memoria SRAM da 256 byte,
i che essendo alimentata con la
: batteria si comporta da memo-
,,...a
ria non volatile, e in cui si
Schema della scheda controller LCD-CON2 con la distribuzione dei suoi blocchi funzionalr
scrivono i differenti parametri
INIERfACCIA tCD I PIN SEGNATE DtSCR|TtONE
I GND Connessione o mosso dell'olimentozione
2 Vcc Connessione positivo di +5V di olimentozione
3 Vao.l Tensione voriobile per lo regolozione del controsto del disploy
4 R5 Segnole di controllo dei registri interni dell'LCD
5 R/w Segnole di controllo per lelturo e scritturo interno dell'LCD
6 E Segnole per I'obilitozione inlerno dell'LCD
7 DO lineo bidirezionole dei doti n" I
I DI lineo bidirezionole dei doti n" 2
9 D2 Lineo bidirezionole dei doti n" 3
lo D3 Lineo bidirezionole dei doti n" 4
tl D4 Lineo bidirezionole dei doti n" 5
t2 D5 Lineo bidirezionole dei doti n' ó
r3 Dó lineo bidirezionole dei doti n" 7
14 D7 Lineo bidirezionole dei doti n" 8
l5 L+ Afimentqzione positivo di 4,5V per lo retroilluminozione
(se il modello di LCD dispone di esso)
ló L- Alimenlozione di mosso per lo retroilluminozione
(se il modello di ICD dispone di esso)
Assegnazione dei piedini nel connettore a fila singola per alloggiare l'LCD.
,'"1.. | :, i ,
i i" i,, ,. ,,'t,::' !.;, l; i, i
i,
,, ,rr.ri, o,n inL," ,i, ,rru lur=nr";";sotrro ;";to;tte aaila cpu seguenti campi:
del master, per fare in modo che il PIC
CODICE: Raooresenta il carattere ASCII che defini-
della scheda di controlloie possa interpretdre.
sce l'istruzione.
.|...:l,|1||..'.|..:.i,:i.,;,:,,:.,i,i;:ì.|;::.,::! SINTASSI: Indica la sintassi dell'istruzione
OPERANDI: Esprime i possibili operandi.
ll PlC16C73 della scheda di controllo contiene nela sua ESEMPIO: Semplice esempio di applicazione delle
memoria un codice di programma, capace di interpre- istruzion i.
tare un repertorio di istruzioni che converte in segnali di RITORNO: Valore che restituisce al master.
governo per il modulo di LCD finale. La CPU raccoglie COMMENTI: Chiarimenti oer comorendere le istru-
le istruzioni che utilizza l'utente, le traduce in formato ztont.
".i1;.;|ll.11').i)l;.'.l:|:i:'i.:||,j.{:i'...:..!;|;i||,ii,,,!.
.y||1|11\':1|'|\fJ11|'|'|jj.,reww1]il]lllll*|,]!4iEÌiWùlùèiN]]l|]fuÌw1fÍÍi1l'*l&@jl1]ilWùlì|ii]lìì]iÍli]k,|#
flIICROCONTROLTER
di controller di tCD
Codice: A €odice: C
':s I
EloollbblCR Produce un effetto dì {bb) inlermitienzo con un periodo siobilito
do ioo).
Devia il flusso di controllo del
programma quando sr com-
c. ccR Afiivo o no lo visuolizzozione del cursore.
nip rrn,r dotprminara condi-
D: DCR Disotlivo il corottere ACll locolizzoio nello posizione del cursore.
El EIindirizzo]CR Sposio il cunore n uno nuovo posìziore. zione. La scheda di controllo
ti t[coleno]CR Inserisce uno coleno di corotleri o poriire dollo posizìone del cursore LCD-CON2 s(rive il program-
l sinìfro.
u. ma di visualizzazione nella
sposlondolo verso
G{nnl[byel ]lbyte2l . [byte8]CR Genero uno degli oìio posibili corol+eri grofici definibili
doll'utenie. memoria EEPROM da 24
H, HCR lniziclizzo il dìsploy LCD concellondolo e posizionondo il cursore Khvte che occunA oli indiriz-
noll^ inizinlp
I l[coteno]CR I
^^.irinno
Inserisce uno coleno di coroiieri o portire dollo posizione del cursore
zi da 0000 a 5FFF Hex. Le
.""*"""1^1"
"
.1"*." istruzioni sr scrivono negli
J JCR r Attivo o disottivo il displcy LCD. indirizzi correlati inìziando
K KCR , Altivo o disotiivo visuolizozione dell'oro in corso.
1o
da 0000 Hex Ogn istruzio-
t tcR : Aìiivo o disoflivo lo visuollzzozione dello doto conenfe.
M Mlmml[hh]cR , Regolo l'orologio con i minuti [mm] e ore lhhl,
Ie no rìr.r rn; rn rprtn numefo
N N[dd]lmmlcR I Regolo il colendorio con il giorno ldd] e il mese [mm], di hvtp I a rondizione rler cui
o ocR r Aftivo o disotlivo il lompeggiomento e/o il cursore nello posizione si realizza il salto viene stabi-
, in cul lrovo.
sì
li+-
P PCR , Legge e resiiiuisce lo posizione ottuole dove si irovo il cursore, ^l-l ,,-l^"^
ilIa oat vatore l.-i^-"i^
0tndrr() presen-
^
a Q[volor]CR , Temporizzo ionli decimi dì secondo come si definiscono nel [volore]. te nelle otto linee di ingresso
R RCR : Attivo o disoliivo le luci di tondo {bocklighi} nei dìsploy a cui si accede tramite il con-
, che ce l'honno.
5 5[dirH][dirt]CR I Sallo incondizionoiooll'indirizzo IindH][indl], nettore J4 Ext.lnput deììa
I Tlvolore]lìndHllindLlCR : Solfo incondizionoto oll'indirizzo IindH][indL] in funzione del {volore] scheda di controllo.
, presente sul conneilore esierno J4.
u ucR : Fine del proqrommo,
V VlvolorlCR , Corico lo voriobile inierno con lvolore],
X XlindHllindLlCR I Decremenio vorìobile e solto o [indH][indl]se il risulioio è 00,
1o
::,4M.".' i::a*i;rtirtiuuuuìììììììììììììììììì!{rlul
MICROCONÍROtLER
:
iìi
'ììll
Modelli di conlroller di LCD
À. ji:
'
---.t_Y ,
jlExl Y1 rl.L? m r-Ì
Per semolifirare
"r""--' la ne51j6ne del con- ' .--:* ,
;
--:.
rroller LCD-CON il suo produttore, e V= fi* DE< i
-ti:#
Ì-i. i
Ingenrería de lVicrosistemas |'t
i f lnvìorealLCD :
stato battezzato con il nome di Modo ON tlNE: Gli ordini soronno invioti direttqmente
e in modo seqgenziole ol controller dell'LCD
itrr:!or:r..-.-.. --..........
{"- Èogrommozione
dal rraster alla scheda dr controllo. ,
V: lù f $ ,imp .rmc
tr alla scheda di controllo LCD-CON r-i"g,*"c
Sorgenle Obiect
L'ElD e basato su un repertorio di
istruzioni di alto livello, che pur
El l*t":,E] l:i..
osqpndn onr.iri:lonti : n ,ollo di h:<<n ,
: El po'* ,El n ,*
livello, nsultano piu comprensibili e
f,arili d,r npqt:ro Cnn l'gl119p dei testi
dell'ElD si puo cance,lare, inserire,
muovere, duplicare, salvare su disco,
recupe'are, ecc. fassenbie" di que-
sto ambrente traduce le istruzioni di
alto livello rn altre di basso livello, che
Videata di lavoro di EID in modo programmazione
inte'rrretate
nossono essprp ,,,.. I con I
D'
Lo s n'osi e sin; e oll s'-rzoTe "'.
lnserl> C'oo
lnserb'Microsystems\0\ì 1
il;
necessità di un collegamento fisico **
mediante cavi fra emettitore e ricevitore,
per mezzo di radiofrequenza, risulta una $rc
delle applicazioni elettroniche più inte-
ressanti In seorrito citeremo alcuni dei
.
settori piu interessanti in cui si può impie-
gare questa tecnologia:
1". Controllo e gestione dei dispositi-
Schema di funzionamento dell'emettitore di R.F
viremoti mediante invio di ordrni e
comandi: connessione/sconnessione di
allarmi, controlli di accessi, porte dei garages, ecc. per ìa successiva elaborazione. Nelle seguenti figure si
' 2". Ricezione di dati in arrivo da oeriferiche remote presenta l'attuazione semplificata delle schede dr emis-
per la successiva elaborazione: trasduttori di tempera- sione e ricezione di R.F. La comunicazione fra le sche-
tura, pressione, umidità, ecc. Tutti i tipi di variabili ana- de di emissione e ricezione di R.F. e l'applicazione
logiche e digitali. finale a cui le destina l'utente, si realizza mediante
3". Trasferimento di informazioni tra srstemi molto comunicazione seriale RS-232, o mediante livelli logici
distanti: risultati di determinate ooerazioni. stato inter- TTL che si aoolicano direttamente al microcontroller di
no di variabili, ecc. queste schede. Nel caso della scheda di emissione,
4". Aoolicazioni in microrobotica: comunicazione fra questa riceve via seriale dal PC i comandi di configura-
microrobot per realizzare compiti con-
giunti, controllo movimenti, informazioni
dell'ambiente, ecc.
digitale per trasmetterla poi via R.F. e l'altra la riceve, ll cuore deìl'emettitore R.F. è il modulo RT1-433, pro-
sempre via R.F, la codifica e la trasforma in informazio- dotto dalla ditta italiana "Telecontrolli", che consiste
ne binaria. fondamentalmente in uno stadio di potenza che gene-
ra una portante di 433,92 MHz, modulata in ampiezza
'." . :- ii:,':r il ': ' r
t
'' (AM). È un circuito rbrido che, meotanre un processo di
' ' ': I r' r'r. 'r'I ."; ' regolazione che utilizza tecniche laser, offre una grande
"
Con l'obiettivodi analizzare ilcomportamento di questi stabilita di frequenza. Lantenna dr emissione è integra-
moduli che comunìcano tramite R.F., descriviamo l'e- ta nel circurto, ed e possibile ottenere una portata di
' varie decine di metri, a seconda delle condizionr
ambientali. Le sue caratteristiche principali sono ripor-
tate nella tabella della figura.
, , . ,. ., ,\ , ',
seguenti compiti:
a. Gestisce la comunicazione seriale con il sistema di
applicazione dell'utente, che riceve i comandi di confi-
nrrrazionp e i dati rhe si vorranro inviare.
b, Interpreta i comandì di configurazione e li scrive in
Emettitore MSETX
tn o ci aìonor: ....-'f-'..'.'].."s9'!.3..-...i'Ly..s]l'.::i...l.:."d...:.|!1":*linfI.sgI.'!y3**]l:".'.l.l.':ee.li:l'.'.'''.'
un'informazione di ..-."..9......i..--"-9]!-?..-..--.l..!:."l.:-::i-r.r
Intestaztone e
Assegnazione delle funzioni dei cinque terminali del connettore CN3 (TTL DATA)
un,altra di test o
"checksum " in
l^
mooo oa garanlìre
-^,J^,l- ^-"-^+i"^ ta +lrasmtsstone. zione dell'utente, che può essere un PC. Se SW-1 e
c. La trama, ottenuta con l'intestazione, ì dati, il SW-2 sono a 0 la comunicazione si stabilisce a 2.400
controllo ecc. viene inviata in modo sequenziale, bit a baude. Se SW-1 = 0 e SW-2 = 'l si realizza a 4.800
bit, al modulo RT-433, da cui sono irradiati tramite R.F baude, e se i due sono a 1 la comunicazione è a 9.600
I blocchi principali della scheda di emissione N/SETX baude.
sono riportati nella figura e sono i seguenti:
1', Modulo RT1-433. ',,'
2'. PtC 16F84. ll connettore CN3 a cinque contatti e chiamato TTL
3" Inoresso dell'alimentazione. DATA e ser\/p ner srnnortare la comunicazione con l'u-
4". Reset. tente, mediante livelli logici compatibili TTL.
5". Mìcrointerruttore di configurazione. lsegnali che invia l'utente si applicano direttamen-
6". Connettore TTL DATA (CN3). te al PlC16FB4 e nella tabella della figura si mostra l'as-
7'. Connettore ICSP (CN2) segnazione di ognuno dei terminali di questo connet-
B'. Connettore DB9 (CN1). tore.
ll costruttore della scheda, Ingenieria de
Microsistemas Programados S.1., uliltzza il connettore
arrivare dal secondario di I Seriol Progroming Clock. Segnole di clock di sincronismo ol momento
ì dello scritturo.
un trasformatore che for-
nisca 12 VAC. All'interno
,.J^ll-
ueild --h^,1-
5Lr reud e5t5Le
^-i-+^ ,,
uno
MCLR/VPP j Segnole di reset del dispositivo do regislrore
stadio di raddrizzamento,
i e punto di opplicozione dello îensione Vpp di registrozione.
di filtro e di stabilizzazio-
GND
ne per generare +5VDC
ner l'elettronir: di 16p1-
}'/l'
Assegnazione delle funziont ai terminali del connettore CN2 (CSP)
trollo, e +13VDC per il
modulo RT1-433. Per
resettare il sistema si usa
il pulsante SW-2, che PinNe Segnole 1
Descrizione
resetta rl PlC16FB4, senza 2 1. TxD : Trosmissione dei doti R5232 tromire l'emettitore MSETX verso
modificare iparametri ] ; il sistemo di opplicozione dell'utente.
"."....-'...".j'.'-.,.-."'"'"..'"..':-":]''-::::'=.::]:':.'-.:'.|:
interni dr configurazione. 3 RxD . Ricezione dei doli RS232 doll'opplicozione
Gli interruttori SW-'1 a I
i ti qcil
dell'utente
uterrrg verso
vef t9 |l'emetlitore
ertte[tlgfe tYtJEtA.
MSETX.
drre rnntatti spr\/nnn 0ef 5 : GND i Segnole di mosso comune. i
:::
r\_t\Z.
r\r / l\r\_Jrl
Í \Pr/ nor
Ptrr
YLr
<.rr\iore
JLr rvcrc
)Lr ''- - rcild
nella
-'
N/]ec]ianfeotlestoconnet-iM---"""-j.-.'"*,p-"---L".-".:."*.-.:--"*,-q..,--i----,"Y..P9-'-j
'"' l'' .^-...-^ r2,J
tore il fabbricante puo aggior- €onsumo* ^ 3,5. mA <'
i..:.,l|'||.,...i-'|'.,,|ii...i':...;.i...l.,-.;.:..;...,i
t,
I tre comniti che realizza il PIC del ricevitore sono:
1'. Gestisce la comunicazione seriale.
2'. Interpreta i comandi dr configurazione ricevuti e
i li scrive nella memoria non volatile. Scompone i dati
i ricevuti via R.F., analizza ìe informazioni delle intesta-
zioni, determina se il messaggio è drretto al ricevitore
adeguato. Infine verifica la valìdità dei dati mediante il
cnecKSUm.
3". Dal totale della trama ricevuta estrae l'informa-
Distribuzione delle sezioni principali del ricevitore MSERX.
zione utile che invia all'utente in via seriale.
Trasferimento
dei dati tramite R.F. (il)
le successivamente tramite R.I così come e rappresenta-
L'emettitore di R.F studiato, MSETX, comunica con il to in modo schematico nella figura. ll ricevitore MSERX
sistema dell'utente in modo seriale e bidìrezionale. suooorta un flusso di informazioni simili al trasmettitore.
Anche il modulo trasmettitore RT1-433 comunica in Da un lato la comunicazione con l'utente è in modo
modo seriale e riceve le informazionr bit a bit, per inviar- seriale e di verso brdirezionale, e dall'altro l'utente inviai
CONTROLLO
Questo sìncronismo ha il compito di
ottenere che tutti i bit emessi durante
un intervallo di tempo determinato
siano raccoìti nello stesso intervallo. In
questo modo "non si perde" nessun bit
Flusso di informazioni nell'emettitore MSETX
nel viaggio e per fare questo esistono
due alternative che spiegheremo a
seg u ìre:
- Modo sincrono: ogni bit emesso va
accompagnato da un impulso di clock.
Questo segnale di clock è comune sia
per l'emettitore che per ìl ricevitore.
Quest'ultimo ulilizza il fronte o il ìivello
per stabilire il momento di acquistzione
del bit sulla linea dei dat . Per supporta-
ro nrrp<tn
,L VvrJLv
<inrrnnismg sono necessarie
due linee fra emettitore e rìcevitore: la
linea dei dati (DATA) e quella del clock
CONTROLLO (CLK), così come si presenta graftcamen-
te nella figura.
"""**"; - Modo asincrono: non necessita di
un clock ausilrario. Sia l'emettitore che il
ricevitore, trasferiscono e raccolgono i
Flusso di informazioni nel ricevitore MSERX. loro bit in un intervallo di tempo "t"
P89
ITIGROGONTR.OLL.ER P90
i.
##it
carattere, piu il proprio bit B deve dare un
tolale di 1 che sia pari. La parità dispari fun-
ziona al contrario. ll bit S di stop e queìlo
che termina tutti i caratteri. Nella norma RS-
232 questo bit è di liveìlo 1, in questo
modo, quando la linea dei dati torna a O si
--^:-:d Lr-1.^
LdPil
+.-++-
-i
rc )r f ,,n nUOvO bit di iniziO
Lr d Lro ur u
'
ner il carattere sl rccessivo. Alcuni sistemr
permettono di utrlizzare 1, 1,5 o 2 bit di
stop. Tutti i bit hanno la stessa durata, per
questo se si lavora a 1 .000 baude ogni bit
Ònni hlnrrn !r)ma À rnmnn<fo
rimane stabile sulla linea dei dati I ms. ^
da 20 caratteri o byte, dei quali i primi 4 corrispondono all'informaztone di testa
i':'ir'!'-l;i= iir
Quanto tempo impiegheremmo a trasferire ogni carat- ,1 ',' " "', """
f Dr: Indirizzo del ricevilore. Può volere 253, tufii rimongono i
tere lavorando a 1.000 baude e sapendo che ogni i] oll'oscolro, però occetteró l'informozione solo guello il cui i
carattere e formato da 7 bit e 1,5 bit di stopr 1] i.dirirto coincide con il volore Dr. findirizzo 254 è universole i
Soluzione: Ogni bit impiega ad essere trasferito 1 ms f ".on esso tutti i ricevitori occethono l'informozione. f
tf--*-*****
lavorando a 1.000 baude. ll carattere ha 7 bit di informa- {| Chk
-"'-'
eyte
-t --
di Checksum. Si trolto di un byte colcoloto i
zione più uno di inizio, più un altro di parità e 1,5 bit di ;i doll'"metitore medionle uno serie di operozioni logico- i
,.,i oritmeiiche con lulti i byte do tuosferire. Ho il compilo di evitore :
stop. In totale'10,5 bit, rl che suppone un tempo di 10,5 li lo corruzione dell'informozione duronie il trosferimento. i
ms per trasferire ogni carattere. Nel caso dei dispositivi -*****"**'-'-i
commerciali N,4SETX e M5ERX, il formato di ogni caratte- $ L, indi.o il numero di byte utili dell'informozione. :
re e composto da 1 bit di inizio, B bit di informazione e 2 ,li Nel formoto dello figuro può overe un mossímo di I ó corotleri, I
bit di stop. Lavorando a 9.600 baude per trasferire ogni il petò sono volidi solo i 'n' primi
i:1",--.--*,...,-**
carattere, si utilizza un tempo approssimato di 1 ms. |tdiritto del trosmettifore.
fiiÉiorr
Drr ,tdiritto trosmettifore. I
***-*--1
',
-
: :'; i, ;l l r i.l !' r,.j i.ri i-, j l,t il 1,
Ir jì; j',,i, ; i; Onnr Dopo i quoftro byte di testo seguono quelli utili
! I
Serve per garantire l'integrità dell'informazione trasferita. i-1 dell'informozione. Si lrosferisce sempre uno coteno di ló byle, i
li e quelli che non si utilizzono t
li totale delle informazioni da trasferire si divide in blocchi, si riempiono come corotleri NULL (OO0).
ognuno dei quali puo avere un numero fisso o variabile di ;B!ìÈt::.fr lwi,f í.f xÉ!ri#Frgry,:=:fla1fitrìJsît.ffi rÍnrtffi q+if
utile. I quattro byte di testa hanno il seguente significato: "ritorno a capo" CR = 013, il resto del buffer si riem-
pte con cool NULL (000)
odice N 1000)
^-i>l nrnrodo; .-l^ dild
-ll- d trasm
+
e ut Lt c ilsst o-
rssro- L
nel, consroera
consider;lera n do( loCRrcome
oo :ome
-îra++^r^ ere in
unrI LOIOLLEIg
LOIOLLEIg n nipiù Nella
f igr ra sono no ripo dLr
port -+^ r due
rortale
Jura
Jur
ame
traam tinto n,
I re distintr
distinl neila
ttcl
^^l ila
la pr
frrima
prlrima
si
+.^-I
tr.^-I ^.1-t)Lt
LtI d) tut isce
t)LC rna.ì cal
-^ un
-. una -î+
ci
LOatena
ìtena L
>n meno
cor
)n o tddi 1€
no( l6 cara
16 car'atteri
atteri
t^t-\
(Hc -\
q/
rvrq/ EE neila SCC(
^ ^^l
^^tl
ttcl
^^il.
rrcil(
rrcrl ;econo
se ondala
aunun
Esempio della struttura delle due trame, in cui tutti i byte sono espressi in esadectmale. -.^^i^r Tr:m-
tro) me5saq(
altr messaqc
)o99rw.
ssag ).. ln en'
enrr.ram- r
] CONTROLLO
coNTROtto
ll tempo di trasferimento La ilcedone tramite R.F. della trama impiega gli stessi 100 ms
fra l'utente e I'emettitore è di 17 ms che dura la trasmissione.
**f|el
., ::.ttyr, Nîl4OlNl,, . z_s,s voc I z_s,s voc chip e di strument, focalizzati a potenziare l'autocari-
vdd
camento dei programmi, e la messa a punto in tempo
::::::1':111111',,111L,:
Other Fmtures
2só13ó8133 40P.441
upO,spr
|
|
8 {10-bil) r lt
tolit l'a USART
Mk/sPl
20 per l/0,1C0,
Self'Prqromins,
PSP,
9-bii
,
.:,,**r*,,:-,.....urn;.--rirr*r.rt**^*"r.r-,llil
N'IICROCONTROLLER í*'F*,,,,R,'*2*,,,.***tr:rin**rrirr*
re
Una volta provata la tecnologia FLASH con il SOIC 28-Lead SSOP
2$Lead
PlC16F84, gli utenti hanno richiesto con for- .so" "ss,,
z: mndolli nir r nnionti,\, o
! nndarn<
vvuLl
rnn rr ri nn-
LLr qyillnn:ro
tor rviluVVurL nr^notti lmh:-inci I r rann
^i,' OIllUl4lW)1. Ld ICVU-
prvVLLLr PIU
la fondamentaìe nello sviluppo di un proget-
to basato su microcontrollel è che la soluzio-
re
ffi
44'Lead,PLC
np r^omnlct.r de I sistema sia conter;ta in un
chip. Per questo al PIC 16F84 brsognava au-
ilrerLdre l^
'-^^+îr^ re --^--i+-
LdlJdLrrd ur
^limemofì4, aggiUngefe re
w
dispositivi esterni, includere un convertitore 44lead MQFP 44-Lead TqFP
40'Lead PDIP
AD, delle porte di comunicazione, e aumen- "PQ,,
- *n.t.rrti
|
'.. . .... '.' . . .. ,:
8kx14 aat-t 22
--.- -.- .- .
-t
SH, ai quali auguriarno un successo maggio- MICROCONTROI.I.ER , A/D iro BrT) íf-T
rvorr TEMpoRrzzAloRr Lo^l]î. ccp PoRTA
cANAg sERlALE
PlClóF84 TMRO.SBITS :
TMRO.8 USART
mnl+r nir LoPoLrLo
rrnrri+r Ptcl6t877
ninrr
J'-' dol
.--, Pla 16FR4 h:n^^
- ,,_ ilru ||rurrc Pru
TMRI'I ó
TMR2.8 Ml'?c/sPl
it ' !'
't:
:* : : l
I quattro moschettieri
PIC-FLASH
Parallela Slave (PSP), che si conf igura
I'lemorio diprogrommo Memorio doti Àfumorio [inee
MrcRocoNno[ER hroh d0 14 birl MM {bFel tEpRoM {byb} ll1 Porte Piedini con le otto linee di l/O della porta E
l/O che possiedono quelli da MODEUO : PlCtóF84A PtclóF873 PrcIóF874 PIC|óF87ó pt0l6Í877 i
I
LAttuw l-
--^,1^ +-l-^ll. ra-^-"-+i,,- - ìiÀit' '-"-'- -irsrrii/' --*'-niÀi'T/"
ta LouEilo LvIrPctoLtvd, coMuNrcazroNE
SERIALE I
I No USART/
I
MSSP M55P MSSP I
qi
rr dodr tro
uLu ULL \ | rL ru yr il rLrPo lc Ài{-
16,o l: nrinri^.lo u ll- ccPìNo22 t)
ferenza f ra i 4 modelli da 2B -ìì;il
IEMPORIZZATORE t.8 bir, i -WDT t-tó bir, 2.gBlT, I-WDT l.tó bir, 2.8Bll I.WDT i.iii'i' g''ii*' ; ;ú,;;i 1
diretto e indiretto,
nate a selezionare il banco e le 7 restanti a selezionare
rrn:
ul lu dollo
uLllL 17R
I Lv nncizrnni
VvJtLtvt ll Ài
ul nnni
wVl ll h:nrn
Uol llv.
f,
l5o. Programmazione della memoria in modo seriale, utilizzando BUS DEGLI INDIRIZZI
DELLE IsIRUZIONI
solo due 1'r i r::Ll ,l
.''.':l',,:l'.'l'ill','''''..'..,.,:...i:..,l
...
,t :" ,,
menti di differenziazio-
ne. lnfine si offre una flffi.^t IJ
.^{;
soild.,.Ji
ur t-,,^"^,.t^t
rdvoro uer pro-
^", .\8
\8
cessore è identica a
npr il
nrrpll.a ctrrdiat,a vLl
W
8\ 8\'
PIC'1 6F84, rinforzata
,,^i---^^+^,.J-ll-
unrcdmeIre oaila capa-
--^. GN
ffi
nn:zinne dei nipdìni nei :l RA2/AN2
W
' RA4/rocKl
Piedini di utilizzo
oscr /cr-KtN
osc2,/ctKouf
ffi '::::'l1l'l'1i'iffi' 'ffi
%ffi,#i,'; j,1',i,::,1:,:,)'),)',:,1:
%tr 8\ "
',' l!]
El
Rc7lRX/Dr
RDo/PsPo
[-.1 RD2/PSP2
generale:
- OSC
,1/C
LKIN C
*u ffi '
m
Er
RD4/PSP4
RDs/PsP5
nÒ ntrr
t,-'
q,rnnrìrlAro I
ìÌììì,ri,iiiiiIii,ìÌì,r,;;ìÌì'i,úFg
RA4/TocKl it r RSz
Piedini della porta D:
RA5/AN4/5S# : ÍBl Oltre a supportare le B linee di l/O digitali, RD0-RD7,
v*È RBOIINT ha mulliplexate sopra queste Inee, queìle di trasferi-
oscr/cLKrN i Vm mento bidirezionali dei dati della Porta Parallela
Slave (PSP0-PSP7).
osc2/cLKour I Ys
RC0/TIOsO/TrCKr I RC7/RX/DT Piedini della porta E:
A, ,nr+r ^^"+- h - .^r^
RCr/TrOS|/CCP2 i RCé[X/CK vuc)Lú pur Ld rrd )uru tre linee che f UnziOnanO COme
l/O digitali, RE0-RE2, e hanno multiplexate le se-
RC2/cCPr i RC5/sDO
guenti funzioni: segnali di controllo della porta
Rc3/scK/scL I RC4/SD|/SDA
parallela PSP (RD#, WR# e CS#)
Innltrp noqqono anche funzionare come canali di
ingresso per il convertitore AD nei modelli a 40 pin
Piedinatura dei ctrcuiti integrati corispondenti ai PlCl6FB7X. (AN5, 6 e 7).
P95
',", :'
, i"'':,"', I .
Struttura interna del Registro di Stato, i cui La memoria RAM ha due forme di indirizzamento, che
bit 6 e 5, RPI e RP), selezionano il banco della RAM dove sono
posizionati gli indirizzi a cui accedere. sono chiamate "modo di indirizzamento" e che sono il
modo diretto e il modo indiretto. Nel modo di indiriz-
zamento diretto i bit RP1 e RPO del Registro di Stato
memoria dei dati non volat li, di tipo EEPRON/ e un'al- selezionano il banco. Per puntare ad una delle '128 posi-
tra indipendente SRAM volatile. A seconda del modello zioni del banco scelto, sono necessari 7 bit che arrivano
d PIC la EEPROM puo arrivare ad una capacìtà di 256 dal codice delle istruzioni dove occupano le sette posi-
byte, che si gestiscono mediante dei registri appositi zioni meno signìficative. Nell'indirizzamento indiretto la
che contengono gli indinzzi, il dato e il bìt di controllo. posizione del banco si determina con i sette bit meno
ll loro funzionamento e la loro gestione sono stati stu- significativi contenuti dal registro FSR, delì'area SFR
Modi di realizzare
I'indirizzamento SETEZIONE
DEL BANCO
diretto e indiretto
nella memoria RAM.
della RAM. Per trovare
ilil ucr
h:nrn
rlv in rocin utLl-
rrli
re re
rc re ilm
ffi
| | nr
9uE)Lv 00h 80h l00h r 80h
ru ryru re
mo modo di induizza-
mento, si utilizza il bit
0rh 8rh r0r h
@N@ t8th
re
ru re
82h
re ryff
r02h
ru
I 82h
ffi tr
03h óJn t03h
FSR insiemeal bit lRP, r 83h
ru
re
84h I 04h r 84h
w
05h 85h | 05h ì 85h
r:tiv: dpl
ret
Renistro di 0óh 8óh r0óh I 8óh
Stato. 07h
ffiSffi 87h l07h I 87h
i modi dr
W
\rììì
Entrambi
08h 88h ìliì$ltll,llllrllllrltllffis t08h r 88h
indirizzamento sono
snieoati oraficamente llllllllllllllllirllllrllffi!l,
09h
@
ìS$Willlffffiffill 89h r 09h
il::
MEil
r 89h
0Bh
0ch
re
ru W@
8Ah
8Bh
8Ch
I
roBh
toch
oAh
re
-
I 8Ah
I 8Bh
r 8ch
indirizzi della RAN/, 0Dh 8Dh t0Dh
ltrm
G!!il
r 8Dh
rc
com'è abituale nell'ar- 0Eh 8Eh r 0Eh I 8Eh
chitettura dei micro-
controller PlC, le prime
0Fh 'ìliiiiliiiliisWffi$Wll 8Fh
rem: I 0th r 8Fh
ilh re
$r$$llllIililiifitffi: 90h
9rh
I
lilh
l0h I
r9rh
90h
tJn
ì4h
ro
-il
92h
93h
94h
I
I t3h
I t4h
l2h r
I
92h
93h
94h
r8h
r9h
re $ll$|fillllilllllmN 97h
98h
99h
It7h
I t8h
I l9h
t97h
I
98h
99h
tFh
20h
re 9Eh
9Fh
A0h
ilEh
ilFh
| 20h
I gEh
I
9Fh
Aoh
PIC disnnnnnnn
t
di
molte risorse (convertr-
tore AD, CCP, porte di
il::r Eth I óFh I EFh
FFh
Bonco 2
r
|
70h
7th
Bonco 3
:,"
"
t, t
- ,t ,tt'
P 96
bú..s.É,,,,1,.
:::l,tlt\,,,
;.ffi$,trd*, cfiÍ risorse come i
l: '. t,
Questi sono i poteri
dei PICl6F87X
resentando questi PIC come if ra-
telli maggiori del PIC 16F84, è
W
USCITA TMR2 A SSP
stato detto che possiedono una
capacità di memoria molto mag- REsET
giore, però sono i dispositivi e le
ricnrco rho [\rlirrnrhin h: inrnrnnr:tn:l
TMR2IF
,A
re NW
4\
loro interno quelli che forniscono la vera
f orza.
,.ilil@ :ffi;
4\
Anche se in quest'opera non si dispone îliw-
."n}:
di spazi sufficienti per descrìverli in detta-
glio, vogliamo fornire un'idea generale sul
.rlmnort:montn o lo r:n:ritÀ donli olo-
Struttura interna del TMRl con i blocchi principali e i segnali di controllo
menti piu interessanti che sono incorporati
ner PIC 16FB7X.
I nuovi temporizzatori o Timer, i moduli di Capture, TN,4R1H:TMR1L, che sono incaricati di memorizzarne il
Comparazione e Generazione di lmpulsi e di Ampiezza contenuto in ogni istante. Questo valore evolve da
Variabile, il Convertitore AD, le Porte di Comunicazione 0000 sino a FFFF Hex e ouando oassa nuovamente sul
'Seriale, sono i disposìtivi di cui faremo una breve anali- valore 0000 si attiva il flag TMRl F e se si desidera si puo
si, senza approfondire il discorso sui registri di control- provocare una richiesta di interrupt. ll valore presente in
lo, la cui corretta programmazione suppone la gestione TMR'lH:TMR1L puo essere letto e scritto e gli impulsi di
dei medesimi. clock che originano il conteggio ascendente possono
provenire dall'esterno o dalla frequenza di funziona-
mento del microcontroller (Fosd4). ll TMRl può funzio-
Dei tre temporizzatori disponibili nei PIC 16F87X, questo nare in tre modi:
è l'unico che ha una dimensione di 16 bit e che funzio- 'l
". Come temporizzatore.
ne cnmp rrn TcmnorizZatOre/COntatore. Per oestire 16 2". Come contatore sincrono.
bit è necessario concatenare due registri da 8 bit: 3". Come contatore asincrono.
Nlal mnÀn +amnnri77;1gfe il ValOfe COn-
catenato TMR'1H:TMR'lL si incrementa con
nco/rroso/rrcrr B # ncr /rrosr
ogni ciclo di istruzione (Fosd4). Nel modo
@ contatore l'incremento si puo produrre con
&
4 a_
I r=b,
IMRì|E
./-\
ifronti disalita di un clock, ilcur ingresso è
w ffi il w E@IE
--...:-i' applicato alla linea RC0 e RC1 della porta
C, o tramite gli impulsi applicati sulla linea
: ,
try
:,t
mwx
ttW
RC0. Nella figura è riportato il diagramma
a blocchi del TMR1, in cui possiamo vede-
re il predrvisore di frequenza
'"1ì
hit
Quest'ultìmo è un temporizzalore ascendente a
2ll'intornn
utL, oil iltLEr rru dol
ugr nrr:lo
9uo,- cì lonnprp p- q66jrroro
nrro ,-JJ-,-
-,r-- '',,vqlq' innl-
lÌlul-
8
ro*ffi
9lo-o
tre può realizzarc operazioni speciali per la Porta Seriale
e per i moduli di nzlccprffiE
Sincrona (SSP) Capture e @ 90
Comparazione. t0\
ll segnale di clock del TN/R2 e quello interno Fosd4, RC2 ABILITATO
prima di essere applicato passa attraverso un prediviso- COME USCITA 98-o
re di f requenza con range 1 :1 , 1 .4 e 1 :16. L'uscita del
TMR2 attraversa un postdivisore di frequenza con range
grc
70
compresi da 'l:1 a '1:16, passando per '16 valori possibi- 8\
li. Quando il microcontroller entra in modo riposo s
ferma l'oscillatore interno e il TMR2 smette di funzio-
nare.
Schema semplifrcato
ffi
valli variabili di tempo. ffi uz7lNz7v"'-
Si vuole ottenere un impulso il cui livello alto abbia ffi ur/rur
un'ampiezza variabile (Duty Cicle), all'interno di un fil uo/ltro
intervallo fisso del periodo dell'impulso.
Per ottenere il cambiamento di stato del piedino, si
utilizza un comparatore che pone a 1 (Set) un flip-flop reVoo
+
quando il valore del registro PR2 coincide con la parte
alta del TMR2, momento in cui TMR2 prende il valore :W 4-f.
00 Hex.
Dopo il flip-flop si resetta, e si pone a 0 quando un
altro comparatore rileva la coincidenza sul valore esi- reVss
stente nel CCPRl H con quello della parte alta del
TMR2. Variando ivalori che si caricano in PR2 e in
CCPRlL si varia l'intervallo di tempo in cui il piedino di
Struttura sempliftcata del collegamento del convertitore AD
uscitastaa'l ea0.
H [", {.{F # tlÈ,fi l=.l.{É f,q il mantenimento, successivamente questo valore viene
À {S.+ È-# # 1 i- $-t -, # } -* 3'3};-i È- È: portaro al convertitore, che utilizzando la tecnica del-
I PlC16F87X dispongono di un convertitore AD da '10 l'approssimazione successiva fornisce il risultato digita-
bit di risoluzione e 5 canali di ingresso nei modellida 2B lp onr,iv:lpnto <r r '1 0 hil.
pin, e 8 canali in quelli da 40 pin. La tensione di riferimento puo essere generata con
Attraverso uno degli ingressi selezionati si applica il la tensione interna di alimentazione del PIC oppure con
segnale analogico ad un condensatore di cattura e una esterna introdotta con i pin RA3/AN3I/REF+ e
RA2/AN2A/REF-.
+ Nella figura è rappresentato uno schema semplifi-
I r:tn doi rnllor^r:monti del COnveftitOre AD.
E a/ BUs TNTERNo DEr DAfl
i t'
8\ 8>. gt&;H,-{{F
tr# 5CTè #E {*# ii€ U g'$
È\$ fi
TETTURA
,À V scRrrruRA
F tr ffi.E& *".f, *q.€ ru fl ffi # SÉ Fq
q\
8\
Questo modulo chiamato NiSSP, integrato nei
PlCl6FB7X fornisce un eccellente mezzo di comunica-
srNcRoNrSMo zinnp rnn nli :ltri mirroconlroller o con le neriferiche
Dt ctocK
che lavorano in modo seriale. Ha due modi possibilì di
USCITA DEI
BIT DEI DATI € lavoro:
INGRESSO
DEI BIT DEI DATI p 1".
2" .
SPI (Serial Peripheral lnterface).
lzc (lnter-lntegrated C ircuit).
ffiffi
55 55
integrati diversi.
Fondamentalmente il modulo N1SSP è basato su due
registri: SSPSR, che e un registro di spostamento che
PIC MAsIER
trasporta l'informazione seriale in parallelo e viceversa,
e il registro SSPBUF, che funziona come buffer del-
l'informazione che si riceve o si trasmette in serie. Nella
sDo
sDl trasmissione il byte che si desidera inviare è caricato nel
5CK
SSPBUF e automaticamente viene spostato a SSPSR,
dove si sposta bit a bit, portandolo all'esterno al ritmo
Comunicazione seriale in modo SPI donli imnrrl<i di rlnrL
"-Y" "
tra un PIC Master e i due dispositivi che funzionano come slave
ln ricezione i bit entrano al ritmo del clock tramite
un pin del PIC e si spostano nel registro SSPSR sino al
suo riempimento, momento nel quale si trasferisce
l'informazione al SSPBUF
Nel modo SPI si utilizzano tre linee del PIC che fun-
ziona come Master nello schema della figura, mentre
nel modo l2C si utilizzano solo due linee per la comu-
nicazione del PIC master con i circuiti integrati che fun-
-== 5DA
zìonano come slave.
5Cr
l.1i';"i.i
f USART supporta la comunicazione seriale sincrona e
asincrona. Puo funzionare come un sistema di comuni-
Nelmodo l2C il Master cazione bidirezionale sincrono o full duplex, adattando-
=
comunica con tutti gli slave tramite due sole linee
si a una moltitudine di dispositivi che trasferiscono
informazroni in questo modo. Inoltre può lavorare nel
MODO ASINCRONO modo unidirezionale o half duplex. Riassumendo puo
Prcìót87x lavorare in tre modi.