Microcontrollers

(ECE 315)

L T P C

3 0 1 4

Instructor: Anjan Kumar Talukdar

email id: anjantalukdar@gauhati.ac.in

Teaching assistant: Mrs. Atlanta Choudhury

email id: atlanta.ayush.choudhury@gmail.com


Class timing: Tuesday (9:30 AM - 10:30 AM) (Room no. R1)

Wednesday (9:30 AM - 10:30 AM) (Room no. R2)

Thursday ( 11: 30 AM - 1: 30 PM) (Practical) (ECE Computer lab)

Friday (9:30 AM - 10:30 AM) (Room no. R2)



Course objective:

The course provides a detailed study of the 8051 microcontroller, its instruction set, and programming, interfacing with peripheral devices, I/O communication and applications.


Course outcomes:

After completion of the course, students can

  • Explain the types, architecture of microcontrollers, embedded processors, and their applications.

  • Explain internal architecture and interfacing of different peripheral devices with 8051 Microcontrollers.

  • Write the programs for the microcontroller and its interfacing.

  • Explain the design concept of embedded systems.


Grading policy:

  • First class test : 20 marks

  • Second class test: 20 marks

  • Third class test/assignment : 10 marks

  • End semester examination: 50%

Grading (relative):

Mark obtained Letter grade Grade point

  • 90 - 100 A 10

  • 75 - 89 B 8

  • 55 - 74 C 6

  • 40 - 54 D 4

  • 30 - 39 E 2

  • <30 F 0

Programming:

Programming will be done in Keil.

Prerequisites:

A good background in Digital electronics, 8085 Microprocessors, assembly and C programming

Suggested Reading:

  • Microcontrollers- Ajkamal, Pearson Education;

  • 8051 Microcontroller- Mazidi, Pearson Education;

  • Microprocessor and Microcontroller- William Kleitz, Prentice Hall;

  • Microcontrollers, Principles and Applications- Ajit pal, PHI Ltd;

  • 8051 Microcontroller- Kenneth J.Ayal; Cengage Learning;

  • Programming customizing the 8051 Microcontroller- Myke Predko, Tata McGraw Hill;

Syllabus:

  • Module 1: Introduction

Microcontroller-Definition, types, examples of popular microcontrollers, application, architecture, family members, resources, development trends, embedded processors, an overview of 8051;

  • Module 2: 8051 Architecture

Comparison of Microprocessor and Microcontroller, block diagram of microcontroller, functions of each block, detailed pin pot diagram, registers, flags, PSW, stack, interrupt, serial port, oscillator and clock, clock cycle, state machine cycle, instruction cycle, power-on reset program counter, ROM space, internal and external memories, data types, directives, counters, timers, synchronous and asynchronous serial UART interface, interrupts.

Serial Communication: Basics of serial programming, RS232 standards, 8051 connection to RS 232, 8051 serial communication programming, Programming 8051 to transmit data serially programming 8051 to receive data serially.

  • Module 3: Assembly level programming

Introduction, Assembly and running a program, Parts; Instruction set- data transfer, data and bit manipulation, arithmetic, logical, controlled flow (jump, loop, call), interrupt control flow, interrupt handling etc; Addressing modes; Programmable timers; Interrupt structure.

  • Module 4: Interfacing and Peripherals

Detailed study and interfacing of Serial PCI 8251, PPI 8255, Programmable DMAC 8257, Programmable Interrupt Controller 8259, ADC and DAC circuit interfacing, Keyboard-display controller 8279; Interfacing setup of switch, keypad, keyboard interface, LED, Array of LED, Alphanumeric devices, Printer devices, Programmable Instruments Interface using IEEE 488 (GPIB) Bus, Stepper motor, High power devices, analog input-output, industrial process control; Application to design simple digital filters.

  • Module 5: Programming Framework and Advanced Architectures

Programming in C and use of GNU tools- basics, CPU registers and Internal RAMs, Assemblers, Parameter passing, Control structures; Software building blocks; Real time operating system for system design; Microcontroller Application Development Tools; Case study of an exemplary IDE; Advanced Design- Introduction to 8096/ 80196 and one ARM 32-bit Design, RISC, PIC, AVR.