Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip). Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa bandar masukan maupun keluaran, dan beberapa peripheral seperti
pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analogconverter) dan serial komunikasi.
Salah satu mikrokontroler yang banyak digunakan saat ini yaitumikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce Instuction SetCompute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontrolerAVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx,ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelasadalah memori, peripheral, dan fiturnya
Seperti mikroprosesor pada umumnya, secara internal mikrokontrolerATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit(ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktubeserta komponen kendali lainnya. Berbeda dengan mikroprosesor,mikrokontroler menyediakan memori dalam serpih yang sama dengenprosesornya (in chip).