Subject: Microcontrollers

Scientific Area:

Electronic and Automation

Workload:

64 Hours

Number of ECTS:

6 ECTS

Language:

Portuguese

Overall objectives:

Explain the working principle of microcontrollers;  
Develop programs in assembly language and C language for microcontrollers;
Analyze and design electronic circuits of microcontroller-based systems.

Syllabus:

1- Basic concepts of microcontroller architecture.  
2 - Execution of programs in memory.
3 - Instruction set.
4 - Subroutines.
5 - Interruptions.
6 - Peripherals.
7 - Oscillator, power supply, configuration and reset.
8 - Parallel interface.
9 - Serial interface.
10 - Clocks, counters and gauges.
11 - Reading and writing of analog signals.
12 - Reading and writing of data in the internal EEPROM and in the program flash memory.

Literature/Sources:

Myke Predko, Programming and Customizing the 8051 microcontroller, McGrawHill,1999.

José Manuel Martins Ferreira, Introdução ao Projecto com Sistemas Digitais e Microcontroladores, FEUP Edições, 1998.

Dogan Ibrahim, Microcontroller Projects in C for the 8051, Newnes, 2000.

Assesssment methods and criteria:

Theoretical-practical assessment components (40%):  
TP1 - First theoretical-practical frequency, with a weight of 20% in the final assessment;
TP2 - Second theoretical-practical frequency, with a weight of 20% in the final assessment.
Note: the average of the scores of the two frequencies must be greater than or equal to 8 values.
Laboratory practice assessment components (60%):
PL1 - First practical assessment work, with a weight of 20% in the final assessment;
PL2 - Second practical assessment work, with a weight of 20% in the final assessment;
PL3 - Third practical assessment work, with a weight of 20% in the final assessment.
Note: the average of the grades of the three works must be greater than or equal to 8 values.
Final grade (NF) of the discipline: NF = 0.20xTP1 + 0.20xTP2 + 0.20xPL1 + 0.20xPL2 + 0.20xPL3.
Checking the following conditions: NF >= 10 values; (TP1 + TP2)/2 >= 8 values; (PL1 + PL2 + PL3)/3 >= 8 values.