Italiano
Italian
Si richiede una conoscenza di base dei sistemi di numerazione, dell’algebra Booleana e dei principali circuiti logici elementari.
A basic knowledge of numbering systems, Boolean algebra and the main elementary logic circuits is required.
• Lezioni di Teoria: 34 ore
• Esercitazioni: 8 ore
• Laboratorio: 6 ore.
• Theoretical lessons: 34 hours
• Exercises: 8 hours
• Laboratory: 6 hours.
Il corso intende dare agli studenti le conoscenze necessarie per il progetto di sistemi elettronici digitali basati su microcontrollori. A tal fine vengono studiate le fondamentali architetture di microcontrollori, gli elementi di programmazione in linguaggio assembly.
Il corso intende formare la capacità di applicare le conoscenze all’analisi delle specifiche di progetto, alla selezione e programmazione di sistemi elettronici digitali per il raggiungimento delle prestazioni desiderate, all’utilizzo dei tool per la programmazione dei microcontrollori.
Il corso fornisce competenze hardware e software per la progettazione di sistemi elettronici digitali basati su microcontrollore utilizzabili in diversi settori dell’ingegneria biomedica, delle telecomunicazioni, dei controlli automatici e dell’information technology in generale.
The course aims to provide the necessary knowledge for designing digital microcontrolled-based electronic systems. To this end the fundamental architectures of microcontrollers, the elements of assembly language programming.
The course is intended to train the students so that they acquire the capability of applying the knowledge to the design specifications, to the selection and programming of digital electronic systems to obtain the desired performance, to the using of tools for programming microcontrollers.
The course provides a multidisciplinary background on hardware and software for the design of digital microcontrolled-based electronic systems, which can be spent in the fields of biomedical engineering, telecommunications, automatic control and information technology in general.
Lezioni di teoria:
• Sistemi elettronici: generalità.
• Microcontrollori: generalità.
• Elementi di programmazione in linguaggio Assembly.
• PIC16F84, PIC16F8XX: architettura, registri, set d'istruzioni, porte parallele, alimentazione e clock.
• Gestione degli eventi: interrupt e polling.
• Gestione dei dati: indirizzamento indiretto, look-up tables.
• Temporizzazione: time delay, timers e pulse width modulation.
• Sezione analogica: ADC.
• Protocolli di comunicazione seriale: SPI, I2C, USART.
• Interazione utente: keypad, display.
Esercitazioni:
• Tutorial su ambiente di sviluppo MPLAB X IDE.
• Firmware in linguaggio Assembly per PIC16F887 per la gestione di:
- Porte parallele
- Processi tramite interrupt/polling
- Timers e PWM
- Modulo ADC
- Comunicazione seriale.
Laboratorio:
• Sviluppo di codice Assembly al PC tramite MPLAB X IDE per la realizzazione di progetti su board con PIC16F887.
Theoretical lessons:
• Electronic system: overview.
• Microcontrollers: overview.
• Basics of Assembly programming.
• PIC16F84 and PIC16F8XX: architecture, file register set, instruction set, parallel ports, power supply and clock oscillator.
• Dealing with peripheral control: interrupt and polling.
• Dealing with data: indirect addressing, look-up tables.
• Timing: time delay, timers and pulse width modulation.
• Data acquisition system: ADC.
• Serial Communication: SPI, I2C, USART.
• Human interfaces: keypad, display.
Exercises:
• Tutorial on MPLAB X IDE.
• Firmware in Assembly language for PIC16F887 to manage:
- Parallel ports
- Interrupts vs Polling
- Timers and PWM
- ADC module
- Serial Communication.
Laboratory:
• Development of Assembly code with the MPLAB X IDE on a PIC16F887-based board.
La valutazione del livello di apprendimento consiste in una prova orale che comprende la presentazione di un progetto, opportunamente concordato con il docente, e la discussione di temi trattati nel corso. Il progetto consiste tipicamente in un'attività pratica di approfondimento degli argomenti trattati a lezione.
Per superare l'esame con esito positivo, la studentessa / lo studente dovrà mostrare di avere acquisito le metodologie e le tecniche di progettazione di sistemi elettronici digitali.
Attribuzione del voto finale in trentesimi, con eventuale lode.
Il voto minimo per il superamento dell'esame è 18/30.
La prova orale sarà articolata sulla discussione di un progetto, con riferimento all'approccio utilizzato ed ai risultati ottenuti, e su domande relative agli argomenti del programma.
The knowledge and understanding is evaluated through a verbal examination which includes the presentation of a project proposed by the teacher and a discussion that focuses on specific topics of the course. The project is typically a practical implementation of the topics covered in the course.
To pass the exam, the student will have to prove knowledge of all the methodologies and techniques for designing digital electronic systems.
Attribution of the final mark on a 30-point scale, with possible praise.
The minimum mark for passing the exam is 18/30.
The oral examination will be focused on the discussion of a project, with reference to the approach used and the results obtained, and questions concerning the course topics.
• Tim Wilmshurst, “Designing Embedded Systems with PIC Microcontrollers”, Elsevier, 2007
• Martin Bates, “PIC Microcontrollers: an introduction to microelectronics”, Elsevier, 2011
• Dispense a cura del docente, reperibili sul sistema Moodle di ateneo: https://learn.univpm.it
• Tim Wilmshurst, “Designing Embedded Systems with PIC Microcontrollers”, Elsevier, 2007
• Martin Bates, “PIC Microcontrollers: an introduction to microelectronics”, Elsevier, 2011
• Lecture notes by the teacher, available through the university's Moodle platform: https://learn.univpm.it
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427