Tutorials - PIC - Corso C

 

Un corso C per principianti 


Un corso per l'uso pratico dei PIC.

Iniziamo un corso dedicato ai principianti che intendono utilizzare il linguaggio C per provare fare qualcosa con i microcontroller, ma non sanno bene da dove cominciare.

Uno degli scopi principali non è quello di fornire schetch pronti, ma di far comprendere in dettaglio come funzionano le varie periferiche del microcontroller, in modo tale da poterle utilizzare a pieno.
Queste lezioni saranno essenzialmente centrate sulla spiegazione più dettagliata possibile dei vari passi necessari per raggiungere il risultato proposto da ogni tema, con esempi facilmente riproducibili e che possano essere una traccia per applicazioni proprie. 

Nonostante questo, però, è occorre che ci sia una conoscenza, anche minima, dell' elettrologia e dell' elettronica elementare, perchè si dovrà per forza di cose parlare di corrente, tensione, resistenza, LED, condensatori, funzioni logiche, ecc.  
Microprocessori e  microcontroller sono il vertice dell' attuale elettronica, iniziata con lo studio dei fenomeni elettrici a partire, non diciamo dalla pila di Bagdad, ma almeno da quella di Volta, oltre 200 anni fa. Questo vuol dire che nell' argomento sono inserite indissolubilmente cognizioni sviluppate durante questo lungo tempo.
Così come non è possibile leggere il Faust di Goethe in lingua originale senza conoscere una parola di tedesco, così può diventare difficile l'approccio corretto alla programmazione dei microcontroller se si è a digiuno completo su quanto riguarda il fenomeno elettrico ed elettronico. Specialmente per quanto riguarda il microcontroller che ha a che fare direttamente con l'hardware elettronico e non solo. 

Se vi mancano molte basi, non per questo dovete rinunciare: le esercitazioni saranno trattate nel modo quanto più ampio possibile, ma si renderà necessario completare la conoscenza mancante lungo la strada.

Ribadiamo che non si tratta di qualche pagina generica che presenta "progettini" più o meno brillanti e attorno ai quali poi dovete arrangiarvi; non è una collezione di qualche informazione per realizzare oggetti più o meno complicati, da copiare e replicare senza capirci molto, ma si tratta di una serie di lezioni in cui facciamo il possibile per approfondire esempi pratici e trattazione teorica e nelle quali è richiesto un certo impegno, come peraltro in tutte i percorsi che hanno una meta. Qui, si cerca raggiungere una autonomia nella conoscenza non superficiale dei microcontroller e della programmazione.

In particolare, le esercitazioni saranno sviluppate su microcontroller PIC di Microchip, a 8 bit, partendo dalla famiglia Enhanced Midrange, che è la più recente e che offre un ambiente molto più ampio e dinamico rispetto alle precedenti famigli Baseline e Midrange. Viene utilizzato l' ambiente IDE MPLAB X offerto gratuitamente da Microchip e il compilatore XC8.


E' un work-in-progress: data la mole del lavoro che comporta la stesura dei testi delle lezioni e dei sorgenti delle esercitazioni, il corso si svolgerà in un certo arco di tempo.


Lista delle esercitazioni.

Tutti gli esempi sono composti disponibili come file .zip contenenti da un testo in pdf, i progetti MPLAB X ed eventuali files ausiliari.

0 Introduzione. Cosa serve per cominciare. Informazioni sull'hardware e sul software.
1 Accendere il LED. Uso degli I/O digitali. Il sorgente XC8. I progetti MPLAB.
2 LED lampeggiante. Oscillatore interno. Temporizzazioni in XC8.
3 LED comandato da pulsante. Ingressi digitali. Debounce.
4 Sleep, IOC, WDT.
5 Come passare un sorgente da un chip ad un altro. I pin non utilizzati.
6 Display a 7 segmenti. Array e lookup table.
7 Altre possibilità degli I/O degli Enhanced Midrange. 
8 Timer 0 e Interrupt.
9 Multiplex display a 7 segmenti. Cicli switch e for.
10 Funzioni analogiche: Comparatori e Riferimento di Tensione.
11 Funzioni analogiche: il DAC.
12 Funzioni analogiche: l' ADC.
13 La funzione printf().
14 Timer 2. Nuove funzioni Enhanced.
15 PWM.
16 ECC/PWM.
17 PWM 16bit. Nuove funzioni Enhanced.
18 UART, USART, EUSART...
19 LCD: un piccolo driver per connessione parallela 4 e 8bit per moduli LCD a caratteri   
20 LCD: connessione moduli LCD su bus SPI    
21 LCD: connessione moduli LCD su bus I2C    
22 Encoder : lettura impulsi e direzione   
23 MCP9700 misura della temperatura 
24 PCF8574 I/O expander su LCD 


 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 02/05/24.