Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
ARCHITETTURA DEI SISTEMI ELETTRONICI
LEZIONE N° 30 Linguaggio ASSEMBLER per AVR Diagramma di flusso Esempio 1 Esempio 2 A.S.E.
2
Richiami Architettura del “AT90S8515” (ATMEL) Set di istruzioni A.S.E.
3
Instuction Set Manuale AVR Istruzioni Dispositivo A.S.E.
4
Diagramma di flusso Etichetta Funzione Subroutine Scelta A.S.E.
PROGRAM Etichetta Funzione Subroutine Scelta R6 = R6 + R3 BCD Y A = B N A.S.E.
5
Esempio LED Si accende il LED corrispondente al pulsante premuto
A.S.E.
6
Esempio LED-SHIFT Si accendono in sequenza i LED in corrispondenza di un qualunque pulsante premuto A.S.E.
7
Esempio 1 Realizzazione di una rete sequenziale sincrona A.S.E.
8
Pulsanti di sicurezza Descrizione del ciclo
L’operatore deve avere le due mani impegnate quando la macchina si avvia inizialmente nessun pulsante è premuto deve essere premuto il pulsante destro (R), o Sinistro (L) si attende che sia premuto l’altro pulsante e si da lo start (U) quando si rilascia un pulsante si interrompe lo start per poter iniziare nuovamente il ciclo è necessari che entrambi i pulsanti siano rilasciati A.S.E.
9
Definizioni Ingressi Uscita Registri R16 = IN = ingressi
PORT-D bit-0 = Sinistro (L) bit-7 = Destro (R) n.b. I pulsanti sono attivi bassi (normalmente a 1) Uscita PORT-B bit-2 = Start (S) n.b. L’uscita è attiva bassa (normalmente a 1) Registri R16 = IN = ingressi R17 = OUT = uscita A.S.E.
10
Diagramma di Flusso IN = PIND•81 PORB = FB PORTB = FF IN=00
D - PULS IN = PIND•81 PORB = FB PORTB = FF Y IN=00 IN = PIND•81 DDRB = FF Y Y IN=81 IN=00 PORTD = FF PORB = FF IN = PIND•81 DDRD = 00 Y IN=01 IN = PIND•81 N Y IN=80 IN=81 Y IN=00 A.S.E. n
11
Utilizzo della maschera
Degli 8 bit di ingresso ci interessano solo il primo e l’ultimo Per mettere a “0” i bit 6 – 1 si può utilizzare una “maschera” e quindi fare l’AND A.S.E.
12
Confronto U 0,0 1,1 0,1 1,0 A.S.E. a 00 y b 01 d 10 c 11 n IN=00 Y
PORTB = FF D - PULS DDRB = FF PORTD = FF DDRD = 00 IN = PIND•81 IN=81 IN=01 IN=80 PORB = FB PORB = FF N 0,0 1,1 U 0,1 1,0 a 00 y b 01 d 10 c 11 A.S.E. n
13
Ambiente di sviluppo Collegamento ad AVR STUDIO A.S.E.
14
Misuratore di riflessi
Esempio 2 Misuratore di riflessi Caratteristiche Funzionamento Descrizione del codice A.S.E.
15
Misuratore di riflessi Caratteristiche
Attivato dal tasto D0 Accende tutti i led per qualche secondo Spegne e inizia la misura Accende un led ogni 25 ms (92250 cicli) Si blocca se viene premuto nuovamente il tasto Valore medio del tempo di reazione: 0,1 s Circa 5 led accesi Aspetta una nuova attivazione Indicazioni per la scrittura del codice Clock scheda: 3.69 MHz Risolubile senza l’uso di interrup A.S.E.
16
Misuratore di riflessi Funzionamento
Tasto On Off On 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Led 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 25 ms A.S.E.
17
Ambiente di sviluppo Collegamento ad AVR STUDIO A.S.E.
18
Conclusioni Linguaggio ASSEMBLER per AVR Set di istruzioni
Diagramma di flusso Esempi A.S.E.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.