Corso di programmazione pi e eprom

Page 79

Yet Another Pic Programmer

Read Data from Data Memory

000101

Legge dal PIC la locazione corrente dalla memoria dati. Appena riceve questo comando il PIC trasmette al programmatore il valore letto.

Bulk Erase Program Memory

001001

Cancella l’intera memoria programma

Bulk Erase Data Memory

001011

Cancella l’intera memoria dati

Il PIC16F84 dispone internamente di tre aree di memoria distinte programmabili dall’esterno: l’area programma pari ad 1 kbyte, l’area dati pari a 64 byte e l’area configurazione pari a 8 byte. Tutte le aree di memoria sono implementate su FLASH. Le sole aree di programma e dati possono essere lette dall’esterno. Per poter scrivere in una qualsiasi locazione il programmatore deve inviare al PIC uno dei comandi LOAD seguito da 14 bit contenenti il dato da memorizzare. Volendo ad esempio scrivere nella locazione 0 della memoria programma basterà inviare al PIC la sequenza: Load Data for Program Memory + valore a 14 bit Begin Programming Il comando Load Data trasferisce semplicemente il dato a 14 bit in un buffer provvisorio all’interno del PIC, il comando Begin Programming effettua la scrittura vera e propria del dato nella memoria programma. L’indirizzo della locazione di memoria che viene scritta è contenuto in un puntatore di scrittura azzerato automaticamente non appena il PIC viene messo in programmazione (MCLR=12 volt) ed incrementato tramite il comando: Increment Address A questo punto per programmare la locazione successiva basterà trasmettere nuovamente i seguenti comandi: Load Data for Program Memory + valore locazione 1 Begin Programming Increment Address e così via fino alla scrittura completa del programma. Per poter scrivere in una locazione di memoria non è necessario effettuare operazioni di cancellazione. L’area dati e l’area configurazione si programmano con le stesse modalità utilizzando il comando LOAD relativo. L’area dati è un’area FLASH visibile anche dal programma in esecuzione sul PIC, la sua programmazione può essere utile per assegnare dei valori iniziali alle variabili utilizzate dal nostro programma. L’area configurazione contiene dati invisibili al programma su PIC ma utili per determinare la modalità di funzionamento di alcuni dispositivi interni al PIC quali l’oscillatore di clock, il watchdog timer, ecc. che vedremo successivamente durante il nostro corso.

Come funziona lo Yapp! Lo YAPP si occupa di generare tutti i segnali necessari per programmare il PIC a partire dai comandi inviato dal PC sulla porta RS232. In pratica lo Yapp! si occupa di tradurre i comandi dal formato seriale asincrono a 9600 baud 8,1,N nel formato Microchip e viceversa. Tutte le temporizzazioni interne necessarie alla corretta programmazione vengono gestite dal micro (anch'esso un PIC) presente sullo YAPP! liberando il programma di gestione su PC dalle problematiche di gestione delle temporizzazione. Questa caratteristica ci consente di scrivere il programma di gestione con linguaggi ad alto livello tramite i quali risulta ifficile gestire temporizzazioni precise. Il collegamento tra lo Yapp! e la scheda da programmare avviene tramite un connettore a sei contatti sul quale sono presenti i seguenti segnali: Pin Funzione 1

MCLR - Da collegare al pin MCLR del PIC da programmare.

2

DATA - Da collegare al pin RB7 del PIC da programmare.

file:///C|/temp/borrar/pbe/italiano/hardware/yapp.htm (4 of 7) [13/10/1999 6:32:21 PM]


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.