Mikrokontroler adalah suatu bentuk aplikasi dari mikroprosessor yang dapat dianggap sebagai suatu komputer dalam satu chip tunggal yang dikemas dalam Integrated Circuit (IC).

Arsitektur Mikrokontroler MCS-51
MC mempunyai keunikan antara lain di dalamnya terdapat;
- CPU Central Processing Unit(CPU),
- Read Only Memory (ROM),
- Random Access Memory (RAM) dan
- beberapa saluran I/O yang dapat diprogram, timer dan counter, dan komunikasi serial.

Mikrokontroller keluarga MCS-51
8051, 8031, 8751H, 80C51, 80C31, 8052, dan 8032.
MCS-51 ini mempunyai karakteristik secara umum:
- CPU dengan 8 bit (jalur data)
- On-Chip rangkaian osilator dan clock
- 32 jalur I/O
- 64 K alamat untuk external data memory.
- 64 K alamat untuk external program memory
- Dua buah timer/counter 16 bit (tiga buah pada 8032/8052)
- Lima jenis struktur interupsi (enam buah pada 8032/8052)
- Full duplex serial port
- Boolean processor
- Control register: TCON, MOD, SCON, PCON, IP dan IE
8051 mempunyai 40 pin yang namanya bisa dilihat pada Gambar 1.2 dan nama port yang berada di dalam kurung merupakan fungsi alternatifnya.
Konfigurasi Pin 8051

Model Pemrograman 8051

Organisasi Memori
Mempunyai Internal RAM dan ROM.
- ROM >> memori untuk kode byte program
- RAM >> untuk variabel data yang dapat dirubah ketika program dijalankan.
128 byte Internal RAM disusun menjadi tiga daerah yang berbeda:
- Tiga puluh dua alamat dari alamat 00h sampai 1Fh yang terdiri dari 32 register dan terbagi menjadi 4 kelompok yang terdiri dari 8 register (Lihat Gambar 1.3 ). Setiap register dapat dipanggil dengan menggunakan namanya atau alamat RAM-nya. Bit RS0 dan RS1 pada PSW menandakan register dari kelompok yang sedang digunakan ketika program dijalankan, sedangkan kelompok register yang tidak digunakan dapat digunakan sebagai general-purpose RAM.
- Daerah yang dapat diberikan alamat bit, menempati 16 byte RAM dengan alamat byte 20h sampai 2Fh, menyediakan total 128 alamat bit.
- Daerah general-purpose RAM terletak di atas daerah bit dari 30h sampai 7Fh yang dialamati dengan byte.
