Go home
Torna indietro per altri tutorials

Tutorial
La programmazione
dei microcontrollori PIC
con il mikroBasic


di

Giovanni Di Maria - calimero22@yahoo.it




Tutorial

Pic e mikroBasic
Questo Tutorial:
Rev. [1] - 29 luglio 2012
Rev. [72] - 30 luglio 2012






Stato delle revisioni
RevisioneData
129 luglio 2012



Introduzione
Questo tutorial è una guida, in continuo aggiornamento, 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. Gli schemi elettrici riportati nel tutorial sono "animati", per simulare il funzionamento del circuito. 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.
Giovanni Di Maria




Notizie Legali
Questo tutorial è un documento gratuito e rimarrà sempre gratuito. È possibile visualizzarlo, utilizzarlo, stamparlo, ridistribuirlo e / o modificarlo, senza alcuna limitazione.




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.




Appendice A - Cosa scrivono i lettori