ESEMPIO DI APPLICAZIONE

Slides:



Advertisements
Presentazioni simili
MICROCONTROLLORI Di Tiziano Ragazzi.
Advertisements

3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Architettura di un calcolatore
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
PRESENTAZIONE di RICCARDO
PROGETTO DI UNA SERRATURA CON CODICE PER L'APERTURA
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Sistemi.
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
I dispositivi di rete. La Scheda Di Rete La scheda di rete, o LAN adapter è un circuito stampato che collega il cavo per il collegamento internet al PC.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Corso di Alta formazione in TL&OS Modulo 1.3 Reti e Servizi - lezione 1 Modulo 1.3 Reti e servizi 1. Introduzione al Networking Connettere il PC in rete;
Sensori analogici e digitali per la misura di
1 Unità didattica 1 – Concetti di base del personal computer Premessa: «L’unità didattica programmata destinata ad una allieva con obiettivi minimi della.
Laboratorio di Architettura Degli Elaboratori1 PSPICE – Circuiti sequenziali.
13 gennaio Sistema di rilevazione delle temperature all’interno di Personal Computer Industriali Dipartimento di Ingegneria Elettronica SISTEMA.
14/11/ D E N T R O I L COMPUTER.
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA.
Rappresentazione dell’ Informazione Digitale e Binario
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Concetti Di Base Informatica
IL SOFTWARE (FPwin 6.0).
Arduino uno Introduzione.
15.
Sistemi e Applicazioni per l’Amministrazione Digitale
Prof. Giuseppe Chiumeo INTRODUZIONE Prof. Giuseppe Chiumeo
PRESENTAZIONE di RICCARDO
I Circuiti Sequenziali ed i Flip/Flop
Componenti di una scheda madre
Laboratorio II, modulo Conversione Analogico/Digitale (cfr. e
GPIO: General Purpose Input Output I parte
Arduino UNO Single board microcontroller. Arduino UNO Single board microcontroller.
Pic16f84 Assembly I/O.
LE ARCHITETTURE NON VON NEUMANN
Microcontrollori e microprocessori
Logica binaria Moreno Marzolla
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
P. L. C. (Programmable Logic Controller)
STRUTTURA GENERALE DI UN ELABORATORE
Introduzione I microcontrollori.
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Architetture non Von Neumann
I PIC: peripheral Interface contRollers
componenti di un computer Roma – ATA “E. Sereni” – 1 agosto 2016
Introduzione all’uso del computer
HARDWARE La struttura fisica interna ed esterna, prende il nome di hardware ( hard = duro ware = componente ). Comprende tutti i dispositivi del computer,
MODULO 1 – Computer essentials
istalliamo l’ambiente di sviluppo - ide
La scheda Arduino.
mBlock Un modo semplice e innovativo per programmare Arduino
Memoria RAM e ROM.
Caratteristiche e funzioni della scheda Arduino
A/D seconda parte.
Programmare.
© 2007 SEI-Società Editrice Internazionale, Apogeo
LE PARTI INTERNE DEL COMPUTER
Esercitazione 8 Laboratorio di Architetture degli Elaboratori I
Parti interne del computer
LE PARTI INTERNE DEL COMPUTER
Unità 5 Segnali analogici.
Memorie Laboratorio di Architetture degli Elaboratori I
Arduino Lezione Prima Prof. Ponte Vincenzo.
Transcript della presentazione:

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

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

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

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

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

Questi microcontrollori, adottano un’architettura RISC (Reduced Instructions Set Code), ed eseguono istruzioni con una frequenza di clock sino a 20 - 40 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

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, www.microchip.com si possono trovare data sheets, informazioni tecniche, software di supporto ed esempi di applicazioni. 11/11/2018 ARI - ROMA IK0OTG

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

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

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

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

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

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 00 0000 0000 1001 RETFIE Ritorna da un interrupt 00 0000 0000 1000 RETURN Ritorna da una subroutine 00 0000 0110 0011 SLEEP Vai in modalità standby 11/11/2018 ARI - ROMA IK0OTG

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

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

Con il Proton il programma è: Device 16F84A Xtal 4 Print At 1,1,"ARI ROMA“ Questo è il programma in Esadecimale :10000000 7228 8D01 8D17 9400 FE30 5520 1408 5528 54 :10001000 9200 0611 8611 8316 0611 8611 0F30 8605 8F :10002000 8312 1208 8C18 3228 3E30 9000 8030 5920 FC :10003000 3330 9100 4620 1330 9000 8830 5920 4620 FC :10004000 6430 5820 4620 6430 5820 2230 9100 4620 E9 :10005000 2830 3120 0C30 3120 0630 3120 8C14 1208 29 :10006000 3228 0C14 9100 0C1C 4028 8611 033C 031C 00 :10007000 4528 4520 0730 9000 D030 5920 0314 0800 4F :10008000 0C14 FE3C 0319 5328 8615 0C1C 0C10 0615 85 :10009000 0F30 8605 1108 F039 8604 0611 910E 0C18 F0 :1000A000 4628 3230 5820 1208 6D28 8D1B 0828 0800 79 :1000B000 9001 E83E 8F00 9009 FC30 031C 6228 8F07 F6 :1000C000 0318 5F28 8F07 0000 900F 5F28 0F18 6828 1B :1000D000 8F1C 6C28 0000 6C28 0800 8313 8312 0313 04 :1000E000 0000 0800 8C01 8030 8D00 8030 0120 4130 FC :1000F000 0820 5230 0820 4930 0820 2030 0820 5230 93 :0E010000 0820 4F30 0820 4D30 0820 4130 0820 E4 :02400E00 F13F 80 :00000001 FF 11/11/2018 ARI - ROMA IK0OTG

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

Scriviamo il programma. Proton IDE ‘* Name : ARI led 1s.BAS '* Author : IK0OTG '* Date : 16/10/2009 '* Version : 1.0 ******************************************************* Device 12F683 OSCCON =% 01100101 ' setta oscillatore interno a ‘ 4MHz TRISIO =% 00000000 ' configuro tutte le porte in ‘ uscita inizio: GPIO.2 = 1 'metto la porta GPIO.2 a 1(+5V) e ‘accendo il LED DelayMS 1000 'aspetto 1 secondo (1000 millisecondi) GPIO.2 = 0 '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

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

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