Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output. Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan Andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis data maka Anda dapat membuat program untuk membuat suatu sistem pengaturan otomatik menggunakan mikrokontroler sesuai keinginan Anda.
Mikrokontroler 8051 adalah mikrokontroler keluarga 8-bit dan merupakan salah satu mikrokontroler terpopuler yang digunakan secara luas. Intel Corporation memperkenalkan 8.051 mikrokontroler pada tahun 1980, dan sejak itu chip keluarga 8.051 telah digunakan sebagai dasar dari ribuan produk. Ada perusahaan lain yang memproduksi chip keluarga 8.051, termasuk Philips, Fujitsu, Siemens, Dallas Semiconductor, OKI, dan Matra Harris. Beberapa perusahaan telah memperluas 8.051 keluarga dengan menawarkan chip yang kompatibel dengan fitur tambahan. Versi diperpanjang 8051, 8052 juga memiliki keluarga yang berubah sendiri. Model 8051 adalah kumpulan register 8-bit dan 16-bit dan ruang penyimpanan 8-bit, yang dapat digunakan bersama dengan instruksi perangkat lunak bawaan sebagai bagian dari desain. The 8051 memiliki 128 byte RAM, 4 kilobytes ROM, 2 timer, 1 port serial dan 40 pisau DIP.
Dasar-Dasar Mikrokontroler 8051
8051 adalah mikrokontroler 8 bit yaitu bus data dari Mikrokontroler 8051 (baik internal maupun eksternal) adalah 8 - bit wide. Ini adalah Microcontroller berbasis CISC dengan Harvard Architecture (program terpisah dan memori data).
Karena tata letak dasar mikrokontroler meliputi CPU, ROM, RAM, dll, mikrokontroler 8051 juga memiliki tata letak yang serupa. Gambar berikut menunjukkan tata letak singkat dari sebuah mikrokontroler 8051 khas.
Fitur Mikrokontroler 8051
8 - Bit ALU : ALU atau Arithmetic Logic Unit adalah jantung mikrokontroler. Ini melakukan operasi aritmatika dan bitwise pada bilangan biner. ALU di 8051 adalah ALU 8 - Bit, yaitu dapat melakukan operasi pada data 8 - bit.
Accumulator 8 - Bit : Accumulator adalah register penting yang terkait dengan ALU. Akumulator pada 8.051 adalah register 8 - bit.
RAM : 8051 Microcontroller memiliki 128 byte RAM yang mencakup SFR dan Input / Output Port Registers.
ROM : 8051 memiliki ROM on-chip 4 KB (Memory Program).
I / O Ports : 8051 memiliki empat Port Input / Output 8 bit yang bit beralamat dan bidirectional.
Timer / Penghitung : 8051 memiliki dua timer 16-bit / penghitung.
Port Serial : 8051 mendukung UART Communication full duplex.
Memori Eksternal : 8051Microcontroller dapat mengakses dua baris alamat 16 bit sekaligus: masing-masing untuk RAM dan ROM. Memori eksternal total yang dapat diakses oleh 8051 Microcontroller untuk RAM dan ROM adalah 64KB (216 untuk setiap jenis).
Fitur Tambahan : Interrupts, on-chip oscillator, Boolean Processor, Power Down Mode, dll.
Bagian – bagian di dalam Mikrokontroler 8051
1. Register – Register
Register-register dari 8051 pada umumnya adalah berupa register 8-bit. Dalam 8051 hanya ada satu jenis data yakni data 8-bit (sama dengan namanya yakni komputer 8-bit).
2. Instruksi MOV
instruksi MOV adalah menyalin isi data dari register yang satu ke register yang lain.
3. Instruksi ADD
Instruksi ini menambahkan sembarang tipe data ke dalam A dan A pula bertindak sebagai penerima hasil dari operasi. Sehingga dapat dikata operand tujuan (Dest) selalu adalah Akumulator (A).
Mikrokontroler AT89S51 memiliki pin yang berjumlah 40 dan umumnya dikemas dalam DIP (Dual Inline Package). Masing-masing pin pada mikrokontroler AT89S51 mempunyai kegunaan sebagai berikut :
Port 0 :
Port 0 merupakan port dua fungsi yang berada pada pin 32-39 dari AT89S51. Dalam rancangan sistem sederhana port ini sebagai port Input/Output serbaguna. Untuk rancangan yang lebih komplek dengan melibatkan memori eksternal jalur ini dimultiplek untuk bus data dan bus alamat.
Port 1 :
Port 1 disediakan sebagai port Input /Output dan berada pada pin 1-8. Beberapa pin pada port ini memiliki fungsi khusus yang digunakan untuk jalur download program.
Port 2 :
Port 2 ( pin 21-28 ) merupakan port dua fungsi yaitu sebagai Input/Output serbaguna, atau sebagai bus alamat byte tinggi untuk rancangan yang melibatkan memori eksternal.
Port 3 :
Port 3 adalah port dua fungsi yang berada pada pin 10-17, port ini memiliki multi fungsi
Ada Beberapa konfigurasi
PSEN (Program Store Enable)
Psen adalah sebuah sinyal keluaran yang terdapat pada pin 29. Fungsinya adalah sebagai sinyal kontrol untuk memungkinkan mikrokontroler membaca program (code) dari memori eksternal.
ALE (Address Latch Enable)
Sinyal output ALE yang berada pada pin 30 fungsinya sama dengan ALE pada microprocessor INTEL 8085, 8088 atau 8086. Sinyal ALE dipergunakan untuk demultiplek bus alamat dan bus data. Sinyal ALE membangkitkan pulsa sebesar 1/6 frekuensi oscillator dan dapat dipakai sebagai clock yang dapat dipergunakan secara umum.
EA(External Access)
Masukan sinyal terdapat pada pin 31 yang dapat diberikan logika rendah (ground) atau logika tinggi. Jika diberikan logika tinggi maka mikrokontroler akan mengakses program dari ROM internal. Jika diberi logika rendah maka mikrokontroler akan mengakses program dari memori eksternal.
RST (Reset)
Input reset pada pin 9 adalah reset master untuk AT89S51. Pulsa transisi dari tinggi selama 2 siklus ke rendah akan mereset mikrokontroler.
Oscillator
Oscillator yang disediakan pada chip dikemudikan dengan XTAL yang dihubungkan pada pin 18 dan pin 19. Diperlukan kapasitor penstabil sebesar 30 pF. Besar nilai XTAL sekitar 3 MHz sampai 33 MHz. XTAL1 adalah input ke pembalikan penguat osilator dan input ke clock internal pengoperasian rangkaian. Sedangkan XTAL2 adalah output dari pembalikan penguat osilator.