Guida pratica al PIC 16F84

Il mio vecchio tutorial sul PIC 16F84. La guida risale all’ormai lontano 2004 ed è ancora oggi molto “navigata” da hobbisti e tutti quelli che si vogliono avvicinare al mondo dell’embedded.

Questo modello di PIC ha avuto grande successo in passato perchè molto utilizzato con le simcard pirata per il satellitare e per il suo bassissimo costo. Ricordo che la Microchip (il produttore del PIC) decise di metterlo online come free-sample aprendo la strada alla moltitudine di smanettoni (compreso me) che impararono ad usarlo.

 

Oggi esistono versioni di PIC molto più avanzate, ricche in funzionalità (vedi ad esempio la famiglia PIC 18Fx) e a minor prezzo: non ci sono proprio più scuse a voler contiuare ad usare il 16F84 se non per scopi didattici.

In ogni caso, la guida permette di entrare gradualmente nel mondo dell’embedded. Vengono coperti tutti gli aspetti del PIC, dall’architettura di massima al linguaggio assembler. In più viene mostrato come realizzare il primo programma in ambiente MPLAB, compilarlo ed inserirlo all’interno del micro. L’esempio riguarda il classico LED lampeggiante, l’equivalente embedded dell’intramontabile “Hello World”.

La guida si trova a questo indirizzo:

http://gianluca82.altervista.org/pic16f84/data/indice.html

Indice generale:

Introduzione alla guida

  • Il PIC 16F84
    • Introduzione
    • Caratteristiche
    • Piedinatura
    • Il piedino #MCLR
    • Oscillatore esterno
      • XT
      • RC
      • LP e HS
    • Struttura interna del PIC
  • Memoria RAM/FLASH/EEPROM
    • La memoria dati (memoria RAM)
      • I registri SFR
      • I registri GPR
    • La memoria istruzioni (memoria FLASH)
      • Il program counter
    • La EEPROM
  • Linguaggio assembly – parte I
    • Introduzione
    • Concetti generali
    • Operazioni di base
      • Set e clear dei bit (BSF e BCF)
      • Selezione del banco RAM
      • Spostare i dati (MOVF, MOVWF e MOVLW)
      • Azzerare i registri (CLRF e CLRW)
      • No operation (NOP)
      • Salto incondizionato (GOTO)
      • Salti condizionati (BTFSC, BTFSS, DECFSZ e INCFSZ)
      • Cicli di delay
  • Utilizzare le porte di I/O
    • Le porte di I/O
    • Caratteristiche elettriche
      • Linee porta A
      • Linee porta B
    • Lettura e scrittura
    • Esempi software
    • Esempi di collegamento
      • Utilizzare i piedini come ouput
      • Utilizzare i piedini come input
  • Linguaggio assembly – parte II
    • Operazioni logiche
      • AND logico (ANDWF e ANDLW)
      • OR logico (IORWF e IORLW)
      • XOR logico (XORWF e XORLW)
      • NOT logico (COMF)
    • Operazioni aritmetiche
      • Addizione (ADDWF e ADDLW)
      • Sottrazione (SUBWF e SUBLW)
      • Decremento (DECF)
      • Incremento (INCF)
    • Operazioni di modifica dei registri
      • Rotazione (RRF e RLF)
      • Nibble-swap (SWAPF)
    • Chiamata a funzione
      • Chiamata a funzione (CALL)
      • Ritorno semplice (RETURN)
      • Ritorno con parametro (RETLW)
  • Programmare il PIC
    • Fasi di sviluppo
    • Costruzione del programmatore
      • Funzionamento e schema elettrico
      • Configurazione di ICPROG
    • L’ambiente MPLAB
      • Creazione del progetto e del programma
      • Compilazione
    • Debug del codice
    • Programmazione del pic
  • Sistema di interrupt
    • Interrupt dal piedino RB0/INT
    • Interrupt da RB4..RB7
    • Interrupt per completamento della fase di scrittura della EEPROM
    • Interrupt dal timer TIMER0

Leave a Reply

avatar