Microcontrollori è una categoria dedicata sia ai microcontrollori pic che al microcontrollore 8051, ma anche a tutti i tipi di microcontroller 8 16 e 32 bit ed alla loro programmazione.
Texas Instruments ha confermato che è stata la prima azienda a collaborare con ARM nella concezione e definizione della prossima generazione ARM Cortex-A (noto anche come Eagle).
Un sistema di allarme che ti avvisa per telefono quando qualcosa non va. Niente di speciale se non fosse che il tutto è stato utilizzato un vecchio modem.
A volte sono propri i vecchi componenti a rendere il prodotto finale unico. E' il caso di un orologio da polso realizzato con un display che ricorda molto gli anni passati.
MCF5270 Freescale: Viashimo vuole interfacciare un dispositivo lento (un ADC - ~1.2MHz) al microcontrollore MCF5270, che è un dispositivo piuttosto veloce (~ 150 MHz).
Gordon è stato fortunato perchè ha avuto l'opportunità di valutare le caratteristiche del PICkit 3-XLP Bundle della Microchip che include non solo il PICkit 3 Debug Express (DV164131) ma:
Questa sui microcontrollori è una domanda complicata. Le diverse famiglie di microcontrollori variano nelle loro capacità. Il numero di bits si riferisce solo alla larghezza del data pipe, che limita la precisione della matematica, anche se tanti microcontrollori hanno un hardware speciale che può svolgere ad una precisione alta le funzioni matematiche.
In pratica, le fasi da seguire sono le seguenti: 1) Scaricare dal sito Internet della Microchip il file MPL331.ZIP; 2) Scompattare il file con PK-UNZIP; 3) Avviare il programma di installazione di MPLAB versione 3.31;
Il file unico si chiama MPL331.zip, e va scompattato usando il noto programma pkunzip, che ovviamente dovete avere a disposizione. Il risultato dell’operazione è la creazione di 4 file, che sono esattamente: MPL33100.EXE, MPL33100.W02, MPL33100.W03 ed MPL33100.W04; dopo averli “estratti” bisogna procedere all’installazione vera e propria.
Da qualche tempo la Microchip mette a disposizione una nuova release di software per aggiornare i sistemi di sviluppo PicStart rendendoli adatti a programmare i nuovi microcontrollori 12C508/509: vediamo come utilizzarla sia partendo dall’apposito pacchetto che scaricandola da Internet.
Le prime due routine servono per posizionare il cursore all'inizio della prima riga e all'inizio della seconda, mentre la routine CARATT consente di scrivere un carattere prelevato da una tabella che si trova nel punto di programma contraddistinto dall’etichetta TABLE e, come si può facilmente intuire vedendo il programma, è la tabella nella quale si pone la scritta che si vuole visualizzare.
Prima di spiegare le operazioni di inizializzazione, vediamo come funziona la logica di controllo implementata tenendo presente che ogni display LCD dispone internamente di una memoria di impostazione dei caratteri denominata CG RAM e di una memoria dati denominata DD RAM.
Impariamo a programmare con la famiglia di microcontrollori PIC della Microchip, caratterizzata da una grande flessibilità d’uso e da un’estrema semplicità di impiego grazie alla disponibilità di uno Starter Kit a basso costo, di un ambiente di sviluppo software evoluto e di una vasta e completa libreria di programmi collaudati e pronti all’uso. Decima puntata.
Karl sta lavorando su un progetto di ricerca universitario usando Labview ma non ha molta esperienza con la programmazione dei controllori embedded e avrebbe bisogno di un consiglio.
Questa volta però, se viene pigiato un tasto, viene richiamata attraverso l’istruzione CALL una specifica subroutine, una per ogni tasto premuto (sicuramente questa soluzione non è quella ottimale per realizzare la memorizzazione dei tasti ma ben si presta per una spiegazione didattica).
Essendo, nel nostro caso, il file la porta di uscita, il risultato è quello di imporre sulle quattro linee un livello logico alto. Dall’etichetta MAIN comincia il programma di lettura vero e proprio. Viene dapprima posta a zero la prima colonna, con l’istruzione BCF PORT_B,0, che abbassa a livello 0 la linea RB0; non resta a questo punto che andare a testare lo stato delle quattro righe.
Per questo applicativo dobbiamo innanzitutto spostare il ponticello da JP3 a JP1 in modo da rendere disponibili come risorse la tastiera a matrice ed il display a sette segmenti.
Impariamo a programmare con la famiglia di microcontrollori PIC della Microchip, caratterizzata da una grande flessibilità d’uso e da un’estrema semplicità di impiego grazie alla disponibilità di uno Starter Kit a basso costo, di un ambiente di sviluppo software evoluto e di una vasta e completa libreria di programmi collaudati e pronti all’uso. Nona puntata.
La routine di interrupt termina con l’istruzione RETFIE per permettere al programma di tornare a “girare” normalmente. Il programma vero e proprio comincia all’etichetta INIT, con la configurazione di tutti i registri; analizziamo in dettaglio queste istruzioni.
Cioè, se ad esempio il relè 1 era spento, il secondo bit di RLSTATUS si trovava a livello logico 0; quando viene eseguita l’operazione di or esclusivo con 00000010, il bit in questione viene complementato, cioè posto a 1, mentre gli altri bit non verranno modificati.
Osserviamo, ad esempio, il funzionamento della routine UP, tenendo conto che la routine DOWN è pressoché simile, salvo il fatto di far ruotare il led in posizione opposta. Le due istruzioni BCF STATUS,CARRY e RLF PORT_B servono, come avevamo già visto nel programma precedente, a far spostare il led.
Se facciamo funzionare il micro a 4 MHZ, ogni ciclo macchina richiede un tempo pari ad 1 µs (infatti la frequenza viene divisa per 4, dando 1 Mhz, a cui corrisponde un periodo appunto di 1 µs).
Nello specifico, ruotando a sinistra, viene spostato nel bit di destra il contenuto attuale del carry e posto il bit più a sinistra nel carry. Per comprendere meglio l’istruzione Rotate Left osserviamo la figura 1 riportata in questa pagina, tenendo presente che nel nel registro USCITA avevamo questa combinazione: “00000001”.
Segue una parte di inizializzazione, nella quale vengono dichiarate le label (etichette) che consentono di associare ad un valore una parola in modo da risultare facilmente memorizzabili dal programmatore stesso. Così, ad esempio, abbiamo utilizzato la label PORT_B per identificare il registro di indirizzo 06 che rappresenta appunto la porta b del PIC.