Estratto del documento

Sistema per la gestione di un parcheggio

Gruppo: Tagnani, Dumbrava, Scaccia, Di Clemente

Indice 1.Parcheggio 6

1.1.Specifiche di progetto 6

1.2.Modalità di funzionamento 7

1.3.Schema a blocchi 7

1.4.Funzione svolta dai singoli blocchi 7

2.Microcontrollore PIC 16F876 9

2.1.Descrizione del dispositivo 9

2.2.Schema a blocchi 9

2.3.Descrizione dei segnali 9

2.4.Organizzazione della memoria11

2.4.1.Memoria programma..............................................................................................................11

2.4.2.Memoria dati..........................................................................................................................11

2.4.3.Registri speciali......................................................................................................................12

2.4.3.1.Registri PCL e STATUS..................................................................................................12

2.4.3.2.Registri TRIS_A, TRIS_B e TRIS_C.............................................................................13

2.4.3.3.Registri PORT_A, PORT_B e PORT_C.........................................................................13

2.4.3.4.Registri ADCON0 e ADCON1.......................................................................................13

2.5.Set d’istruzioni 13

2.5.1.Istruzioni di trasferimento dati...............................................................................................13

2.5.2.Istruzioni “byte oriented”.......................................................................................................14

2.5.3.Istruzioni “bit oriented”..........................................................................................................14

3.1.Generalità sui sistemi di sviluppo 16

3.2.Ambiente integrato MPLAB 16

3.2.1.Editing....................................................................................................................................16

3.2.2.Assembling.............................................................................................................................16

3.2.3.Simulazione e debug..............................................................................................................16

3.3.Programmazione 16

3.4.Esempio 16

3.4.1.Editing....................................................................................................................................16

3.4.2.Assembling.............................................................................................................................17

4.Scheda di prova 20

4.1.Funzione della scheda 20

4.2.Funzionamento 20

4.3.Schema elettrico 20

4.4.Software 21

4.4.1.Editing....................................................................................................................................21

4.4.2.Assembling.............................................................................................................................22

4.4.3.Programmazione del PIC.......................................................................................................22

4.5.Collaudo 22

5.1.Funzione del blocco 26

5.2.Richiami teorici 26

5.3.Funzionamento 27

5.4.Schema elettrico 27

5.5.Generazione del software di prova 28

5.5.1.Registrazione della voce.........................................................................................................28

5.5.2.Memorizzazione dei campioni in formato numerico.............................................................29

5.5.3.Trasporto dei campioni su foglio elettronico.........................................................................30

5.5.4.Trasformazione positiva dei campioni...................................................................................31

5.5.5.Adeguamento al range 0-255.................................................................................................32

2

5.5.6.Troncamento della parte decimale.........................................................................................33

5.5.7.Grafico di prova del foglio elettronico...................................................................................33

5.5.8. Programma in Basic..............................................................................................................34

5.6.Collaudo 34 6.Circuito di comando per motori 36

6.1.Funzione del blocco 36

6.2.Funzionamento 36

6.3.Schema elettrico 37

6.4.Descrizione dei componenti 37

6.4.1.Transistor TIP31C..................................................................................................................37

6.4.2.Transistor TIP32C..................................................................................................................38

6.5.Software di prova 38

6.5.1.Funzionamento del programma..............................................................................................38

6.5.2.Diagramma di flusso..............................................................................................................38

6.5.3.File di prova...........................................................................................................................39

6.6.Collaudo statico 39

6.7.Collaudo con PIC 39 7.Visualizzatore 41

7.1.Funzione del blocco 41

7.2.Funzionamento 41

7.3.Schema elettrico 42

7.4.Descrizione dei componenti 42

7.4.1.Circuito integrato 9368...........................................................................................................42

7.4.2.Display a 7 segmenti..............................................................................................................43

7.5.Software di prova 43

7.5.1.Funzionamento del programma..............................................................................................43

7.5.2.Diagramma di flusso..............................................................................................................44

7.5.3.File di prova...........................................................................................................................45

7.6.Collaudo 45 8.Tastiera 47

8.1.Funzione del blocco 47

8.2.Funzionamento 47

8.3.Schema elettrico 48

8.4.Software di prova 48

8.4.1.Funzionamento del programma..............................................................................................48

8.4.2.Diagramma di flusso..............................................................................................................48

8.4.3.File di prova con MPLAB......................................................................................................49

8.4.4.File di prova con MikroBasic.................................................................................................51

8.5.Collaudo 51 9.Semaforo 53

9.1.Funzione del blocco 53

9.2.Funzionamento 53

9.3.Schema elettrico 53

9.4.Software di prova 53

9.5.Collaudo 54 10.Schema elettrico definitivo55

11.Software di gestione 57

11.1.Descrizione del problema 57

11.2.Diagramma di flusso 57

11.3.Scrittura sorgente 57

11.4.Software definitivo 58

11.5.Assemblaggio 71 3

11.6.Programmazione del PIC 71

12.Collaudo definitivo 72

4

Capitolo 1°: Parcheggio

1.1. Specifiche di progetto ............................................................................................................... 6

1.2. Modalità di funzionamento ....................................................................................................... 7

1.3. Schema a blocchi ...................................................................................................................... 7

1.4. Funzione svolta dai singoli blocchi ........................................................................................... 7

5

1. Parcheggio

1.1. Specifiche di progetto

Si vuole realizzare una “scheda” di controllo, per parcheggio, realizzata mediante un PIC 16F876.

Il sistema è composto da:

 Un visualizzatore, da 0 a 99, indicante il numero di posti disponibili;

 Due pulsanti, che permettono di aprire le sbarre all’arrivo delle automobili, per accedere o

uscire dal parcheggio. Inoltre sono necessari per il conteggio dei posti auto;

 Due luci di colore rosso e verde, indicanti il momento opportuno per valicare la sbarra;

 Due motori che permettono il movimento delle sbarre;

 Un altoparlante, che permette di “colloquiare” con gli automobilisti.

LUCI

MOTORI

PULSANTI

P

I VISUALIZZATORI

C ALTOPARLANTE

6

1.2. Modalità di funzionamento

Il circuito permette, premendo il pulsante, di accedere al parcheggio, ma solo nella condizione che vi

siano dei posti liberi, quindi quando sul visualizzatore è indicato un numero diverso da 0. Nel caso in

cui i posti liberi siano esauriti il circuito non permette l’accesso ad altre auto; contemporaneamente il

pulsante d’ingresso è disabilitato. All’ingresso inoltre è presente un visualizzatore che indica il numero

dei posti disponibili. Sia all’accesso che all’uscita, il sistema riproduce un messaggio vocale.

1.3. Schema a blocchi

1.4. Funzione svolta dai singoli blocchi

Ogni singolo blocco svolge un compito fondamentale al fine del funzionamento dell’intero circuito:

 PIC (Peripheral Interface Controller): è il “cervello” del nostro circuito. Svolge tutte le

operazioni necessarie per eseguire il programma che comanderà tutti i processi;

 I porti: sono dei dispositivi necessari per l’interfaccia dei periferici di ingresso e uscita con il

microcontrollore. Sono distinguibili in: porti d’ingresso e di uscita, chiamati anche

rispettivamente buffer tristate e latch bufferizzati;

 Motori, luci e visualizzatori: sono tre periferici di uscita, che permettono l’apertura delle sbarre,

la possibilità di entrare o di uscire e la visualizzazione dei posti disponibili;

 Pulsanti: anche questo è un periferico, ma si differenzia dagli altri in quanto è di ingresso e

permette l’acquisizione dei dati (“comunica” al microcontrollore se qualcuno ha premuto i

pulsanti per l’accesso o l’uscita dal parcheggio);

 L’ altoparlante è in grado di riprodurre un messaggio vocale.

7

Capitolo 2°: Microcontrollore PIC 16F876

2.1. Descrizione del dispositivo ....................................................................................................... 9

2.2. Schema a blocchi

...................................................................................................................... 9

2.3. Descrizione dei segnali ............................................................................................................. 9

2.4. Organizzazione della memoria ................................................................................................ 11

2.4.1. Memoria programma ....................................................................................................... 11

2.4.2. Memoria dati

................................................................................................................... 11

2.4.3. Registri speciali ............................................................................................................... 12

2.4.3.1. Registri PCL e STATUS ....................................................................................... 12

2.4.3.2. Registri TRIS_A, TRIS_B e TRIS_C ................................................................. 13

2.4.3.3. Registri PORT_A, PORT_B e PORT_C ........................................................... 13

2.4.3.4. Registri ADCON0 e ADCON1 ............................................................................. 13

2.5. Set d’istruzioni ........................................................................................................................ 13

2.5.1. Istruzioni di trasferimento dati ........................................................................................ 13

2.5.2. Istruzioni “byte oriented” ................................................................................................ 14

2.5.3. Istruzioni “bit oriented” .................................................................................................. 14

8

2. Microcontrollore PIC 16F876

2.1. Descrizione del dispositivo

Il PIC 16F876 è un dispositivo che presenta le seguenti caratteristiche:

Memoria:

 una memoria destinata al programma da 8K (parola da 14 bit) di tipo FLASH

 EEPROM;

una memoria dati da 368byte (parola da 8 bit) di tipo RAM e 256byte di tipo EEPROM;

Clock: il microcontrollore può lavorare con segnali di clock aventi frequenze comprese 4MHz a

 20MHz;

Alimentazione: singola compresa tra 2,0V e 5,5V con un assorbimento di correte di appena

 1μA in standby e quasi 2mA ad una frequenza del clock pari a 4MHZ con un'alimentazione di

5V;

Periferiche di I/O: possiede un totale di 22 linee dedicate ad operazioni di input/output distinte

 in tre porti: RA (6 linee), RB (8 linee), RC (8 linee). Ciascuna linea di un porto può essere

configurata come input o output;

Set di istruzioni: 35 scritte in linguaggio assembly.

2.2. Schema a blocchi

MEMORIA PER IL PROGRAMMA

MEMORIA PER I DATI

CLOCK PORTI di

I/O

CPU

In figura è rappresentata la struttura interna di un microcontrollore PIC 16F876.

2.3. Descrizione dei segnali

L’integrato è provvisto di 28 linee:

 Tre per l’alimentazione, una linea per Vdd e due per Vss (massa);

 Sei (RA0 a RA5), del PORT_A. Ogni linea può essere programmata in modo indipendente

come input o output. La RA4 può essere utilizzata anche come ingresso del clock esterno. Se

il bit del registro TRIS_A si trova al livello logico alto allora la linea corrispondente del porto è

d’ingresso, invece se si trova al livello logico basso la linea è d’uscita.

 Otto (RB0 a RB7), del PORT_B. È possibile, via software, collegare alle linee di uscita un

debole carico di pull-up interno. La linea RB0 è utilizzata anche come ingresso per segnali

d’interrupt esterni. Le linee da RB4 a RB7, programmate come ingressi, possono generare un

interrupt. I pull-up interni possono essere utilizzati per mantenere al livello logico alto le linee

del PORT_B quando sono usate come ingressi. Se i bit del registro TRIS_B si trovano al

9

livello logico alto allora il porto è d’ingresso, invece se si trovano al livello logico basso il porto

è d’uscita.

 Otto (RC0 a RC7), del PORT_C. Se i bit del registro TRIS_C si trovano al livello logico alto

allora il porto è d’ingresso, invece se si trovano al livello logico basso il porto è d’uscita.

 Una di reset MCLR, attiva al livello basso. In condizioni normali di funzionamento deve essere

posta a livello logico alto collegandola con un resistore di pull-up a Vdd. È opportuno non

collegare direttamente a massa la linea per il reset.

 Due di OSC1/CLKIN e OSC2/CLKOUT, per il collegamento con l’oscillatore esterno.

Nella tabella sottostante sono descritti i principali segnali del dispositivo. Si tenga presente che molti

dei pin svolgono più di una funzione.

PIN FUNZIONE DESCRIZIONE

1 MCLR Vpp Reset - ingresso per la tensione di programmazione

2 RA0 AN0 I/0 digitale Port A - ingresso canale 0 analogico

3 RA1 AN1 I/0 digitale Port A - ingresso canale 1 analogico

4 RA2 AN2 Vref- I/0 digitale Port A - ingresso canale 2 analogico

5 RA3 AN3 Vref+ I/0 digitale Port A - ingresso canale 3 analogico

6 RA4 T0CKI I/0 digitale Port A - ingresso clock TMRO

7 RA5 AN4 SS I/0 digitale Port A - ingresso canale 4 analogico

8 Vss GND

9 OSC1 CLKIN Ingresso oscillatore a cristallo - ingresso clock esterno

10 OSC2 CLKOUT Uscita oscillatore a cristallo - uscita clock (1/4 f req. di OSC1)

11 RC0 T1CKI T1OSO I/0 digitale Port C - ingresso clockTMR1 - out oscill. TMR1

12 RC1 CCP2 T1OSI I/0 digitale Port C - input Capture 2 - input oscill. TMR1

13 RC2 CCP1 I/0 digitale Port C- input Capture 1

14 RC3 SCK SCL I/0 digitale Port C

15 RC4 SDI SDA I/0 digitale Port C

16 RC5 SDO I/0 digitale Port C

17 RC6 TX CK I/0 digitale Port C - Tx per trasmiss. Asincrona - clock sincrona

18 RC7 RX DT I/0 digitale Port C - Rx per ricezione Asincrona - dati sincrona

19 Vss GND

20 Vdd Positivo alimentazione

21 RB0 INT I/0 digitale Port B - ingresso interrupt

22 RB1 I/0 digitale Port B

23 RB2 I/0 digitale Port B

24 RB3 PGM I/0 digitale Port B - ingresso per la programmazione

25 RB4 I/0 digitale Port B

26 RB5 I/0 digitale Port B

27 RB6 PGC I/0 digitale Port B - clock per programmazione seriale

28 RB7 PGD I/0 digitale Port B - dati per programmazione seriale

10

2.4. Organizzazione della memoria

La struttura interna della memoria, è costituita principalmente da due blocchi:

MEMORIA PROGRAMMA

FLASH EEPROM

8K

MEMORIA DATI

RAM

368Bytes

registri

funzioni

speciali

32Bytes

registri di uso

generale

EEPROM 96bytes

256Bytes 80bytes

80bytes

80bytes

2.4.1. Memoria programma

La memoria programma del PIC 16F876 è di 8K x 14bit ed è di tipo FLASH EEPROM. Per mezzo di

un idoneo programmatore le locazioni della memoria possono essere cancellate con segnali elettrici e

quindi essere nuovamente scritte. La cancellazione può riguardare una singola locazione o più

locazioni. Ciascuna locazione è distinta da un indirizzo, normalmente espresso in esadecimale, a

partire da 0000 fino a 1FFF . All’avvio il program counter che ha 13 bit punta alla locazione con

h h

indirizzo 0000 (locazione di reset) e per questo motivo tale locazione deve contenere il primo codice

h

del programma, invece dopo un’istruzione interrupt il program counter punta alla locazione con

indirizzo 0004 .

h

2.4.2. Memoria dati

La memoria dati è suddivisa in due sezioni distinte:

 Memoria di tipo EEPROM, con estensione di 256 locazioni di un byte ciascuna

 Memoria di tipo RAM da 368 locazioni di 8bit che possono essere suddivisi in quattro banchi:

 primo banco con indirizzamento 00 – 7F di cui le locazioni 00 – 1F sono riservate ai

h h h h

registi speciali que

Anteprima
Vedrai una selezione di 16 pagine su 72
Sistema per la gestione di un parcheggio Pag. 1 Sistema per la gestione di un parcheggio Pag. 2
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 6
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 11
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 16
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 21
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 26
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 31
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 36
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 41
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 46
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 51
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 56
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 61
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 66
Anteprima di 16 pagg. su 72.
Scarica il documento per vederlo tutto.
Sistema per la gestione di un parcheggio Pag. 71
1 su 72
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi