39
PICBOARD GERY BINAME 1 di 39 Piastra Picboard1 Figura 1

PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

1 di 39

Piastra Picboard1

Figura 1

Page 2: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

2 di 39

1 Introduzione 3

1.1 Scopo del lavoro....................................................................................................3 1.2 Linee generali seguite durante il lavoro .................................................................3 1.3 Ricerche effettuate ................................................................................................3

2 Descrizione generale della piastra 4 3 Approfondimento del materiale 5

3.1 Display 4X20 .........................................................................................................5 3.2 DS18B20 ...............................................................................................................6 3.3 DS1302 .................................................................................................................9 3.4 DS1621 ...............................................................................................................10 3.5 Microcontrollori ....................................................................................................11

3.5.1 PIC 12C509A ...............................................................................................11 3.5.2 PIC 12F629 ..................................................................................................11 3.5.3 PIC 16F84A..................................................................................................12 3.5.4 PIC 16F876 ..................................................................................................12 3.5.5 PIC 16F874 ..................................................................................................13 3.5.6 PIC 16F877 ..................................................................................................14 3.5.7 Riassunto delle principali caratteristiche ......................................................14

3.6 Tastiera ...............................................................................................................15 3.7 Layout prese........................................................................................................15 3.8 Zoccoli ZIF...........................................................................................................17 3.9 Piastra .................................................................................................................17 3.10 Scelte effettuate...................................................................................................18 3.11 Compilatore per 12C5XX.....................................................................................18 3.12 Lista pezzi ...........................................................................................................19

4 Programmi realizzati 20 4.1 PROG 12C509A..................................................................................................20

4.1.1 COD509A.ASM ............................................................................................20 4.2 PROG 16F84.......................................................................................................21

4.2.1 OROL84.C....................................................................................................21 4.2.2 DIS84.C........................................................................................................21 4.2.3 DEC84.C ......................................................................................................22

4.3 PROG16F873-876...............................................................................................23 4.3.1 DIS876.C......................................................................................................23

4.4 PROG16F874-877...............................................................................................24 4.4.1 DIS874.C......................................................................................................24 4.4.2 ORO877.C....................................................................................................28 4.4.3 SCR877.C ....................................................................................................29 4.4.4 ROM877.C ...................................................................................................30 4.4.5 TEMP877.C..................................................................................................31

5 Schemi 31 5.1 Schema PIC Board1-A ........................................................................................32 5.2 Schema PIC Board1-B ........................................................................................33 5.3 Schema PIC 16F874/877 ....................................................................................34 5.4 Schema PIC 16F873/876 ....................................................................................35 5.5 Schema PIC12C509/F629 16F84A .....................................................................36

6 Sviluppi futuri 37 7 Siti internet visitati. 38

8 Supporto informatico 38 9 CD 39

Page 3: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

3 di 39

1 Introduzione

1.1 Scopo del lavoro Durante la seconda SSST si è potuto conoscere il mondo della programmazione dei microcontrollore, capire il loro funzionamento, il loro utilizzo e le loro capacità. In oltre si è appreso due tipi di linguaggio di programmazione il linguaggio assembler e il linguaggio c. I lavori di semestre e di diploma sono stati realizzati con la piastra LAB-X1, una piastra interessante pero limitata in certi versi e assai cara. La piastra LAB-X1 offre diverse possibilità la RS-232, l’I2C, l’RS-485, un bel display chiaro di 2 righe di 20 caratteri però è limitata a pochi tipi di microcontrollori e non offre la possibilità di eseguire delle modifiche. Si è quindi cercato di realizzare una piastra con un display di 4 righe di 20 caratteri, con l`RS-232, la possibilità di usare diversi microcontrollori, di avere le stesse caratteristiche della piastra LBA-X1 e che abbia la possibilità di uscire su una seconda piastra con tutte le entrate e uscite dei microcontrollori mediante delle prese montate sulla piastra. Nella si può vedere come si presenta la piastra, come sono disposti i vari componenti.

1.2 Linee generali seguite durante il lavoro Per realizzare la piastra PICboard1 si da prima realizzato uno schema con il programma protel. Si è studiato la possibilità di realizzare la piastra su circuito stampato in due facce o di realizzarla in wirewrap. In seguito una distinta dei pezzi da comandare, si è realizzato una prima piastra con Wire Wrap. In fine si sono realizzati diversi programmi per provare i vari dispositivi.

1.3 Ricerche effettuate Su internet si sono cercati i vari data sheet dei componenti usati i microcontrollori, sonde di temperatura DS18B20 DS1621, RTC DS1302. Si è poi eseguito una ricerca per i vari programmi, routine esistenti. Su internet si sono cercati dei zoccoli ZIF perché dal MEL si poteva ricevere solo zoccoli della marca TEXTOOL che non erano adatti a essere montati su un normale zoccolo per integrati. Il programmatore PICSTART PLUS monta uno zoccolo ZIF della marca ARIES, quindi si è cercato la possibilità di comandare in Svizzera.

Page 4: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

4 di 39

2 Descrizione generale della piastra

Figura 2

La Figura 2 mostra la disposizione dei vari pezzi. Si Può notare in alto a sinistra il display, a destra il potenziometro per regolare il contrasto, segue l’interruttore generale con sotto un LED che segnala il funzionamento. In alto a destra si trova la tastiera, composta da un tasto per il reset dei microcontrollori, ne sono tutti collegati tranne il 12C509, poi la tastiera per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto la tastiera si può trovare la batteria, l’altoparlante, la presa RS232 con il suo relativo circuito, la presa per collegare l’alimentatore separato. In basso a sinistra sono posti i microcontrollori, a destra i tre potenziometri collegati al PIC16F874/877 tramite i tre jumper, poi i vari DS1203,1621,18B20 e in fine tre prese per uscire da la piastra. Sono tre prese dove un pin è collegato al PIC16F874/877, un a +5V e l’altro a massa. Sul bordo sinistro e in basso si possono vedere le quattro prese che permettono di uscire da la piastra con tutti i pin dei rispettivi microcontrollori e in più un +5V e la massa.

Page 5: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

5 di 39

3 Approfondimento del materiale

3.1 Display 4X20 Il display scelto è composto da 4 righe di 20 caratteri, questo display è stato scelto per aver una maggiore quantità di informazione da visualizzare. In oltre questo display è stato scelto retro illuminato. Indirizzi di locazione della RAM La Tabella 1 è servita capire come spedire i caratteri al display e quindi il cambio di riga. In oltre a permesso di realizzare il programma DIS874.C. Nella Tabella 16 si può vedere al cambio di linea come si richiama la locazione del carattere nella RAM. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 80 81 82 83 84 85 86 87 88 89 8a 8B 8C 8D 8E 8F 90 91 92 93 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D341 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A761 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7

Tabella 1

In verde si trova la locazione fisica del carattere sul display In giallo si trova la locazione fisica del carattere nella RAM del display

Page 6: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

6 di 39

3.2 DS18B20 Il DS18B20 è un sensore di temperatura la sua gamma di temperatura è da –55 a +125°C con un incremento di 1/16°C. Per capire il suo funzionamento si è dovuto scaricare da internet il suo data sheet. Esistono diversi tipi di sensori di temperatura di questo tipo, DS1820, DS18S20, DS1920, si possono trovare della forma TO-92, a SMD 8-PIN o 6 PIN. Il loro funzionamento è basato sullo stesso principio dei TOUCH 1-Wire. Il DS18B20 può essere anche usato come termostato, contiene nella scratchpad una soglia di temperatura alta e una bassa, può essere usato anche su una normale micro LAN, con più sensori di temperatura dello stesso tipo. Un DS18B20 a un sua propria famiglia, un proprio numero ID e CRC contenuti nella sua memoria ROM.

Figura 3

Dettaglio della ROM e della Scratchpad

ROM Scratchpad 8 bit family code xxxxxxxx 8 bit Temperature LSB 23222120 2-12-22-32-4

8 bit serial number LSB xxxxxxxx 8 bit Temperature MSB SSSSS 262524

8 bit serial number xxxxxxxx 8 bit TH thermostat XXXXXXXX 8 bit serial number xxxxxxxx 8 bit TL thermostat XXXXXXXX 8 bit serial number xxxxxxxx 8 bit Config XRRXXXXX 8 bit serial number xxxxxxxx 8 bit reserved 8 bit serial number MSB xxxxxxxx 8 bit reserved 8 bit CRC ROM xxxxxxxx 8 bit reserved 8 bit CRC Scratchpad XXXXXXXX

Tabella 2

Page 7: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

7 di 39

Esiste due possibilità di lettura della temperatura la prima possibilità è passando direttamente attraverso la scratchpad e la seconda possibilità è passando prima da una funzione ROM ( match ROM ) e poi da la scratchpad. La seconda possibilità è sicuramente più onerosa pero permette di leggere più elementi contenuti sulla medesima rete micro LAN. Descrizione generale del funzionamento. Per leggere la temperatura di questi sensori bisogna da prima eseguire la configurazione. Il DS18B20 può essere configurato con una risoluzione a 9, 10, 11, 12 bit, una risoluzione maggiore implica un tempo maggiore di conversione. La configurazione desiderata viene scritta nel registro config tramite il bit 5 e 6 che si trovano al 4° byte della scratchpad.

Config register Tempo di conversione X00XXXX 9 bit 93.75 ms X01XXXX 10 bit 187.5 ms X10XXXX11 bit 375 ms X11XXXX 12 bit 750 ms

Tabella 3

Descrizione del funzionamento della prima possibilità Per questo tipo di funzionamento non occorre particolari accorgimenti se non la configurazione e l’impostazione della temperatura minima e massima se viene usato il termostato. Il programma SCR877.C descritto al paragrafo 4.4.3 usa questo sistema. Nella routine principale MAIN viene chiamata la funzione Tem_init(), dove vengono scritte nella sonda di temperatura le impostazioni. Nella funzione Tem_init() viene scritto una TH temperatura alta nel 3° byte, una TL temperatura bassa nel 4° byte e la configurazione a 12 bit nel 5° byte della memoria scratchpad, poi si rientra nel MAIN. Quando viene richiesta la temperatura, si esegue il commando Skip Rom Command scrivendo il valore 0XCC nella sonda, in seguito il valore 0X44 che significa Convert T viene scritto nella sonda, poi bisogna eseguire una pausa, il tempo che occorre per la conversione dipende da la risoluzione richiesta. Una volta eseguita la pausa di conversione, si può leggere la temperatura. Si esegue il commando Skip Rom Command scrivendo il valore 0XCC nella sonda, in seguito il valore 0XBE che significa Read Scratchpad viene scritto nella sonda, si devono leggere tutti byte della scratchpad, la temperatura viene data dai due primi byte.

Page 8: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

8 di 39

Descrizione del funzionamento della seconda possibilità Per questo tipo di funzionamento occorre in più alle impostazioni conoscere la family a 8 bit, il numero ID a 48 bit e il CRC a 8 bit della memoria ROM perché vengono scritte al momento della richiesta della temperatura. Quando viene richiesta la temperatura, si esegue il commando Match Rom Command scrivendo il valore 0X55 nella sonda, poi bisogna spedire la family, il numero ID e il CRC della ROM. Quando si spedisce la family il numero ID e il CRC, la funzione Match Rom paragona i valori spediti con i valori esistenti nella memoria ROM, se i valori corrispondono la sonda può continuare, se non corrispondono la sonda si blocca. Questo paragone viene eseguito per determinare quale sonda dovrà eseguire la conversione di temperatura nel caso in cui esistono più sonde sulla medesima linea 1-Wire. In seguito il valore 0X44 che significa Convert T viene scritto nella sonda, poi bisogna eseguire una pausa, il tempo che occorre per la conversione dipende da la risoluzione richiesta. Una volta eseguita la pausa di conversione, si deve spedire di nuovo il commando Match Rom Command scrivendo il valore 0X55 nella sonda, quindi spedire la family, il numero ID e il CRC della ROM. La family, il numero ID e il CRC della ROM vengono nuovamente paragonate e se corrispondo la sonda può continuare se no la sonda si blocca. Questo commando viene dato per poter far eseguire conversioni da più sonde nel medesimo tempo. in seguito il valore 0XBE che significa Read Scratchpad viene scritto nella sonda, si devono leggere tutti byte della scratchpad, la temperatura viene data dai due primi byte.

Page 9: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

9 di 39

3.3 DS1302 Il DS13023 è un REAL TIME CLOCK funziona come un conta secondi, e conta i secondi a partire dal 1/1/1970 ore 00:00:00 in forma esadecimale. Il suo funzionamento è solo un incremento continuo di cinque locazioni di memorie che ciclicamente vengono incrementate. Non possiede una batteria interna che garantisce il proprio funzionamento e quindi deve essere alimentato esternamente, come pure non ha un circuito oscillante e quindi bisogna prevedere un quarzo di 32,768Khz. Nella Tabella 4 si può vedere dove e come sono disposti i vari BYTES che vengono incrementati.

CONTENUTO ESADECIMALE ADD WRITE ADD READ CONTENUTOX X X X X X X X 80H 81H SEC X X X X X X X X 82H 83H MIN X X X X X X X X 84H 85H HOUR X X X X X X X X 86H 87H DAY X X X X X X X X 88H 89H MONTH X X X X X X X X 8aH 8bH DOW X X X X X X X X 8cH 8dH YEAR

Tabella 4

Per poter utilizzare questo componente bisogna scrivere al suo interno tutti i valori nelle varie celle, per la lettura si dovrà prendere il dato in altre celle come è descritto. Il significato della parola DOW è DAY OF WEEK. La Figura 4 mostra la piedinatura

Figura 4

Page 10: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

10 di 39

3.4 DS1621 Il DS1621 è una sonda di temperatura la sua gamma di temperatura è da –55 a +125°C con mezzo grado di incremento. Il DS1621 usa il bus I2C per la trasmissione dei dati 2-Wire.

Figura 5

Questo componente è stato messo sulla piastra pero non è ancora stato provato quindi non si trova un programma per questo DS1621.

Page 11: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

11 di 39

3.5 Microcontrollori Sono stati previsti 6 tipi diversi di microcontrollori 2 della serie 8 pin, 1 della serie 18 pin, 1 della serie 28 pin e 2 della serie 40 pin per maggiore versatilità. Nei seguenti 6 punti possiamo vedere le principali caratteristiche dei 6 microcontrollori.

3.5.1 PIC 12C509A Il PIC12C509A Figura 6 fa parte della famiglia degli 8 pin della Microchip, vediamo le sue principali caratteristiche. Si tratta di un microcontrollore OTP, con 5 uscite o 6 entrate, si può settare un oscillatore interno di tipo RC a 4 Mhz. Il PIC12C509 è un microcontrollore a 12 bit di bus programm, quindi per la programmazione bisognerà trovare un compilatore diverso o programmare in assembler. La memoria rom per il programma è di 1024X12 bit e 1 banko.

Figura 6

3.5.2 PIC 12F629 Il PIC12F629 Figura 7 è un simile al PIC12C509 pero ha un bus programm di 14 bit, è di tipo flash. Possiede la stessa piedinatura del 12C509 e in più esiste il bus I2C. Questo microcontrollore è una novità al momento della stesura di questo rapporto, è possibile che con il compilatore della CCS lo si possa programmare, è da provare. La memoria flash per il programma è di 1K words e 2 banki.

Figura 7

Page 12: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

12 di 39

3.5.3 PIC 16F84A Il PIC16F84A Figura 8 fa parte della famiglia degli 18 pin della Microchip, vediamo le sue principali caratteristiche. La frequenza di lavoro da 4 a 20 Mhz, esiste anche con 20 pin la differenza è che ci sono due entrate per il positivo e due entrate per il negativo. E provvisto di 13 input/output di 1 timer interno. La memoria flash per il programma è di 1K words e 2 banki.

Figura 8

3.5.4 PIC 16F876 Il PIC16F876 fa parte della famiglia degli 28 pin della Microchip, vediamo le sue principali caratteristiche. La memoria flash per il programma è di 8K words, il bus programm è di 14 bit, possiede 3 timer, 5 entrate analogiche-digitali, 22 input-output, 2 moduli PWM, una frequenza di lavoro massima di 20 Mhz e 4 banki.

Figura 9

Page 13: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

13 di 39

3.5.5 PIC 16F874 Il PIC16F874 fa parte della famiglia degli 40 pin della Microchip, vediamo le sue principali caratteristiche. La memoria flash per il programma è di 4K words, il bus programm è di 14 bit, possiede 3 timer, 8 entrate analogiche-digitali, 33 input-output, 2 moduli PWM, una frequenza di lavoro massima di 20 Mhz e 4 banki.

Figura 10

Page 14: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

14 di 39

3.5.6 PIC 16F877 Il PIC16F877 fa parte della famiglia degli 40 pin della Microchip, vediamo le sue principali caratteristiche. La memoria flash per il programma è di 8K words, il bus programm è di 14 bit, possiede 3 timer, 8 entrate analogiche-digitali, 33 input-output, 2 moduli PWM, una frequenza di lavoro massima di 20 Mhz e 4 banki.

Figura 11

3.5.7 Riassunto delle principali caratteristiche 12C509A 12F629 16F84A 16F874 16F876 16F877 INPUT 6 6 13 33 22 33 OUTPUT 5 5 13 33 22 33 INPUT AD -- -- -- 8 5 8 I/O PORTS G G A,B A,B,C,D,E A,B,C A,B,C,D,E TIMER 1 1 1 3 3 3 MEM ROM 1024X12 -- -- -- -- -- MEM RAM 41 64 BYTES 68 BYTES 192 BYTES 368 BYTES 368 BYTES MEM FLASH -- 1 K WORD 1K WORD 4K WORD 8K WORD 8K WORD MEM EEPROM -- 128 BYTES 64 BYTES 128 BYTES 256 BYTES 256 BYTES BANK 1 2 2 4 4 4 INSTRUCTION 33 35 35 35 35 35 CLOCK IN / EXT IN / EXT EXT EXT EXT EXT FREQUENCY 4 Mhz 4 Mhz 20 Mhz 20 Mhz 20 Mhz 20 Mhz BUS PROGRAM 12 14 14 14 14 14

Tabella 5

Per più dettagli si deve riferirsi ai documenti pdf.

Page 15: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

15 di 39

3.6 Tastiera La tastiera è divisa in tre parti un pulsante di reset per tutti microcontrollori 5 pulsanti per il microcontrollore PIC16F84 e una tastiera a matrice 4X4 per i microcontrollori PIC16F874 e PIC16F876. La tastiera è montata sua piastra veroboard e è collegata a la piastra principale tramite due cavi con le loro spine. La tastiera doveva poter essere tolta perché sotto di essa sono montati diversi componenti come l’altoparlante, la batteria per il RTC, la presa RS-232, il stabilizzatore di tensione. La Tabella 6 mostra come sono disposti i vari tasti, R sta per RESET, A0, A1, A2, A3, A4, sono i tasti collegati al PIC16F84. La matrice 4X4 è collegata al PIC16F874 e al PIC16F876

R A4 A3 A2 A1 A0

1 2 3 A 4 5 6 B 7 8 9 C # 0 * D

Tabella 6

3.7 Layout prese La piastra PICboard1 e provvista di 4 prese per le entrate e le uscite dei microcontrollori, di una presa per il display, di due prese per la tastiera. Le prese per i microcontrollori sono tutte munite di alimentazione +5V e GND, questo per facilitare l’uso di altri circuiti. Layout prese piastra Pic board. Presa 40 poli pic 16F874 CON 36 A0 A1 A2 A3 A4 A5 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C51 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 NC GND +5 NC NC NC NC

Tabella 7

Presa 26 poli pic 16F876

A0 A1 A2 A3 A4 A5 B0 B1 B2 B3 B4 B5 B6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 B7 C0 C1 C2 C3 C4 C5 C6 C7 GND +5 NC NC

Tabella 8

Page 16: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

16 di 39

Presa 16 poli pic 16F84

A0 A1 A2 A3 A4 B0 B1 B2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16B3 B4 B5 B6 B7 GND +5 NC

Tabella 9

Presa 10 poli pic 12F508

G0 G1 G2 G3 G41 2 3 4 5 6 7 8 9 10

G5 GND +5 NC NC

Tabella 10

Presa 14 poli LCD

DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 E R/W RS con +5 GND 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Tabella 11

Prese 2 x 8 tastiera

A0 1 8 COL 4 A1 2 7 COL 3 A2 3 6 COL 2 A3 4 5 COL 1 A4 5 4 ROW 4

RESET 6 3 ROW 3 GND 7 2 ROW 2 +5 8

1 ROW 1

Tabella 12

Page 17: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

17 di 39

3.8 Zoccoli ZIF Per introdurre i microcontrollori sulla piastra si è pensato di usare dei zoccoli ZIF. Il significato di ZIF, è Zero Insertion Force, forza d’introduzione zero e quindi senza sforzo per non piegare o rovinare i piedini dei microcontrollori. Nella comanda effettuata dal MEL Tabella 14 sono stati previsti tre zoccoli ZIF, 1 da 18 pin, 1 da 28 pin e 1da 40 pin. Il zoccoli sono arrivati, pero sono da montare direttamente su piastra da saldare o da Wrappare e non si possono montare su normali zoccoli da integrato. Il problema stava al momento di usarli, ci si è resi conto che non potevano essere adoperati perché la piastra era gia montata con i zoccoli da Wrap. quindi sono stati ritornati al MEL, e si cercato una nuova soluzione. Il programmatore Picstart Plus è provvisto di zoccolo ZIF, quindi si è smontato per vedere di che marca è. Il zoccolo ZIF del Picstart Plus è un zoccolo ARIES, e dopo una piccola ricerca su internet si è trovato dove si possono ordinare. Nel supporto informatico, cartella Data Sheet, si trovano diversi .pdf di zoccoli della marca ARIES. I zoccoli ARIES si possono montare su normali zoccoli da integrato. La casa ARIES non produce uno zoccolo ZIF a 18 pin, e quindi per il PIC16F84 il problema rimane. Le ditte dove si possono ordinare questi zoccoli sono tre.

DITTA PAESE CANTONE CONTATO TEL ADMATEC AG Magenwill Argovia Sig. Barac 062 / 896 00 48

BINDEL AG Lyss Berna 032 / 384 35 80 SIBALCO Basilea Basilea Sig. Kuno 061 / 264 10 10

Tabella 13

E quindi stato richiesto a la ditta ADMATEC il tempo di fornitura il prezzo di questi zoccoli e se potevano trovare dei zoccoli per 18 pin.

3.9 Piastra Per eseguire la piastra si è cercato dove si possono far realizzare, quindi i costi, le modalità, i tempi di realizzazione. La ditta DB-Electronic costruisce questo tipo di piastra e tramite E-Mail hanno spedito un formulario in base al quale si possono realizzare. Il formulario sotto forma di pdf, si trova nel supporto informatico nella cartella Piastra Rame. La ditta DB-Elektronic a fornito gratuitamente, una guida tecnica per lo sviluppo di circuiti stampati, un blocco di formulari e una pubblicità con le offerte più vantaggiose. L’offerta chiamata One-Shot, quindi 1 pezzo, da documento informatico ( Protel, Orcad, Gerber, Eagle), con doppia o semplice superficie, materiale FR4, 1,5mm di spessore, contorno fresato, con o senza vernice, senza serigrafia a un costo di 89,-- / dm2 La superficie della piastra finita è di circa 4 dm2 e è quindi realizzabile per un importo di 356.--. Per facilità la piastra è comunque stata realizzata con il Wire Wrap.

Page 18: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

18 di 39

3.10 Scelte effettuate Le scelte effettuate sono molte per esempio le prese per uscire su un’altra piastra, il display, i microcontrollori. I microcontrollori sono collegati tra di loro con punti in comune, per esempio il display, l’altoparlante, le tastiere, la presa RS232. Tuttavia per realizzare un programma e quindi un’applicazione sarà utile guardare attentamente lo schema.

3.11 Compilatore per 12C5XX Il compilatore della CCS-C non permette di compilare un programma per il PIC12C5XX. Si può compilare un programma per i PIC14000, 16F84, 16F87X e altri ancora, per sapere quali si possono compilare basta guardare il Program Bus. Il compilatore della CCS-C permette di compilare solo programmi per PIC con 14 bit di Program Bus. Il PIC12C5XX ha un program Bus di 12 Bit, quindi per realizzare un programma bisogna comperare il compilatore o realizzarlo con l’assembler.

Page 19: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

19 di 39

3.12 Lista pezzi Lista pezzi PIC-board.

DESCRIZIONE N° MEL N° ADMATEC QUANTITA PREZZO UNITARIO

PREZZO TOTALE

ZOCCOLO 18 PIN ZIF 1 ZOCCOLO 28 PINZIF 28-3551-11 1 26.00 26.00 ZOCCOLO 40 PINZIF 40-3551-11 1 33.50 33.50 ZOCCOLI WIRE-WRAP 8PIN 72.0042 4 1.40 5.60 DISPLAY 4X20 LCD LC2045-LNA-SRDY 41.9819 1 100.00 100.00 TASTI NERI 73.0251 22 1.20 26.40 POTENZIOMETRI 55.0576 3 1.00 3.00 POTENZIOMETRO 55.0577 1 0.90 0.90 ASSE POT 55.0546 4 0.70 2.80 TOTALE INTERMEDIO 198.20 PRESA D-SUB 90° RS232 71.20291 1 2.60 2.60 PRESA 2X5P 90° 71.2220 1 1.20 1.20 PRESA 2X8P 90° 71.2222 1 2.40 2.40 PRESA 2X13P 90° 71.2224 1 3.30 3.30 PRESA 2X20P 90° 71.2226 1 4.20 4.20 PRESA 1X36P 0° 71.3011 1 2.10 2.10 PERSA CHASSIS DC 71.1216 1 1.20 1.20 SPINA 1x3 71.4653 3 0.50 1.50 CONTATI 1X3 71.4659 9 0.20 1.80 SPINA 2X5 71.2250 1 1.40 1.40 ANTISTRAPO2X5 71.22501 1 0.20 0.20 SPINA 2X8 71.2252 1 1.50 1.50 ANTISTRAPO2X8 71.22521 1 0.30 0.30 SPINA 2X13 71.2254 1 2.20 2.20 ANTISTRAPO2X13 71.22541 1 0.50 0.50 PRESA 2X20 71.2256 1 3.80 3.80 ANTISTRAPO2X20 71.22561 1 0.40 0.40 TOTALE INTERMEDIO 30.60 XTAL NTF-3238-E QUARTZO 32.768 Khz 81.0411 1 1.00 1.00 XTAL NYP-040-20 QUARTZO 4MHZ 81.0316 1 2.50 2.50 XTAL NMP-200 QUARTZO 20Mhz 81.0352 2 2.90 5.80 MAX 232 CPE 1 4.00 4.00 DS 1302 RTC 1 8.00 8.00 DS 1621 SONDA DI TEMPERATURA 2-WIRE 1 9.80 9.80 DS 18B20 SONDA DI TEMPERATURA 1-WIRE 1 9.90 9.90 TOTALE INTERMEDIO 41 R 100 K 52.11004 1 0.10 0.10 R 6.8 K 52.16802 5 0.10 0.50 R 4.7 K 52.14702 3 0.10 0.30 R 1K 52.11002 1 0.10 0.10 R 270 52.12704 4 0.10 0.40 R 100 52.11001 1 0.10 0.10 C 10 nF 62.9028 4 0.40 1.60 C 22 pF 61.1228 6 0.20 1.20 C 1uF 63.0108.100G 4 0.20 0.80 C 10 uF 63.0109.100G 1 0.20 0.20 TOTALE INTERMEDIO 5.30 DOUBLE EUROPA 87.0031 1 37.00 37.00 ENTRETOISES M3 79.1008 14 0.55 7.70 BATTERIA 3.6V 93.1010 1 18.50 18.50 HP KSS-3108 91.4221 4.50 4.50 REG L7805CV 1.40 1.40 1N4148 2 0.10 0.20 RADDIATORE 7805 86.0117 1 1.50 1.50 SPECIALI PORTO ADMATEC 21.00 21.00 TOTALE INTERMEDIO 91.80 TOTALE 366.60

Tabella 14

Page 20: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

20 di 39

4 Programmi realizzati Sono stati realizzati alcuni programmi per provare i vari microcontrollori e le loro periferiche questi programmi sono divisi in quattro parti PROG 12C509A, PROG16F84, PROG16F873-876 e 16F874-877 per i loro rispettivi microcontrollore. I programmi sono stati realizzati a ogni collegamento nuovo sulla piastra per provare i collegamenti. Il nome del programma definisce cosa è stato provato, con quale micro è stato realizzato e in quale linguaggio.

4.1 PROG 12C509A Per provare il PIC12C509A si è fatto un programma.

4.1.1 COD509A.ASM Il programma COD509A.ASM è stato realizzato per provare il PIC12C509A, si tratta di un microcontrollore della serie 8 pin del tipo 12 bit wide instructions. Il programma è stato realizzato in assembler perché il compilatore della CCS non permette di compilare programmi per la serie 12 bit. Quindi è stato realizzato da prima per il PIC 16F84A perché è di tipo flash e non OTP e poi è stato modificato. Una volta testato il programma sul PIC16F84A, si è dovuto modificare e impostare i giusti parametri per trasferire il programma sul PIC12C509A. Il PIC12C509A è di tipo OTP che significa One Time Programmation, non permette di essere programmato più volte.

Page 21: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

21 di 39

4.2 PROG 16F84 Questi programmi sono stati realizzati a fine di provare lo zoccolo zip a 18 PIN della piastra e le sue applicazioni.

4.2.1 OROL84.C Il programma OROL84.C e un programma che è stato preso dal 3° lavoro di semestre e quindi modificato per funzionare sulla piastra PICboard1. Questo programma funziona su una sola riga del display.

4.2.2 DIS84.C Il programma DIS84.C è il programma OROL84.C e quindi l’orologio con l’interruzione, modificato per funzionare su le quattro righe del display Figura 12. In oltre è stato immesso anche la funzione TONI_OK che genera un bip sonoro a ogni secondo. Per il bip sonoro è stato usato il pin RBO non utilizzato dal display. Le modifiche apportate per il display sono state fate con la base del programma DIS874.C, quindi per conoscere le modifiche suggeriamo di guardare quest’ultimo.

Figura 12

Page 22: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

22 di 39

4.2.3 DEC84.C Questo programma è stato realizzato per provare il PIC12C509A, si tratta di un decodificatore di codice d’ingresso. Questo programma è stato pensato per restituire il codice d’ingesso sulla porta a del PIC16F84, essendo sulla piastra PICboard1 collegato ai pulsanti A1-A5 vedi Tabella 6 e al PIC12F509A, il programma restituisce il valore digitato o che esce dal PIC12F509A. Il programma restituisce sulla prima riga del display il messaggio CODIFICA BINARIA, sulla seconda riga il codice binario 00000, sulla terza riga il messaggio CODICE DECIMALE e sulla quarta riga il codice decimale. Il programma per il display è stato modificato, originalmente tutte le uscite della porta b sono settate in uscita come si può vedere dalle righe qui sotto. STRUCT lcd_pin_map const LCD_WRITE = {0,0,0,0,0}; // For write mode all pins are out STRUCT lcd_pin_map const LCD_READ = {0,0,0,0,15}; // For read mode data pins are in Il programma DEC84.C non utilizza il terzo bit della portb e visto che il programma COD509A.ASM genera un bip circa ogni mezzo secondo, il terzo bit della porta b deve essere settato in entrata. Se non viene effettuato questa modifica, essa causa lo smorzamento del bip sonoro. STRUCT lcd_pin_map const LCD_WRITE = {0,0,0,1,0}; // For write mode STRUCT lcd_pin_map const LCD_READ = {0,0,0,1,15}; // For read mode Si può vedere da lo schema che il pin RB3 del PIC16F84A è collegato al pin GP5 del PIC12C509A via jumper.

Figura 13

Page 23: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

23 di 39

4.3 PROG16F873-876 Questi programmi sono stati realizzati a fine di provare lo zoccolo zif a 28 PIN, della piastra con le relative applicazioni.

4.3.1 DIS876.C Il programma genera quattro righe sul display e le spedisce via RS232 al computer. La Figura 14 permette di vedere cosa esce sul display. Le impostazioni per il display sono state modificate, per il display si usa tutta la porta A e il PIN C0. In oltre è stato immesso anche la funzione TONI_OK che genera un bip sonoro a ogni secondo. Per il bip sonoro è stato usato il pin RC2.

Figura 14

Page 24: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

24 di 39

4.4 PROG16F874-877 Questi programmi sono stati modificati con la base dei programmi realizzati durante i lavori di semestre e di diploma.

4.4.1 DIS874.C Il programma DIS874.C è stato il primo a essere realizzato per ciò in questa parte del documento si può trovare la descrizione di come funziona il display. Per realizzare questo programma si è preso il programma già esistente e collaudato durante un lavoro di diploma. Il programma che è stato usato e modificato si chiama LCD.C programma pur esistente nella libreria PIC EXAMPLE. Nel programma sono pure presenti le funzioni TONI_OK e TONI_KO, queste due funzioni generano due tipi di bip sonori, la prima genera un bip sonoro e la seconda genera due bip sonori consecutivi. Modifiche apportate al programma originale LCD.C Alcune impostazioni sono state modificate boolean ( rs, enable, rw ). struct lcd_pin_map { // This structure is overlayed boolean rs; // access to the LCD pins. boolean enable; // on to an I/O port to gain boolean rw; // The bits are allocated from }lcd; la definizione del lcd type 4 invece di type 2. #define lcd_type 4 // 0=5x7, 1=5x10, 4=4 lines la locazione del inizio delle righe del display nella RAM. #define lcd_line_two 0x40 // LCD RAM address for the second line #define lcd_line_three 0x14 // LCD RAM address for the three line #define lcd_line_fourth 0x54 // LCD RAM address for the fourth line Il shift (lcd_Type << 4 ) invece di (lcd_type << 2^). byte CONST LCD_INIT_STRING[4] = {0x20 | (lcd_type << 4), 0xc, 1, 6}; Sono stati immessi tre nuovi cicli if per il cambio di linea nella funzione LCD_gotoxy. void lcd_gotoxy( byte x, byte y) { byte address; if(y==2) address=lcd_line_two; if(y==3) address=lcd_line_three; if(y==4)

Page 25: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

25 di 39

address=lcd_line_fourth; if((y!=2)&&(y!=3)&&(y!=4)) address=0; address+=x-1; lcd_send_byte(0,0x80|address); } Sono stati immessi tre nuovi switch case per il cambio di linea nella funzione lcd_putc. void lcd_putc( char c) { switch (c) { case '\f' : lcd_send_byte(0,1); delay_ms(2); break; case '\%' lcd_gotoxy(1,1); break; case '\a' lcd_gotoxy(1,2); break; case '\b' lcd_gotoxy(1,3); break; case '\@' lcd_gotoxy(1,4); break; case '\)' lcd_send_byte(0,0x10); break; default lcd_send_byte(1,c); break; } } La Tabella 16 mostra come vengono spediti i caratteri del messaggio Tabella 15 al display.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20R1 - - - - P r i m a r i g a - - - - - - R2 - - - - S e c o n d a r i g a - - - - R3 - - - - T e r z a r i g a - - - - - - R4 - - - - Q u a r t a r i g a - - - - -

Tabella 15

Con il debbug del programma MPLAB si è potuto leggere ai vari istanti come cambiavano i parametri nelle funzioni LCD_SEND_BYTE e LCD_GOTOXY. Tabella dei dati dalle funzioni LCD_SEND_BYTE e LCD_GOTO XY STATO LCD_GOTO X,Y.ADDRESS LCD_GOTO X,Y.Y LCD_SEND_BYTE.N CARATTERE

1 0h00 0h01 0h80 1°riga 2 0h00 0h01 0h2D - 3 0h00 0h01 0h2D - 4 0h00 0h01 0h2D - 5 0h00 0h01 0h2D - 6 0h00 0h01 0h50 P 7 0h00 0h01 0h72 r 8 0h00 0h01 0h69 i 9 0h00 0h01 0hC0 m 10 0h00 0h01 0h61 a

Page 26: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

26 di 39

11 0h00 0h01 0h20 space 12 0h00 0h01 0h72 r 13 0h00 0h01 0h69 i 14 0h00 0h01 0h67 g 15 0h00 0h01 0h61 a 16 0h00 0h01 0h2D - 17 0h00 0h01 0h2D - 18 0h00 0h01 0h2D - 19 0h00 0h01 0h2D - 20 0h00 0h01 0h2D - 21 0h00 0h01 0h2D - 22 0h40 0h02 0hC0 2°riga 23 0h40 0h02 0h2D - 24 0h40 0h02 0h2D - 25 0h40 0h02 0h2D - 26 0h40 0h02 0h2D - 27 0h40 0h02 0h53 S 28 0h40 0h02 0h65 e 29 0h40 0h02 0h63 c 30 0h40 0h02 0h6F o 31 0h40 0h02 0h6E n 32 0h40 0h02 0h64 d 33 0h40 0h02 0h61 a 34 0h40 0h02 0h20 space 35 0h40 0h02 0h72 r 36 0h40 0h02 0h69 i 37 0h40 0h02 0h67 g 38 0h40 0h02 0h61 a 39 0h40 0h02 0h2D - 40 0h40 0h02 0h2D - 41 0h40 0h02 0h2D - 42 0h40 0h02 0h2D - 43 0h14 0h03 0h94 3°riga 44 0h14 0h03 0h2D - 45 0h14 0h03 0h2D - 46 0h14 0h03 0h2D - 47 0h14 0h03 0h2D - 48 0h14 0h03 0h54 T 49 0h14 0h03 0h65 e 50 0h14 0h03 0h72 r 51 0h14 0h03 0h7A z 52 0h14 0h03 0h61 a 53 0h14 0h03 0h20 space 54 0h14 0h03 0h72 r 55 0h14 0h03 0h69 i 56 0h14 0h03 0h67 g 57 0h14 0h03 0h61 a 58 0h14 0h03 0h2D - 59 0h14 0h03 0h2D -

Page 27: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

27 di 39

60 0h14 0h03 0h2D - 61 0h14 0h03 0h2D - 62 0h14 0h03 0h2D - 63 0h14 0h03 0h2H - 64 0h54 0h04 0hD4 4°riga 65 0h54 0h04 0h2D - 66 0h54 0h04 0h2D - 67 0h54 0h04 0h2D - 68 0h54 0h04 0h2D - 69 0h54 0h04 0h51 Q 70 0h54 0h04 0h75 u 71 0h54 0h04 0h61 a 72 0h54 0h04 0h72 r 73 0h54 0h04 0h74 t 74 0h54 0h04 0h61 a 75 0h54 0h04 0h20 space 76 0h54 0h04 0h72 r 77 0h54 0h04 0h69 i 78 0h54 0h04 0h67 g 79 0h54 0h04 0h61 a 80 0h54 0h04 0h2D - 81 0h54 0h04 0h2D - 82 0h54 0h04 0h2D - 83 0h54 0h04 0h2D - 84 0h54 0h04 0h2D -

Tabella 16

Page 28: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

28 di 39

4.4.2 ORO877.C Per provare la piastra si è usato anche un PIC16F877, questo programma a permesso di provare il Real Time Clock DS1302, e il termometro digitale DS18B20. Il programma qui realizzato visualizza sulle due prime righe del display l’ora e la data dal RTC DS1302 con il giorno corrispondente, sulla terza riga la family e sulla quarta riga il numero ID. del DS18B20 La Figura 15 mostra come sono ripartiti i dati.

Figura 15

Page 29: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

29 di 39

4.4.3 SCR877.C Questo programma è stato realizzato per provare il funzionamento della sonda di temperatura DS18B20, quando viene usata da sola su una linea 1-Wire. Per vedere correttamente la temperatura occorre ancora eseguire la conversione dei dati ricevuti. Nella Figura 16 si può vedere come sono scritte le informazioni sul display.

Figura 16

Page 30: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

30 di 39

4.4.4 ROM877.C Questo programma è stato realizzato per provare il funzionamento della sonda di temperatura DS18B20, quando viene usata con più elementi su linea 1-Wire. Per vedere correttamente la temperatura occorre ancora eseguire la conversione dei dati ricevuti. Nella Figura 17 si può vedere come sono scritte le informazioni sul display.

Figura 17

Sulla prima riga la family, sulla seconda il numero ID, sulla terrza il CRC della ROM più la temperatura e sull’ultima riga l’intera scratchpad. Per capire a meglio il contenuto del display e opportuno riferirsi alla Tabella 2.

Page 31: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

31 di 39

4.4.5 TEMP877.C Questo programma a permesso di provare il Real Time Clock DS1302, e il termometro digitale DS18B20. Il programma qui realizzato visualizza sulle due prime righe del display l’ora e la data dal RTC DS1302 con il giorno corrispondente, sulla quarta riga la temperatura del DS18B20. Si può notare dalla Figura 18 che i secondi non appaiono.

Figura 18

La temperatura a quattro numeri dopo la virgola, non sono millesimi di grado ma 16 esimi di grado. Per eseguire questo programma è stato necessario eseguire i programmi ROM877.C e SCR877.C.

5 Schemi I schemi realizzati sono 5, Uno schema di dettaglio per ogni microcontrollore e uno generale della piastra. I schemi si trovano nel supporto informatico allegato.

Page 32: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

32 di 39

5.1 Schema PIC Board1-A

Schema 1

Page 33: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

33 di 39

5.2 Schema PIC Board1-B

Schema 2

Page 34: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

34 di 39

5.3 Schema PIC 16F874/877

Schema 3

Page 35: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

35 di 39

5.4 Schema PIC 16F873/876

Schema 4

Page 36: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

36 di 39

5.5 Schema PIC12C509/F629 16F84A

Schema 5

Page 37: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

37 di 39

6 Sviluppi futuri In questo paragrafo viene descritto quale sono i possibili sviluppi futuri. Un primo sviluppo può essere la realizzazione su circuito stampato, per questo bisognerà rivedere i schemi, eseguire tutti i footprint, eseguire un Layout della piastra più piccola possibile e in fine cercare qualche preventivo. Un altro sviluppo futuro può essere la commercializzazione della piastra, quindi eseguire una ricerca di mercato a chi, dove, cosa può interessare.

Page 38: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

38 di 39

7 Siti internet visitati. MICROCHIP www.microchip.com DALLAS www.dalsemi.com ARIES, sito dove si sono trovati i zoccoli ZIF www.arieselec.com ADMATEC, sito dove si sono comandati i zoccoli ZIF www.admatec.ch DB-ELECTRONIK, sito dove si possono realizzare circuiti stampati. www.db-electonik.com GES sito dove si può trovare una racolta di data seheet. wwww.ges.cz/sheet/

8 Supporto informatico

La figura mostra come sono disposte le varie cartelle nel CD allegato.

Page 39: PICboard1 - Ticinoweb.ticino.com/gery/PDF/PICboard1.pdf · 2011. 11. 29. · 3.5.3 PIC 16F84A ... per il 12C509 e il 16F84A e in fine la matrice per i PIC16F873/874/876/877. Sotto

PICBOARD GERY BINAME

39 di 39

9 CD