Course: Microcontrollers
School School of Engineering
Department Electronics and Communication Engineering
Programme [Link].
Course Title MICROCONTROLLERS
Course Code 20EC2403
Year 2020-2024
Semester 4th semester
Name of the Faculty Member Mr. Abhinav Karan, Dr Bhawani Patnaik
e-mail id abhinav-cse@[Link], [Link]-ece@[Link]
Course Size and Instruction Method
Cr Credits L L T T PPP H Hours//Week
$ 4 3 3 1 1 0 2 44 4
Total Semester hours: 4*13=52 hrs
Mentoring Hours: 1 hr/week
Conduction of Classes: As per Time Table
Course Details
Course Aim and Summary
The course ‘Microcontrollers’ aims to introduce architectural details and programming model. During the course
interfacing of microcontroller with various peripherals and Memory structure are discussed. Interrupts handling
with Clock and RESET circuits are presented. Realization of embedded system using microcontrollers for
application development.
Course Objectives
The objectives of the Course are:
1. To understand the architecture of microcontroller and the basics of assembly language programming.
2. To explore the Programming model, Instruction set and Addressing modes supported by microcontroller.
3. To understand Memory Structure related to Program and Data memory.
4. To gain knowledge on Parallel and serial data transfer methods.
5. To discuss various interrupt handlers and their implementations.
6. To understand programming microcontrollers using Embedded C and interfacing logic with various peripherals.
Course Outcomes
After undergoing this course students will be able to:
Outcomes Blooms Taxonomy
Level
CO1 Outline the architectural details of Microcontrollers 2 - Understanding
and ARM Processor.
CO2 Classify the instruction sets and various addressing 4 - Analyzing
modes.
CO3 Understand the Memory Organization of the PIC 5 - Evaluating
Microcontroller
CO4 Interpret and configure interrupt control logic. 2 - Understanding
CO5 Analyze the timing diagram for communication 4 – Analyzing
Protocol
CO6 Demonstrate interfacing logic for various Sensors and 3 - Demonstrate
Actuators
Course Content
10 Hours
Introduction to Microcontroller - Microprocessor and Microcontroller Characterization, Components of a
Microcontroller, Microcontroller Architecture.
Main Characteristics of PIC Microcontrollers - Arithmetic and Logic Unit (ALU), Working Register in
PIC Microcontrollers, Machine Cycles and Execution of Instructions, Pipelining for Instruction Execution,
Oscillators, Configuration Bits, Reset Options, Low-Power Consumption Mode, Watchdog Timer, Program
Counter,RISC, Compare Harvard architecture with von Neumann architecture.
12 hours
Memory in Microcontrollers – Memory Organization, RAM, Data Memory, EEPROM, Flash Memory.
Instruction Set and Assembler Language Programming - Arithmetic Instructions, Logic and Compare
instructions, Rotate Instruction and Data Serialization, Branch Instructions and Looping, Call Instructions
and Stack
10 hours
Programming in C - Data Types and Time Delays, bit-addressable I/O, Logic Operations, Data Serialization,
ROM & RAM Allocation
10 hours
Timers and Interrupts - Instruction Pipeline, Timers, The CCP Module, Interrupt, Examples of Timer and
Interrupt Applications.
Parallel and Serial Communication – Parallel IO, Serial IO, advantages of serial communication over
parallel, Streaming Parallel Port, USART, SPI, I2C
10 hours
Sensors and Actuators - Interfacing LED, LCD, Keypad, ADC, DAC, Buzzer, Sensor, Relays, Stepper & DC
Motor
TEXT BOOKS:
1. Fernando E. Valdes-Perez, Ramon Pallas-Areny, “Microcontrollers - Fundamentals and Applications
with PIC”, CRC Press, 1st Edition, 2009.
2. Mazidi M. A., McKinlay R. D., Causey D., “PIC Microcontroller And Embedded Systems.”, Pearson
Education International, 2008
REFERENCE BOOKS:
1. Myke Predko, “Programming and Customizing the PIC Microcontroller”, Mc Graw Hill Education, 3rd
Edition, 2008.
2. John B. Peatman, “Design with PIC Microcontrollers”, Prentice Hall, 1997.
3. Verle Milan, “PIC Microcontrollers – Programming in C”, Microelektronika, 1 st Edition, 2009
List of Experiments
1. Check Register and Memory with MPLAB IDE
2. Develop and Execute Programs on Arithmetic, Logic & Compare instructions.
3. Develop and Execute Programs on Rotate instructions and Data Serialization.
4. Develop and Execute Programs on BCD and ASCII code conversion.
5. Develop and Execute Programs on branching instructions and Looping.
6. Develop and Execute Programs on Call instructions and Time Delay.
7. Develop and execute programs on Timers and Counters.
8. Develop and execute programs on Different Interrupt handling.
9. Develop and execute program on I/O Port programming, Serial & Parallel Communication.
10. Interface ADC & DAC
11. Interfacing Sensors & Actuators
12. Interfacing Motors and speed control using PWM