La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

ESEMPIO DI APPLICAZIONE

Presentazioni simili


Presentazione sul tema: "ESEMPIO DI APPLICAZIONE"— Transcript della presentazione:

1 ESEMPIO DI APPLICAZIONE
PIC COSA SONO A COSA SERVONO COME SI UTILIZZANO COME SI PROGRAMMANO ESEMPIO DI APPLICAZIONE 11/11/2018 ARI - ROMA IK0OTG

2 COSA SONO I PIC (Peripheral Interface Controllers), sono circuiti integrati prodotti dalla Microchip, appartenenti alla categoria dei microcontrollori, ovvero componenti che integrano, in un unico dispositivo, tutti i circuiti necessari a realizzare un computer completo e programmabile. PROG MEM RAM EEPROM I/O VIDEO HD FD MICROCONTROLLORE COMPUTER AUX CPU 11/11/2018 ARI - ROMA IK0OTG

3 Queste sono le foto del primo microprocessore della storia (CPU) prodotto dalla INTEL e l’ingrandimento del suo chip interno, con le iniziali di Federico Faggin che nel 1970, insieme a Ted Hoff e Stanley Mazor, ne curò la realizzazione su richiesta della giapponese Busicom. 11/11/2018 ARI - ROMA IK0OTG

4 CPU (Central Processor Unit)
Internamente i microcontrollori contengono tutti i dispositivi tipici di un sistema a microprocessore: CPU (Central Processor Unit) La CPU è il “cervello” del microcontrollore in quanto si occupa di interpretare le istruzioni di programma. Memoria programma (FLASH) Memorizza le istruzioni da eseguire, (il programma), per i PIC di nostro interesse, è una memoria di tipo FLASH, ossia una memoria che non si cancella togliendo tensione e si può riscrivere migliaia di volte. Memoria RAM (Random Access Memory) La memoria RAM è utilizzata dal programma per memorizzare le variabili. È di tipo non permanente, quindi, togliendo la tensione di alimentazione, i dati andranno perduti. 11/11/2018 ARI - ROMA IK0OTG

5 Memoria EEPROM (Electrical Erasable Programmable Read Only Memory)
La memoria EEPROM si usa per memorizzare le variabili utilizzate nel programma. È di tipo permanente, quindi togliendo la tensione di alimentazione, i dati rimarranno memorizzati. Linee di I/O (Input/Output) Le linee d’ingresso e uscita. Si utilizzano per pilotare o ricevere segnali da dispositivi esterni (sensori, pulsanti, display ecc). Dispositivi ausiliari Convertitori AD, contatori, generatori di clock, bus, porte seriali, eccetera. 11/11/2018 ARI - ROMA IK0OTG

6 Questi microcontrollori, adottano un’architettura RISC (Reduced Instructions Set Code), ed eseguono istruzioni con una frequenza di clock sino a MHz a seconda dei tipi, ossia con potenze di calcolo di 5 – 10 MIPS. (Mega Instructions Per Second) La potenza di calcolo dei sistemi a microprocessore, si ottiene dividendo per quattro la frequenza di clock. Ad esempio: 20 MHz / 4 = 5 MIPS Questo rende i PIC dei microcontrollori relativamente veloci, specie considerando il fatto che, su ogni pin, forniscono/dissipano correnti di 25mA, mentre altri microcontrollori, generalmente, erogano 5mA e difficilmente arrivano a 10mA 11/11/2018 ARI - ROMA IK0OTG

7 Esistono quattro famiglie di PIC ad 8 bit.
PIC10, PIC12, PIC16, PIC18 con caratteristiche e prestazioni diverse per: Tipo di contenitore (DIP, SOIC, ecc.) Quantità di memoria (DIP - da 375 bytes a 96 Kb) Linee di I/O (DIP - da 4 a 36) Dispositivi ausiliari Numero di piedini (DIP - da 6 a 40 pin) Nel sito web della Microchip, si possono trovare data sheets, informazioni tecniche, software di supporto ed esempi di applicazioni. 11/11/2018 ARI - ROMA IK0OTG

8 A COSA SERVONO Con i microcontrollori PIC si possono realizzare timer
rivelatori e misuratori di tensioni termometri frequenzimetri generatori di tensione e frequenza variabili (PWM) circuiti di controllo per la gestione di PLL – DDS - DSP gestione di display alfanumerici e grafici ecc. ecc. Praticamente, con l’aggiunta di altri componenti, è possibile fare quasi tutte quelle cose connesse con l’elettronica digitale e molte di quelle analogiche. Il limite è solo nella fantasia del progettista. 11/11/2018 ARI - ROMA IK0OTG

9 COME SI UTILIZZANO Come per tutti i circuiti elettronici, è necessario realizzare un circuito comprendente il PIC e tutti gli altri componenti necessari. I circuiti possono essere realizzati impiegando una breadboard, una scheda millefori o, se si è sicuri del risultato, direttamente il circuito stampato. In commercio esistono schede, dette di sviluppo, che mediante una serie di zoccoli, led, display, connettori e interruttori, permettono di creare il circuito hardware come ci serve. Queste schede, inoltre, contengono anche il programmatore necessario per programmare il PIC 11/11/2018 ARI - ROMA IK0OTG

10 Questa è una scheda di sviluppo prodotta dalla mikroElektronica
11/11/2018 ARI - ROMA IK0OTG

11 In genere quelli più economici hanno la porta seriale.
Se per il nostro circuito non usiamo una scheda di sviluppo, ci servirà un programmatore per PIC. Consiste in un circuito che va collegato ad un PC tramite la porta seriale o parallela o USB a seconda del tipo di programmatore, e contiene dei componenti ed alcuni zoccoli vuoti Il PIC da programmare si inserisce su uno zoccolo del programmatore e, mediante opportuno software installato nel PC, lo si programma, ossia si copiano nella memoria del PIC le istruzioni necessarie per il suo funzionamento. In commercio esistono una miriade di programmatori che hanno un costo da un minimo di 15€ sino a qualche centinaio di euro. Per iniziare vanno benissimo anche quelli economici. In genere quelli più economici hanno la porta seriale. 11/11/2018 ARI - ROMA IK0OTG

12 Questi sono dei programmatori prodotti dalla microEngineering Labs
11/11/2018 ARI - ROMA IK0OTG

13 COME SI PROGRAMMANO Scrivere un programma per un computer, significa scrivere una serie di istruzioni sequenziali in un linguaggio comprensibile dal computer. L’unica lingua che il computer capisce è il codice BINARIO (BIN), ossia una serie di 0 (zeri) e di 1(uno), che opportunamente combinati formano il Codice operativo stabilito dal costruttore ed hanno un preciso significato solo per quella CPU. Ad esempio per il PIC 16F84A i seguenti codici operativi hanno il significato riportato in Italiano. OPCODE ASM ITALIANO RETFIE Ritorna da un interrupt RETURN Ritorna da una subroutine SLEEP Vai in modalità standby 11/11/2018 ARI - ROMA IK0OTG

14 Poiché è estremamente difficoltoso, ricordare delle istruzioni in linguaggio binario(BIN), ad ogni gruppo di 4 cifre è stato dato un valore numerico in base 16 così 0000 vale 0x0 mentre 0110 vale 0x6 e 1111 vale 0xF. Questo codice si chiama ESADECIMALE (HEX) e lo 0x serve per distinguerlo dal decimale. A tutte le istruzioni dei microcomputers sono stati poi associati dei codici mnemonici che sono la base del linguaggio Assembler (ASM). E’ stato poi scritto un programma che traduce i codici ASM in esadecimale(HEX) ed un altro che traduce l’esadecimale(HEX) in binario(BIN). Scrivere un programma in ASM, è più facile che scriverlo in BIN o HEX, ma pur sempre una operazione lunga e complessa, così che sono stati sviluppati altri linguaggi, detti ad alto livello, che permettono una scrittura più semplice e veloce. 11/11/2018 ARI - ROMA IK0OTG

15 Per i nostri esempi useremo il Proton IDE basato sul BASIC.
Fondamentalmente possono essere immaginati come delle macro che con delle parole chiave o delle brevi frasi, fanno eseguire al micro tutta una serie di operazioni. Anche per questi linguaggi è poi necessario un interprete che traduce le istruzioni in codice HEX Il più noto di questi linguaggi è il BASIC (Beginner’s All-purpose Symbolic Instruction Code) che fa uso di parole e frasi in Inglese e di solito usa l’estensione (.BAS). Per programmare i PIC sono stati sviluppati dei linguaggi ad alto livello basati sul Pascal, sul C++ e sul Basic Per i nostri esempi useremo il Proton IDE basato sul BASIC. A conferma di quanto detto sino ad ora vediamo la differenza tra i linguaggi HEX e BAS. Diciamo al PIC 16F84A di scrivere sul display, a partire dal primo carattere della prima riga, la frase ARI ROMA 11/11/2018 ARI - ROMA IK0OTG

16 Con il Proton il programma è:
Device 16F84A Xtal 4 Print At 1,1,"ARI ROMA“ Questo è il programma in Esadecimale : D01 8D FE : F F : C E FC : FC : E9 : C C : C C1C C 031C 00 : D F : C14 FE3C C1C 0C : F F E 0C18 F0 :1000A D28 8D1B :1000B E83E 8F FC30 031C F07 F6 :1000C F28 8F F 5F28 0F B :1000D000 8F1C 6C C :1000E C D FC :1000F :0E F D E4 :02400E00 F13F 80 : FF 11/11/2018 ARI - ROMA IK0OTG

17 ESEMPIO DI APPLICAZIONE
Con il PIC 12F683 vogliamo far lampeggiare un LED al ritmo di: 1 secondo acceso 1 secondo spento. Vogliamo inoltre utilizzare il minor numero di componenti possibile. Esaminando il data sheet del PIC, 12F683 vediamo che è dotato di un oscillatore di clock interno con precisione del ± 1%, più che sufficiente per il nostro scopo. Quelli che seguono sono; lo schema elettrico che dovremo realizzare ed il programma scritto con il Proton. 11/11/2018 ARI - ROMA IK0OTG

18 Scriviamo il programma. Proton IDE
‘* Name : ARI led 1s.BAS '* Author : IK0OTG '* Date : 16/10/2009 '* Version : 1.0 ******************************************************* Device 12F683 OSCCON =% ' setta oscillatore interno a ‘ 4MHz TRISIO =% ' configuro tutte le porte in ‘ uscita inizio: GPIO.2 = 'metto la porta GPIO.2 a 1(+5V) e ‘accendo il LED DelayMS 'aspetto 1 secondo (1000 millisecondi) GPIO.2 = 'metto la porta GPIO.2 a 0 (0V) e ‘spengo il LED GoTo inizio 'lo rimando alla label inizio e ricomincia ‘il ciclo 11/11/2018 ARI - ROMA IK0OTG

19 Lo compiliamo, ottenendo un .HEX
Carichiamo il file ARI led 1s.HEX nel programmatore. Proton IDE 11/11/2018 ARI - ROMA IK0OTG

20 Programmiamo il nostro PIC. Proton IDE
Lo montiamo nel circuito bradboard Diamo tensione ed il led Lampeggia. 11/11/2018 ARI - ROMA IK0OTG


Scaricare ppt "ESEMPIO DI APPLICAZIONE"

Presentazioni simili


Annunci Google