Automation Engineers AB Pvt Ltd, NOIDA Job-Oriented Course on Embedded Microcontrollers & Related Software Stack Course Syllabus: Chapter# Topic Covered Duration MODULE 1 INTRO TO EMBEDDED SYSTEMS 2-1 Introduction to Embedded Systems What is an Embedded system? History of Embedded Need of Embedded System How do they work? Classification of Embedded Systems How Embedded System works Common characteristics 2-2 Computational Devices What is Computational Devices? Transistors Logic Gates Microprocessor vs. Microcontroller Types of Embedded Processors 2-3 Computer Architecture Fundamentals Basics of a Simple Computer RISC vs. CISC Architecture Harvard vs. Von-Neumann Architecture 2-3 Embedded Development Tools Assembler Interpreter Compiler Simulator Emulator Debugger 2-3 Computer Languages Low level languages High level languages Advantages of Low-level vs High-level Languages for Embedded Applications Interaction of languages with compilers Assembly Language o Addressing Modes o Directives of assembly languages o Arithmetic and Logic instructions o Jump and Branching instructions o Call and return instructions MODULE 2 EMBEDDED C AND C++ 30 minutes 2 hour 30 minutes
1-1 Programming in C Introduction to Embedded C C vs. Embedded C Basics of an Embedded C Program o Operators and Data Types o Conditional statements & Loop constructs o Arrays, Strings, Functions o Pointers 1-2 Advanced Topics in C Compiler Directives Storage Classes & Structure Recursion Call by Value vs Call by Reference Dynamic Memory Allocation Common Industry Conventions 1-3 Introduction to C++ OOPS Basics Function Overloading Constructors and Destructors Inheritance 1-4 Advanced Topics in C++ Programming with stdlib data structures o Stacks o Queues o Linked Lists Common Sorting Algorithms o Bubble sort o Insertion sort o Quick sort Linear and Binary Search File Stream Handling In-Depth view of Classes o Creating your own C++ Class MODULE 3 AVR MICROCONTROLLERS 3-1 AVR Microcontroller What is AVR? Features of the AVR Family Atmel ATmega16A ATmega16A Pin Description and Explanation ATmega16A Block Design Explanation 3-2 Registers & Memory of ATmega16 AVR Registers General Purpose Registers Special Purpose Registers AVR Memory (Flash & RAM & ROM) AVR I/O 8 hours
3-3 Interfacing with an LED LED Basics Interfacing Circuit of an LED Programming the LED interface o Blink an LED o LED Waterfall or Status Bar o Creating custom LED patterns 3-4 Interfacing with a Seven-Segment Display Seven-Segment Display Basics Interface Circuit Programming the 7 Segment Display interface o Show all Hexadecimal numbers 3-5 Interfacing with an LCD 16x2 LCD Basics How to communicate with 16x2 LCD? Interfacing 16x2 LCD with ATmega16 How to Program the 16x2 LCD? o Displaying your Name on LCD o Blinking Text on LCD o Scrolling/running Text on LCD o Automatic Counting of Numbers using LCD 3-6 Interfacing with Switches & Keyboard Matrix Switch & Key Matrix Basics o Interface Circuit o Debouncing basics o How to debounce a pushbutton? Programming with Switches/Key Matrix o Toggle logic using Button o Change lighting effects using button o Counting numbers using key matrix 3-7 Driving Motors/Actuators Introduction to Motors Types of Motors Interfacing with Motors Interfacing with Motors using ATmega16 L293D Dual H-Bridge Motor Driver Programming a Motor o Program a dual-motor robot car 30 mins
3-8 Interfacing Sensors What are Sensors? Sensor Categories Analog vs. Digital Sensors Interfacing with Infrared (IR) Sensor Interfacing with Light Sensor (LDR) Interfacing with Temperature sensor Interfacing with Sound Sensor Interfacing with PIR Motion Detector 3-9 Programming Timers & Counters Introduction to Timer & Counter Timer/Counters in ATmega328 Special Flag Registers o Output Compare Register (OCRn) o Timer/Counter Control Register (TCCR) o Timer/Counter register (TCNTn) o Timer/Counter interrupt flag register (TIFR) Programming of Timer & Counter o Flash an LED periodically using counter 3-10 Writing a Program for Serial Communication Programming Introduction to Serial Communication Types of Serial Communication Serial Communication in ATmega16 SPI/I2C Protocol USART in ATmega16 USART Registers Programming of USART 3-11 Using Interrupts in ATmega16 Introduction to Interrupts Type of Interrupts Interrupt Registers Programming Software & Hardware Interrupts 3-12 Interfacing with an Analog to Digital Converter (ADC) Introduction to ADC On-board ADC of ATmega16 ADC Registers Programming with an ADC Practice Session 3-13 Using the Watchdog Timer in Arduino Introduction to Watchdog timer Watchdog Timer Control Register How to configure WDT in ATmega16 How to use WDT in a program? Practice Session 30 mins
3-14 Interfacing of External Memory Introduction to External Memory Interfacing Introduction to I2C Protocol Using I2C library to read/write External Memory 3-15 Interfacing with Advanced Sensors Ultrasonic sensor Gyroscope Accelerometer DTMF MODULE 4 ARM MICROCONTROLLERS 4-1 ARM Processors Architecture Overview Introduction to ARM Beginning with LPC2148 Features of LPC2148 ARM Identification ARM Modes Interfacing an LED with LPC2148 Interfacing a pushbutton with LPC2148 4-2 Serial communication in ARM Basic serial communication with LPC2148 Using SPI/I2C protocol with ARM Interfacing an LCD with LPC2148 o Interfacing an LCD with LPC2148 in 4-bit mode 4-3 Programming Timers & Counters Timer/Counters in LPC2148 Special Flag Registers in LPC2148 Programming of Timer & Counter 4-4 Analog to Digital Converter (ADC) and Digital to Analog Converter (DAC) On-board ADC of LPC2148 o ADC Registers o Programming with an ADC On-board DAC of LPC2148 o DAC Registers o Programming with a DAC Using Temperature Sensor LM35 using ADC 4-5 Advanced Displays on ARM Interfacing Graphical LCD with LPC2148 Custom character map and generation on LCD with LPC2148 Dot Matrix LED Display Multiplexing Matrix with LPC2148 4-6 Zigbee Zigbee Basics Advantages and Disadvantages of Zigbee Understanding Zigbee Protocol Interfacing with Rain Detecting Sensor 4 hours 4-7 GSM Module using UART 5 hours
UART Basics Understanding AT Commands Interfacing with GSM Module using UART Sending and receiving configuration data of GSM Module Sending an SMS to your phone Receiving an SMS from your phone