Programma in Assembly Per Accendere LED
Programma in Assembly Per Accendere LED
accendere LED
Obiettivo generale........................................................................................................................ 3
Obiettivi specifici............................................................................................................... 3
Planteamento............................................................................................................................ 3
Giustificazione............................................................................................................................... 3
Introduzione
Sviluppo
Codice assembly................................................................................................................ 5
Pruebas pilota............................................................................................................................ 7
Conclusioni............................................................................................................................. 7
Riferimenti.......................................................................................................................... 8
Obiettivo generale.
Creare un programma in assembler utilizzando i mnemonici necessari per
accendere i LED.
Obiettivi specifici.
Accendere il LED in modo intermittente.
Controllare la velocità di accensione
Piantamento.
Accendere alcuni LED può sembrare qualcosa di semplice a prima vista, senza
embargo, questo è un principio; il più fondamentale riguardo a varie tecnologie,
vediamo LED inclusi in tutti i tipi di apparecchi oggigiorno, per dare un'idea così
possiamo solo vedere i semafori, questi sono programmati per accendersi per un
periodo di tempo.
Giustificazione.
Per accendere questi LED sarà necessario un linguaggio utilizzato
presente in quasi tutto, riferito al linguaggio assembly, il quale è un metodo di
codifica che viene interpretata dalla macchina per eseguire le istruzioni
che vengano programmati attraverso questo.
Introduzione.
Riprendendo quello che è un linguaggio assembler, è un modo molto efficace di
programmare poiché attraverso di esso si può specificare esattamente ciò che la
il computer vuole che io faccia usando il minor numero di istruzioni possibile, inoltre
Da questo, il linguaggio assembly consente di accedere a funzioni di basso livello.
del processore per eseguire compiti che non sono supportati dai linguaggi ad alto
livello.
Una volta chiarita l'efficacia del linguaggio assembly per realizzare vari
istruzioni, e tra queste istruzioni è incluso il controllo dell'accensione e
spegnimento di alcuni LED, il tempo di accensione e spegnimento e la velocità di
accensione; si descriverà in modo dettagliato e attraverso prove il modo
di controllare queste azioni.
Sviluppo
Per accendere in modo efficace i LED è stato utilizzato il programma MPLAB
per sviluppare il codice assembler e si è utilizzato il programma proteus per simulare
assemblando il circuito, per questo circuito è stato utilizzato il PIC16F84A, due resistenze
di 200 ohm e due led di colore giallo
ELENCO P=16F84A
TIEMPO EQU 0x0C ;Variabile che viene memorizzata nella posizione C
ORG 0
ACCENDERE
BSF PORTB, 6 ;Stabilisce un 1 logico nella porta B del pin 6
BSF PORTB, 1 ;Stabilisce un 1 logico nella porta B del pin 1
CHIAMATA RITARDO ;Subroutine che controlla il tempo di accensione
CALL RETARDO
CHIAMATA IN RITARDO
CHIAMA RITARDO
CALL RETARDO
CHIAMATA RITARDO
CALL RETARDO
CHIAMA RITARDO
CHIAMATA RETARDATA
CHIAMATA IN RITARDO
CHIAMATA RITARDO
CALL RETARDO
CHIAMATA IN RITARDO
CHIAMATA RITARDATA
CHIAMATA RITARDATA
CHIAMA RITARDO
CHIAMATA RITARDATA
RITARDO
MOVLW D'255' ;Stabilisce un valore di 255 a W
MOVFW TIEMPO ;LE ASSEGNA 255 (quello che porta W) alla variabile tempo
DEC ;SUBRUTINA
DECFSZ TEMPO ;DECREMENTA IL VALORE DI 255 DI 1 FINO A QUANDO
MARE 0
GOTO DEC ;SE NON È 0 TORNA ALLA SOTTOROUTINA DEC
restituire
FINE
Pruebas pilota
Conclusioni
È superfluo menzionare che il semplice fatto di accendere un LED o due LED
sembra un compito facile, tuttavia, per raggiungere questo è necessario conoscere la funzione di
ogni mnemonico che può essere usato per programmare ogni PIC; ogni PIC porta una
documentazione che ci spiega dalla struttura interna di quel PIC fino a
come funziona ogni blocco, quali mnemonici o istruzioni possono essere utilizzati per
controllarlo.
In questo caso è stata utilizzata la documentazione del PIC16F84A per capire come
si può programmare questo microcontrollore, quali blocchi si possono utilizzare per
memorizzare variabili, quali valori può gestire, quante uscite e ingressi ci sono
possono stabilire, come configurare i loro registri, ecc.
Riferimenti
[Link]
[Link]
Non posso accedere a contenuti esterni o documenti.