PIC16F84A
(seconda lezione)
VARIABILI E COSTANTI
VARIABILI
'program scanner
Dim k As Byte
Dim inizio As Byte
Dim fine As Byte
main:
TRISB = 0 'PORTB OUTPUT
PORTB = 0 'Spegne portb
inizio = 30 'Stabilisce punto iniziale
fine = 200 'Stabilisce punti finale
ciclo:
For k = inizio To fine
PORTB = k 'Visualizza il byte
WaitUs 10 'Aspetta
Next k
End
COSTANTI
(255)10 = (11111111)2
(0)10 = (00000000)2
(129)10 = (10000001)2
(24)10 = (00011000)2
'program costanti
Const nessuno = 0 'Tutti Led spenti
Const tutti = 255 'Tutti Led accesi
Const primoultimo = 129 'Primo e Ultimo ON
Const centrali = 24 'Led centrali ON
main:
TRISB = 0 'PORTB in OUTPUT
PORTB = 0 'Spegne portb
PORTB = tutti 'Accende TUTTI i LED
WaitUs 100
PORTB = nessuno 'Spegne tutti i LED
WaitUs 100
PORTB = primoultimo 'Accende primo e ultimo led
WaitUs 100
PORTB = centrali 'Accende i due LED centrali
WaitUs 100
PORTB = 0 'Spegne TUTTO
End
ARRAY DI COSTANTI
'ARRAY DI COSTANTI
Dim i As Byte
Dim mask As Byte
TRISB = %00000000
For i = 0 To 13
mask = LookUp(1, 2, 4, 8, 16, 32, 64, 128, 64, 32, 16,
8, 4, 2), i
PORTB = mask
WaitUs 100
Next i
End
PROGRAMMA INGRESSI/USCITE
■ Si hanno quattro pulsanti e 4 diodi LED.
■ I 4 LED saranno collegati su RB0, RB1, RB2, RB3 (Output).
■ I 4 pulsanti (normalmente aperti) saranno collegati su RB4, RB5, RB6, RB7
(Input).
■ Inizialmente i 4 LED saranno spenti.
■ Se l’utente non preme alcun tasto non succede nulla.
■ Se si preme il primo pulsante (su RB4) i quattro LED lampeggeranno per
cinque volte (5) alla frequenza di 1 Hz, poi si spegneranno.
■ Se si preme il secondo pulsante (su RB5) i quattro LED si accenderanno in
sequenza per un secondo (1 secondo il primo, un secondo il secondo, un
secondo il terzo e un secondo il quarto).
■ Se si preme il terzo pulsante (su RB6) i quattro LED staranno accesi per tre
secondi, poi si spegneranno.
■ Se si preme infine il quarto pulsante (su RB7) i quattro LED lampeggeranno
per cinquanta volte (50) alla frequenza di 100 millisecondi.
■ Il software deve essere ciclico ed infinito, cioè una volta terminato un evento,
aspetterà il verificarsi del successivo.
ALGORITMO
LUCI SCALA
In un scala condominiale solitamente le luci sono spente, per un
motivo prettamente economico. In prossimità degli interruttori restano
però illuminate delle piccole lampadine che anche al buio danno la
possibilità di orientarsi e di trovare subito il pulsante.
Se a questo punto quest’ultimo viene premuto,si accendono
immediatamente le luci della scala, per un periodo di tempo deciso in
sede condominiale. Ma contemporaneamente le piccole lucine di
orientamento si spengono, essendo ormai del tutto inutile il loro
funzionamento.
Dopo questo breve tempo di “attività” del circuito, le luci scala si
spengono nuovamente e si riaccendono le piccole lampadine di
orientamento; il sistema resta quindi in attesa di un nuovo impulso del
pulsante.
Scarica

PIC16F84A_2