ES01-LedsOn
-------------------------------------------------------------------------------------------------------------
Simulazione del funzionamento di un semaforo intelligente utilizzando led e pulsanti
-------------------------------------------------------------------------------------------------------------
LAB04 - Gioco Pong
Gioco di velocità utilizzando led e pulsanti collegati al microcontrollore
- Gestione dei GPIO del micro
PREMESSE TEORICHE
- GPIO
- Pullup Puldown, Output push pull
- I registri del MCU
L'HARDWARE
PROCEDIMENTO / SPECIFICHE INIZIALI
Step1 - Creazione delle seguenti routine:
LedInit ;Inizializzazione dell'hardware
Led00On ;Accensione,spegnimento e toggle di tutti gli otto led
Led00Off
Led00Toggle
Delay1sec ;Realizzazione di una routine di ritardo
LedTest ;Test dei led
Controllo con l'oscilloscopio della durata della routine di ritardo
Step2
Step finale
Descrizione del progetto
Disegno del flowchart
Codice
Collaudo
-------------------------------------------------------------------------------------------------------------
; Project: Assembler Template <nome del progetto>
; Date: 24/10/16
; Author: <inserire il nome dell'autore>
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
; <inserire una breve descrizione del progetto>
; <specifiche del progetto>
; <specifiche del collaudo>
;
; Ver Date Comment
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; 1.0 24/10/16 Versione iniziale
; <Descrivere per ogni revisione o cambio di versione le modifiche apportate>
;
;==========================================================================================
;------------------------------------------------------------------------------------------
;=== AREA DATI ============================================================================
;------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------
;=== AREA ISTRUZIONI ======================================================================
;------------------------------------------------------------------------------------------
AREA MyCode, CODE, READONLY, ALIGN=2
THUMB
;------------------
; Include
;------------------
INCLUDE HwConfig.inc
;------------------
; EXPORT/IMPORT
;------------------
EXPORT Main
IMPORT LedInit
IMPORT LedTest
ENTRY
;------------------------------------------------------------------------------------------
;=== MAIN ROUTINE =========================================================================
;------------------------------------------------------------------------------------------
Main
; Inizializzazioni
BL LedInit
; Autodiagnostica
BL LedTest
MainLoop
B MainLoop
fine B fine
;------------------------------------------------------------------------------------------
ALIGN
END ;end of program
;------------------------------------------------------------------------------------------
LAB03 - LedBlink
Accensione e spegnimento dei led presenti sulla Launchpad
OBIETTIVI DISCIPLINARI
- Organizzazione del codice con subroutine e in moduli separati
PROCEDIMENTO / SPECIFICHE INIZIALI
Per il main utilizzare questo template:
;==========================================================================================; Project: Assembler Template <nome del progetto>
; Date: 24/10/16
; Author: <inserire il nome dell'autore>
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
; <inserire una breve descrizione del progetto>
; <specifiche del progetto>
; <specifiche del collaudo>
;
; Ver Date Comment
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; 1.0 24/10/16 Versione iniziale
; <Descrivere per ogni revisione o cambio di versione le modifiche apportate>
;
;==========================================================================================
;------------------------------------------------------------------------------------------
;=== AREA DATI ============================================================================
;------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------
;=== AREA ISTRUZIONI ======================================================================
;------------------------------------------------------------------------------------------
AREA MyCode, CODE, READONLY, ALIGN=2
THUMB
;------------------
; Include
;------------------
INCLUDE HwConfig.inc
;------------------
; EXPORT/IMPORT
;------------------
EXPORT Main
IMPORT LedInit
IMPORT LedTest
ENTRY
;------------------------------------------------------------------------------------------
;=== MAIN ROUTINE =========================================================================
;------------------------------------------------------------------------------------------
Main
; Inizializzazioni
BL LedInit
; Autodiagnostica
BL LedTest
MainLoop
B MainLoop
fine B fine
;------------------------------------------------------------------------------------------
ALIGN
END ;end of program
;------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
LAB02 - Algoritmi
Implementazione di classici algoritmi in assembler
-------------------------------------------------------------------------------------------------------------
LAB01 - Installazione e configurazione di Keil uVision 5
OBIETTIVI DISCIPLINARI
- Installazione dell'ide Keil uVision5
- Familiarizzazione con l'ide Keil uVision5
PROCEDIMENTO / SPECIFICHE INIZIALI
- Scaricare e installare Keil uVision, scaricare e installare TivaC MDK5 Software Packs
- Installare i drivers Stellaris ICDI Drivers per l'In-Circuit Debug Interface
- Creare un nuovo progetto Keil, scegliendo come device TM4C123GH6PM
- copiare il file c:\Keil_v5\ARM\Pack\Keil\TM4C_DFP\1.1.0\Device\Source\ARM\startup_TM4C123.s nella cartella del progetto appena creato e aggiungere il file ai sorgenti del progetto
- modificare le opzioni del target (menu flash--> configure...), impostando nel debug "use Simulator", nella scheda target disabilitare il Floating Point Hardware
ESERCITAZIONE
OBIETTIVI / ARGOMENTI TRATTATI
PROCEDIMENTO / SPECIFICHE INIZIALI
GRIGLIA DI VALUTAZIONE:
[2 punti] - relazione: premesse teoriche/specifiche - come va inizializzato l'hw
[2 punti] - relazione: diagramma di flusso
[2 punti] - implementazione del codice in assembler (blinky_white, blinky_switch)
[2 punti] - utilizzo dell'ambiente di sviluppo (creazione progetto, debug)
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo
RIFERIMENTI / LINK
Versione iniziale del 21/02/18
OBIETTIVI / ARGOMENTI TRATTATI
PROCEDIMENTO / SPECIFICHE INIZIALI
[2 punti] - relazione: premesse teoriche/specifiche - come va inizializzato l'hw
[2 punti] - relazione: diagramma di flusso
[2 punti] - implementazione del codice in assembler (blinky_white, blinky_switch)
[2 punti] - utilizzo dell'ambiente di sviluppo (creazione progetto, debug)
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo
RIFERIMENTI / LINK
RIFERIMENTI
- ARM® Cortex®-M4F Based MCU TM4C123G LaunchPad™ Evaluation Kit
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- Convenzioni per la scrittura di codice C nei sitemi embedded
- http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C6_MicrocontrollerPorts.htm
- https://github.com/filippo-bilardo
- [PDF] TM4C123G LaunchPad Workshop
- Getting Started with the TI Tiva TM4C123GXL LaunchPad Evaluation Board
- ARM® Cortex®-M4F Based MCU TM4C123G LaunchPad™ Evaluation Kit
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- Convenzioni per la scrittura di codice C nei sitemi embedded
- http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C6_MicrocontrollerPorts.htm
- https://github.com/filippo-bilardo
- [PDF] TM4C123G LaunchPad Workshop
- Getting Started with the TI Tiva TM4C123GXL LaunchPad Evaluation Board
-------------------------------------------------------------------------------------------------------------
Nessun commento:
Posta un commento