PICsim-PIC microcontroller simulator

In questo articolo della Rubrica Firmware Reload trattiamo un software per la simulazione dei microcontrollori PIC. Tra le varie soluzioni software per simulare ed emulare i microcontrollori PIC, ne esiste una molto valida, efficace e, soprattutto, freeware. Si tratta del programma “PICsim - PIC microcontroller simulator”, distribuito gratuitamente in rete.

Introduzione

Di programmi per la simulazione di firmware per microcontrollori se ne contano a decine. Software commerciali o gratuiti, semplici o complessi, potenti o leggeri, il mondo dell’informatica ne ha per tutti i gusti. Nell’articolo esaminiamo il programma “PICsim - PIC microcontroller simulator”, molto attraente dal punto di vista grafico ed altrettanto semplice ed intuitivo nell’utilizzo.

Figura 1: I microcontrollori supportati dal programma.

Figura 1: I microcontrollori supportati dal programma

PICSIM - PIC MICROCONTROLLER SIMULATOR

Il programma è stato scritto ed ideato da L. C. Gamboa ed è distribuito con licenza GNU General Public License version 2.0 (GPLv2). PICsim emula i microcontrollori PIC16F628, PIC16F877A e PIC18F452 ed alcune loro periferiche come le USART ed il timer. L’architettura del simulatore permette una facile implementazione di eseguibili esterni, realizzati con qualsiasi linguaggio di programmazione. Il PICsim è corredato dal PICsimLab che emula anche un sistema di sviluppo in tempo reale. Si può dire, esagerando un pò, che con questo programma è come se si possedesse la scheda di sviluppo EasyPIC della MikroElektronika al PC, ovviamente con le abissali differenze del caso.

Figura 2: Scelta della scheda di sviluppo

Figura 2: Scelta della scheda di sviluppo

IL DOWNLOAD

Il programma è fornito in versione completamente gratuita. Può essere scaricato dal famoso sito di programmi freeware: http://sourceforge.net/. Allo scopo si scriva, nella casella di ricerca, la stringa “picsim”. La versione del programma, alla scrittura del presente articolo, è la 0.5, ma sicuramente, in futuro, saranno effettuati aggiornamenti. E' un programma abbastanza scaricato, al mondo, con i suoi 500 download settimanali, in media.

MICROCONTROLLORI SUPPORTATI

Il “PICsim - PIC microcontroller simulator”, ovviamente, non prevede tutti i microcontrollori prodotti dalla Microchip. La disponibilità dei modelli è alquanto limitata e, in effetti, lo sviluppatore può utilizzarlo a pieno, se non per una stretta categoria di dispositivi. Alla versione attuale esso ne contempla solo tre:

  • PIC16F628A
  • PIC16F877A
  • PIC18F452

La speranza è, ovviamente, quella che in un prossimo futuro siano implementati ulteriori modelli di MCU. Anche la velocità del clock può essere scelta arbitrariamente in un intervallo di frequenze comprese tra 1 e 20 MHz. Ad ogni modo, il fatto che il programma preveda due modelli della serie PIC16 e un modello della serie PIC18 è un ottimo punto di partenza e permette al programmatore di sperimentare applicazioni complesse e di una certa rilevanza.

LE BOARDS

La caratteristica sostanziale che contraddistingue il programma è quella di prevedere ben sei boards di simulazione. Si tratta di sei schede di sviluppo, diverse tra loro, che l’utente può selezionare secondo i propri gusti e le proprie esigenze. Le schede si selezionano dalla casella combinata presente sulla parte sinistra del programma. La commutazione delle caratteristiche avviene istantaneamente.

PIASTRA 1

La board 1 emula alla perfezione la scheda di sviluppo “McLab1”. Essa è dotata del microcontrollore PIC16F628A. La vera scheda può essere anche acquistata sul sito http://www.mosaico.com.br. Essa è dotata di:

  • 2 display a 7 segmenti
  • 4 pulsanti di input
  • 12 diodi LED
  • 1 lampadina
  • 1 pulsante di reset
  • 1 interruttore on/off
  • 1 connettore per l’alimentazione esterna
Figura 3: La board 1 emula la McLab1

Figura 3: La board 1 emula la McLab1

PIASTRA 2

La board 2 emula una scheda didattica sviluppata dall’autore del programma. E' una scheda virtuale complessa, dotata anch’essa di microcontrollore PIC16F628A. A grandi linee essa è formata da:

  • 1 connessione RS232
  • 1 connettore ICSP
  • 1 tasto per il reset
  • 1 pulsante di accensione
  • 1 EEPROM 24C512
  • 1 display LCD alfanumerico
  • 1 tastiera numerica
  • 1 potenziometro
Figura 4: La board 2

Figura 4: La board 2

PIASTRE 3 E 4

Le board 3 e 4 emulano la scheda di sviluppo “McLab2”. Le due schede sono le stesse. Cambia solo il microcontrollore: nella board 3 è presente il PIC16F877A mentre nella 4 c’è il PIC18F452. La dotazione comprende:

  • 1 display LCD alfanumerico
  • 4 display a 7 segmenti
  • 4 pulsanti e 4 diodi LED
  • 1 buzzer
  • 1 EEPROM 24C04 con protocollo I2C
  • 1 comunicazione Seriale RS232
  • 1 convertitore A/D (ADC)
  • 1 porta di espansione di I/O
  • 1 interruttore di accensione
  • 1 pulsante di reset
Figura 5: La board 3 e 4 emulano la scheda McLab2

Figura 5: Le board 3 e 4 emulano la scheda McLab2

PIASTRE 5 E 6

Infine, le board 5 e 6 emulano la scheda di sviluppo PICGenios di microgenios, che utilizzano rispettivamente i microcontrollori PIC16F877A e PIC18F452. Per il resto le due schede sono uguali. Le schede mettono a disposizione tantissime periferiche e funzioni complesse; tra le più importanti ricordiamo:

  • 1 display LCD alfanumerico 16x4 in modalità 4 e 8 bit
  • 4 display a 7 segmenti con multiplex
  • 1 tastiera a matrice composta da 12 tasti
  • 7 pulsanti per accesso diretto alle porte
  • 3 pulsanti per la simulazione di interrupt esterni (INT0, INT1 e INT2)
  • 16 diodi LED per un controllo visivo degli stati logici delle porte
  • 2 relè NO/NC per pilotare carichi esterni 10A/220V
  • 1 RTC - Real Time Clock con batteria
  • 1 canale seriale RS232
  • 1 canale USB 2.0
  • 1 connettore PS/2
Figura 6: La board 5 e 6 emulano la complessa scheda PICGenios

Figura 6: Le board 5 e 6 emulano la complessa scheda PICGenios

COME SI USA

L’utilizzo del programma “PICsim - PIC microcontroller simulator” è molto semplice. E' sufficiente infatti accedere al menu “File” e selezionare la voce “Load Hex”. Appena caricato il file HEX, prodotto dalla compilazione del sorgente, il programma è immediatamente eseguito dall’emulatore ed i risultati sono visibili sulle periferiche di output. Ricordiamo che il file HEX è il risultato finale della compilazione del listato sorgente. Esso può essere generato utilizzando qualsiasi linguaggio di programmazione per microcontrollori (C, Basic, Pascal e Assembler).

Figura 7: La “vera” scheda di sviluppo PICGenios

Figura 7: La “vera” scheda di sviluppo PICGenios

 

Figura 8: Schema elettrico della board 2

Figura 8: Schema elettrico della board 2

 

Figura 9: Il caricament o di un file “HEX”

Figura 9: Il caricamento di un file “HEX”

CONCLUSIONI

Si tratta, dunque, di un programma che non può mancare nel laboratorio “virtuale” del programmatore di microcontrollori. La sua prova ne vale sicuramente la pena, sebbene il numero dei microcontrollori sia, al momento, estremamente ridotto.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend