Microcontrollers

Login to access the course.
Microcontrollers (Main course) B2B34MIK
Credits 4
Semesters Winter
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2C
Annotation
The goal of this course is to make students acquainted with recent interesting applications, smart sensors circuits and peripherals handled by microcontrollers. In a lab students will program their own applications and measure actual properties. Because of usage of a programming language C it will be possible to focus on the practical part of the realization.
Course outlines
1. The basic terms of microprocessor techniques and architecture of microcontrollers, input/output settings, LED and push button control.
2. Programming microcontrollers in C language, development environment and its possibilities, time-division multiplexing, seven-segment displays, matrix keyboard.
3. Interrupt control operation, sources, interrupt vectors and priorities, incremental encoders.
4. Graphic, alphanumerical and LED display control, touch panels, capacitive touch sensors.
5. Analog signal processing and control, AD and DA converters, voltage references.
6. Software and hardware timing.
7. Smart sensor applications, SPI, I2C,1-Wire, CAN.
8. Instruction set, assembler language, program and data memory, direct and indirect addressing, program run control, pipelining, conditional and unconditional branching.
9. Communication between PC and microcontroller, USART, USB, RS-232, RS-422, RS-485.
10. Processing of measured data, look-up tables, number conversion.
11. Control and regulation of low power motors (DC, stepper and servo motors), capture and compare modules, PWM and PID control.
12. GSM and GPS applications, RF identification and wireless sensor data transfer (Bluetooth, ZigBee, WiFi, IR), AT commands.
13. ARM core microcontrollers.
14. Configuration bits, clock signal sources, software and hardware solution of complex system stability and security, how to program a microcontroller, bootloader.
Exercises outlines
1. Introduction to the development environment, hardware and software switch debouncing, LED and push button control.
2. Matrix keyboard, seven-segment display, multiplex mode.
3. Interrupt control operation, priorities.
4. Graphic and alphanumerical displays.
5. AD converter applications, analog temperature sensor, DA converter.
6. Analog sensors (resistive touch panel, 3-axis accelerometer).
7. I2C communication (EEPROM, temperature and humidity sensor, proximity sensor).
8. SPI communication (preassure sensor, 3-axis gyroscope, DA convertor).
9. Microcontroller to PC communication (UART, RS232, USB).
10. RS-485 and CAN communication.
11. Stepper motors (including microstepping), servomotors and DC motors applications.
12. RFID aplications.
13. Data transfer via Bluetooth, ZigBee and WiFi.
14. GPS and GSM modules data receiving and processing, AT comands.
Literature
1. Robert B.Reese: Microprocessors From Assembly Language to C Using The PIC18Fxx2, Da Vinci Engineering Press, Hingham Massachusetts 2005
2. Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language, Second Edition, Prentice Hall, Inc., 1988
3. Yiu, J.: The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors Third Edition, Elsevier, 2014
Requirements
http://moodle.fel.cvut.cz/