This document provides an overview of microcontroller programming using C language for ATMEL and PIC microcontrollers. It discusses microcontroller architecture, including the central processing unit, memory, timers/counters, and interrupts. It then introduces the ATMEL 89C2051 microcontroller, describing its pin configuration, special purpose I/O, memory, and other features. The document outlines the structure of microcontroller C programming and provides sample programs to blink an LED. It also discusses configuring the hardware and software environment, compiling and burning programs to the microcontroller, and writing interrupt subroutines.