Skip to main content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.

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)