Skip to main content

Microcontroller Programming: Course Outline

A single chip that contains the processor (the CPU), non-volatile memory for the program (ROM or flash), volatile memory for input and output (RAM), a clock and an I/O control unit.


  • course introduction, Introduction to Computing. Numbering system and coding systems. Revision of some topics from Digital Logic & Design
  • Introduction to Microcontrollers. Microcontrollers and embedded processors. Overview of 8051 controller family
  • Introduction of assembly programming. Assembling and running of 8051 program. Use of counter and ROM space in controller. 8051 data types, directives, flag bits, PSW register, register banks and stack.
  • Loop, Jump and call instructions with the use of time delay.
  • 8051 I/O programming and bit manipulation
  • Immediate and register addressing modes, accessing modes using various addressing modes with bit addresses for I/O and RAM.
  • Arithmetic instructions, Logic and compare instructions. ASCII and other application programs. 
  • Data types and time delay in 8051 C language. I/O programming, Logic operations and data conversion programs in C. accessing code ROM space and data serialization in C language.
  • Pin description of the 8051 and understanding of Hex file.
  • Programming the timers of 8051. Counter programming and programming timers 0 and 1 in 8051 in C language.
  • Basics of serial port communication. Microcontroller connection with RS-232. Serial port programming in Assembly and in C language.
  • Programming external hardware interrupts and serial communication interrupt.

Course Description

This course is an introduction to the basic principles and fundamental concepts of a microprocessor systems. The student will be able to integrate these concepts into their electronic designs for other courses where control can be achieved via microprocessor. Assembly language programming have a large component in this course, this course is 0hardware-oriented. Students will understand the basic requirements and layout for building a microcomputer and applying those concepts to achieve a dedicated embedded controller as a component of a big system. 

Text Books

Reference Books

E-Books (Full Text)