Sebelum mempelajari pemograman pada mikroprosesor dan mikrokontroler sebaiknya terlebih dahulu mengenal skema perangkat keras atau arsitektur mikroprosesor dan mikrokontroler. Pada jejak kali ini dapat terlihat hubungan antara mikroprosesor dan mikrokontroler, jadi jika ingin memperbesar atau men-zoom mikrokontroler bisa dengan mempelajari mikroprosesor dan komponen tambahannya.
1. Arsitektur Mikroprosesor
Mikroprosesor adalah alat yang bekerja sebagai pusat pengendalian dan pengolahan pada sistem komputer mikro. Alat ini juga biasa disebut dengan Central Processing Unit (CPU). Perlu diketahui bahwa mikroprosesor terdiri dari 3 bagian penting, yakni Arithmetic Logic Unit (ALU), Register Unit (RU), dan Control Unit (CU).

- ALU (Arithmetic Logic Unit) , ALU fungsinya untuk melakukan proses operasi matematika dan logika. Operasi matematika sederhana tersebut meliputi penjumlahan, pengurangan, perkalian dan pembagian. Sedangkan operasi logika meliputi AND, OR, NOT, XOR, XNOR dan lain-lain.
- CU (Control Unit), CU berfungsi untuk mengambil intruksi dari memori dan melakukan eksekusi intruksi tersebut. Sementara memori merupakan bagian tersendiri tidak termasuk dalam bagian mikroprosesor.
- RU (Register Unit), RU merupakan tempat menampung data sementara yang berasal dari memori. Sebelum diproses oleh ALU.
Lebih rincinya dapat dilihat pada gambar blok diagram di bawah ini.

2. Arsitektur Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital Converter (ADC) yang sudah terintegrasi di dalamnya.

Bagian utama yang ada pada mikrokontroler sebagai berikut ini :
- Mikroprosesor, merupakan bagian utama yang fungsinya sudah saya jelaskan di atas.
- Memori, terdiri dari beberapa jenis antara lain memori program (Flash Memori) dan memori data (Data Memori). Data memori terdiri dari dua macam : 1. SRAM (sifatnya sementara) 2. EEPROM (sifatnya permanen).
- Input Output, merupakan bagian yang terhubung langsung ke perangkat luar. Input output dapat berupa jalur data digital, data analog, ataupun bus komunikasi data (RS232, I2C, SPI).
- Timer/Counter, merupakan bagian yang berfungsi untuk melakukan penjadwalan waktu (timer). Selain itu timer/counter bisa digunakan untuk menggenerate sinyal dengan frekuensi dan periode tertentu.
Empat bagian di atas biasanya terdapat pada semua jenis mikrokontroler. Namun spesifikasinya berbeda-beda, terutama untuk ukuran memori.
Lebih rincinya dapat dilihat pada gambar blok diagram di bawah ini.
