Ecco una semplice guida sulla programmazione dei microcontrollori PIC con il mikroBasic. Esso è stato scritto specificatamente per i principianti che, inizialmente, incontrano alcune difficoltà nell’utilizzo e nella programmazione dei microcontrollori. L’approccio del tutorial è diverso da altre guide che si trovano su Internet. Esso infatti si concentra semplicemente su un singolo argomento, in modo tale da non far smarrire il lettore nel labirinto dei programmi e dei listati incomprensibili, presenti in rete. In questo modo si imparerà a gestire e pianificare l’argomento scelto e alla fine si può mettere “insieme” il tutto. La maggior parte degli esempi riportati è valida per tutte le famiglie di microcontrollori. Eventualmente, si può effettuare qualche piccola modifica per permettere l’adattamento di compatibilità. Gli esempi riportati hanno una difficoltà crescente.
Accensione di un diodo led
Questo esempio mostra come accendere un diodo led, collegato ad una porta del Pic.
program led main: trisb=%00000000 portb=0 portb=%00000001 end.
Accensione di due diodi led
Questo esempio mostra come accendere due diodi led, collegati ad altrettante porte del Pic.
program leds main: trisb=%00000000 portb=0 portb=%00001001 end.
Accensione di quattro diodi led
Questo esempio mostra come accendere quattro diodi led, collegati ad altrettante porte del Pic.
program leds main: trisb=%00000000 portb=0 portb=%01011001 end.
Accensione di due coppie di due diodi led
Questo esempio mostra come accendere due diodi led sulla PORTB e due diodi led sulla PORTC.
program leds main: trisb=%00000000 trisc=%00000000 portb=0 portc=0 portb=%10000001 portc=%00010001 end.
Lampeggio di un diodo led
Questo esempio mostra come far lampeggiare un diodo led, collegato ad una porta del Pic, al ritmo di un secondo (1/2 secondo acceso e 1/2 secondo spento).
program lampeggio main: trisb=%00000000 portb=0 while true portb.0=1 delay_ms(500) portb.0=0 delay_ms(500) wend end.
Lampeggio alternato di due diodi led
Questo esempio mostra come far lampeggiare alternativamente due diodi led, al ritmo di un secondo (1/2 secondo acceso e 1/2 secondo spento).
program lampeggio main: trisb=%00000000 portb=0 while true portb.0=1 portb.1=0 delay_ms(500) portb.0=0 portb.1=1 delay_ms(500) wend end.
Lampeggio a 4 a 4
Questo esempio mostra come far lampeggiare alternativamente 2 coppie di 4 led.
program lampeggio main: trisb=%00000000 portb=0 while true portb=%11110000 delay_ms(500) portb=%00001111 delay_ms(500) wend end.
Led Supercar
Questo esempio mostra come creare un gioco di luci scorrevoli unilateralmente.
program supercar dim k as byte dim potenza as byte main: trisb=%00000000 portb=0 while true potenza=1 for k=1 to 8 portb=potenza potenza=potenza*2 delay_ms(100) next k wend end.
Led Supercar 2
Questo esempio mostra come creare un gioco di luci scorrevoli bilateralmente, avanti e indietro. Il programma utilizza un vettore per contenere i valori dei vari stati dei led, nel gioco di luce.
program supercar dim k as byte const VETTORE as byte[14] = (1,2,4,8,16,32,64,128,64,32,16,8,4,2) main: trisb=%00000000 portb=0 while true for k=0 to 13 portb=VETTORE[k] delay_ms(100) next k wend end.
Semaforo
Questo esempio mostra come simulare un semaforo. I tempi di attesa sono indicativi.
program semaforo main: trisb=%00000000 portb=0 while true portb=%00000001 'Rosso delay_ms(1000) portb=%00000100 'Verde delay_ms(1000) portb=%00000110 'Verde + Giallo delay_ms(1000) wend end.