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 '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 (255) 10 = ( ) 2 (0) 10 = ( ) 2 (129) 10 = ( ) 2 (24) 10 = ( ) 2
ARRAY DI COSTANTI 'ARRAY DI COSTANTI Dim i As Byte Dim mask As Byte TRISB = % 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.
LUCI SCALA