Anda di halaman 1dari 13

DASAR DAN PEMROGRAMAN

MIKROKONTROLER KELUARGA MCS-51


Oleh : Muhammad Yusro, MT
 
 
Abstrak
Perkembangan teknologi mikrokontroler telah banyak dirasakan
manfaatnya oleh masyarakat dan industri. Produk-produk elektronik dan
industri yang berbasiskan mikrokontroler adalah PLC, perangkat kontrol
audio/video, permainan anak-anak. Mikrokontroler keluarga MCS-51
pertama kali dikembangkan oleh Intel Corp pada tahun 1970, lalu terus
diperbaharui dan diproduksi oleh berbagai vendor terkemuka dunia, yakni :
Atmel, Dallas, Philips semiconductors, dsb.   
Secara umum, teknologi mikroprosesor dan mikrokontroler memiliki
perbedaan pada segi arsitektur hardware, kapasitas memori sampai
dengan set instruksinya. Mikrokontroler AT89C51 adalah salah satu seri
mikrokontroler pada keluarga MCS-51. Mikrokontroler ini memiliki daya
rendah, performansi yang tinggi dan merupakan jenis IC CMOS 8
bit microcomputer dengan 4 Kbytes Flash memori (PEROM). Dalam
pemrograman mikrokontroler dilakukan beberapa langkah, yakni :
menuliskan program pada teks editor (notepad, 8051IDE, bahasa C), lalu
melakukan proses assembling program dengan program assembler, misal :
ASM51, dan terakhir adalah mengirimkan (down load) program tersebut ke
dalam chip mikrokontroler.
 
 
A.   Pengantar Mikrokontroler
            Dalam perkembangannya, mikrokontroler telah mengambil peran
penting dalam dunia elektronika, terutama dalam aplikasi elektronika
konsumen. Mikrokontroler hadir untuk memenuhi selera industri dan para
konsumen akan kebutuhan produk-produk elektronik yang
semakin simple dan smart, misal : mainan anak-anak (robot, mobil remote
control), peralatan audio/video, otomasi industri (PLC), sistem keamanan
gedung, dsb.
            Mikrokontroler itu sendiri dapat diumpamakan sebagai bentuk
minimum dari sebuah mikrokomputer (single chip computer).
Mikrokontroler terdiri dari perangkat keras (hardware), perangkat
lunak (software), memori, CPU (central processing unit) dan lain
sebagainya, yang terpadu dalam satu keping chip yang fleksibel dan
mudah dibawa kemana-mana serta dapat diprogram
ulang (reprogrammable). Mikrokontroler tidak seperti sistem komputer yang
mampu menangani berbagai macam program aplikasi (misalnya pengolah
kata, angka dan lain sebagainya), mikrokontroler hanya bisa digunakan
untuk suatu aplikasi tertentu saja (hanya satu program saja yang biasa
disimpan).
            Mikrokontroler keluarga MCS-51 pertama kali dikembangkan oleh
Intel Corp pada tahun 1970, lalu terus diperbaharui dan diproduksi oleh
berbagai vendor terkemuka dunia, yakni : Atmel, Dallas, Philips
semiconductors, dsb.  Sekilas mikrokontroler hampir sama dengan
mikroprosesor, namun terdapat perbedaan di antara keduanya yakni :
1.    Ditinjau dari segi arsitekturnya, mikroprosesor hanya merupakan single
chip CPU, sedangkan mikrokontroler merupakan complete chip di mana
di dalam IC-nya terdapat ROM, RAM, EPROM, serial/paralel interface,
timer, interrupt, dalan lainnya.
2.    Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya
program-program pengguna disimpan dalam RAM yang relatif besar,
sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang
ROM yang kecil. Sebaliknya pada mikrokontroler, perbandingan ROM
dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM
yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai
tempat penyimpanan sementara.
3.    Pada aplikasinya, mikroprosesor hanya berfungsi sebagai CPU (central
processing unit) yang menjadi otak komputer, sedangkan mikrokontroler
pada umumnya digunakan untuk melaksanakan tugas-tugas yang
berorientasi kontrol pada rangkaian yang membutuhkan jumlah
komponen minimum dan biaya rendah.
 
 
B.   Arsitektur Mikrokontroler  AT89C51
Mikrokontroler AT89C51 adalah salah satu seri mikrokontroler pada
keluarga MCS-51. Mikrokontroler ini memiliki daya rendah, performansi
yang tinggi dan merupakan jenis IC CMOS 8 bit microcomputer dengan 4
Kbytes flash memory (PEROM). Fasilitas chip flash program memori
menjadikannya dapat kembali diprogram ulang di dalam sistem yang telah
diprogram atau dengan sebuah pemrogram konvensional memori non
volatile. Gambar 1 memperlihatkan sebuah diagram blok mikrokontroler
MCS-51.
 
Gambar 1. Diagram Blok keluarga MCS-51
 
IC mikrokontroler dikemas dalam bentuk yang berbeda. Namun pada
dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Bentuk IC seri
mikrokontroler AT89C51 dapat dilihat pada gambar 2 sebagai berikut.
                        
Gambar 2. Konfigurasi Kaki IC  Mikrokontroler
 
 
Penjelasan fungsi tiap kaki IC mikrokontroler 8051 adalah sebagai berikut :
        Port 0
Merupakan port yang memiliki dua kegunaan (dual-purpose port). Pada
desain yang minimum (sederhana) digunakan sebagai port I/O
(Input/Output). Pada desain yang lebih lanjut pada perancangan dengan
memori eksternal digunakan sebagai data dan alamat yang di-
multiplex. Port 0 terdapat pada pin 32-39
        Port 1
Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC
8032/8052 yang menggunakan P1.0 dan P1.1 sebagai input eksternal
untuk timer ketiga (T3). Port 1 terdapat pada pin 1 – 8.
        Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan
sebagai port I/O. pada desain lebih lanjut digunakan sebagai high
byte dari alamat (address). Port 2 terdapat pada pin 21-28.
        Port 3
Merupakan dual-purpose port. Selain sebagai port I/O juga mempunyai
fungsi khusus yang ditunjukkan pada tabel 1 di bawah ini.
 
Tabel 1. Fungsi Khusus Port 3
PORT.PIN ALTERNATE FUNCTIONS
P3.0 RXD (serial input port)
P3.1 TXD (serial output port)
P3.2  (external interupt 0)
P3.3  (external interupt 1)
P3.4 T0 (timer 0 external input)
P3.5 T1 (timer 1 external input)
P3.6  (external data memory write strobe)
P3.7  (external data memory read strobe)
 
          (Program Store Enable)
 adalah kontrol sinyal yang mengijinkan untuk mengakses
program (code) memori eksternal. Pin ini dihubungkan ke pin   
(output enable) dari EPROM.   akan selalu bernilai 0 pada
pembacaan program memori internal.   terdapat pada pin 29.
        ALE (Address Latch Enable)
Digunakan untuk men-demultiplex alamat (address) dan data bus.
Ketika menggunakan program memori eksternal port 0 akan berfungsi
sebagai alamat (address) dan data bus. Pada setengah paruh
pertama cycle ALE akan bernilai 1 sehingga mengijinkan penulisan
alamat pada register eksternal dan pada setengah paruh berikutnya
akan bernilai satu hingga port 0 dapat digunakan sebagai data bus. ALE
terdapat pada pin 30.
          (External Access)
Jika   diberi masukan 1 maka akan menjalankan program memori
internal saja dan akan melaksanakan instruksi dari ROM/EPROM ketika
isi program hitung (counter) kurang dari 4096 atau 1000H. Jika   
diberi masukan 0 (ground) maka hanya akan menjalankan program
memori eksternal (  akan bernilai 0).   terdapat pada pin 31.
        RST (Reset)
RST pada pin 9 merupakan reset dari AT89C51. Jika pada pin ini diberi
masukan  1 selama minimal 2 machine cylce maka system akan di-
reset dan register-register internal pada AT89C51 akan berisi
nilai default tertentu.
        On-Chip Oscillator
AT89C51 memiliki on-chip oscillator yang dapat bekerja jika di-
drive menggunakan kristal. Tambahan kapasitor diperlukan untuk
menstabilkan sistem. Nilai kristal yang biasa digunakan pada keluarga
AT89C51 adalah 12 MHz walaupun pada jenis 80C31BH-1 dapat
menggunakan kristal dengan menggunakan frekuensi sampai dengan
16 MHz.
 Koneksi Power
AT89C51 beroperasi pada tegangan 5 Volt. Pin Vcc terdapat pada pin
40 sedangkan Vss (GND) terdapat pada pin 20.
 
 
 
 
Dasar Pemrograman Mikrokontroler
 
Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis
yang pertama adalah bahasa pemrograman tingkat tinggi (high level
language) dan jenis yang kedua adalah bahasa pemrograman tingkat
rendah  (low level language). Bahasa pemrograman tingkat tinggi lebih
berorientasi kepada manusia (mudah dipahami oleh manusia),
sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu
bagaimana agar komputer dapat langsung menginterpretasikan
pernyataan program. 
 
Pada umumnya dalam memprogram mikrokontroler digunakan bahasa
tingkat rendah, yang disebut dengan bahasa assembly. Adapun
perangkat lunak yang diperlukan untuk memprogram mikrokontroler
MCS-51 adalah sebagai berikut :
        Teks Edior : merupakan tempat di mana program ditulis oleh
pembuat program  yang berupa kumpulan-kumpulan baris perintah
dan biasanya disimpan dengan ekstensi .ASM. Program ini ditulis
menggunakan perangkat lunak teks editor seperti Notepad
(Windows) atau Editor DOS.
        Assembler : merupakan perangkat lunak yang digunakan untuk
melakukan proses assembly yang mengubah program sumber
(misal : notepad) menjadi program objek (berekstensi .HEX  dan
.BIN) maupun assembly listing.
        Downloader : merupakan perangkat lunak yang dibutuhkan untuk
men-download program objek ke dalam target memori (chip
mikrokontroler). Program ini biasanya digunakan pada sistem
mikrokontroler berupa Development System.
 
 
 
 
 
 
 
C.   Dasar Pemrograman Mikrokontroler
            Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa,
jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high level
language) dan jenis yang kedua adalah bahasa pemrograman tingkat
rendah  (low level language). Bahasa pemrograman tingkat tinggi lebih
berorientasi kepada manusia (mudah dipahami oleh manusia), sedangkan
bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar
komputer dapat langsung menginterpretasikan pernyataan program. 
            Pada umumnya dalam memprogram mikrokontroler digunakan
bahasa tingkat rendah, yang disebut dengan bahasa assembly. Adapun
perangkat lunak yang diperlukan untuk memprogram mikrokontroler MCS-
51 adalah sebagai berikut :
      Teks Edior : merupakan tempat di mana program ditulis oleh pembuat
program  yang berupa kumpulan-kumpulan baris perintah dan biasanya
disimpan dengan ekstensi .ASM. Program ini ditulis menggunakan
perangkat lunak teks editor seperti Notepad (Windows) atau Editor DOS.
      Assembler : merupakan perangkat lunak yang digunakan untuk
melakukan proses assembly yang mengubah program sumber (misal :
notepad) menjadi program objek (berekstensi .HEX  dan .BIN)
maupun assembly listing.
      Downloader : merupakan perangkat lunak yang dibutuhkan untuk men-
download program objek ke dalam target memori (chip mikrokontroler).
Program ini biasanya digunakan pada sistem mikrokontroler
berupa Development System.
 
 

Gambar 3 menunjukkan diagram alir dalam proses pembuatan suatu


program mikrokontroler.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

                     

 
                    

 
                    

 
                    

 
                    

Gambar 3.  Diagram alir pemrograman mikrokontroler


                    

Langkah-langkah yang dilakukan dalam menggunakan perangkat lunak


untuk memprogram mikrokontroler sebagai berikut :
         Langkah pertama dalam membuat program adalah menuliskan listing
program/instruksi pada sebuah teks editor. Editor yang umum
digunakan adalah fasilitas Notepad pada sistem operasi windows.
Program yang dibuat menggunakan notepad harus disimpan dalam
format (nama file).ASM. Sedangkan tesks editor yang lain di
antaranya : 8051IDE, Keil-C (menggunakan bahasa C), dsb. Contoh
tampilan dari editor notepad ditunjukkan pada gambar 4 berikut ini :
 
 
 
 
 
 
 
 
 
 
 
 
 

 
Gambar
4. Contoh tampilan notepad
 
         Langkah berikutnya adalah meng-assembling program yakni mengubah
program tersebut menjadi format (nama file).HEX. Program yang
digunakan untuk melakukan proses assembly adalah ASM51.EXE.
Proses assembling dilakukan dengan mengetikkan ”ASM51 (nama
file).ASM” pada MS-DOS prompt. Sedangkan pada beberapa
perangkat lunak yang lain, seperti 8051IDE atau Keil-C, proses
assembling dilakukan pada tempat yang sama dimana program
tersebut diketik. Proses assembling yang menggunakan ASM51,
ditunjukkan pada gambar 5 berikut ini :
 
 
 
 
 
 
 
 
 
 
 
 
Gambar 5. Contoh tampilan proses assembling
 
         Tahap akhir dari pembuatan program adalah proses pengiriman (down
load) file ke dalam chip mikrokontroler. Langkah ini dilakukan dengan
menggunakan DT51L.EXE, dengan mengetikkan ”DT51L (nama
file).HEX” pada MS-DOS prompt. Sedangkan beberapa perangkat
lunak yang lain untuk mendownload, yakni : EZ-Down Loader (untuk
yang menggunakan 8051IDE), AEC_ISP (untuk yang menggunakan
chip versi 89SXX/ In System Programming ), atau yang lainnya.
Gambar 6 menunjukkan bentuk tampilan dari proses down load
program.

 
 
 
 
 
 
 
 
 
 
 
 

Gambar 6. Contoh tampilan proses down load


 
D.   Instruksi Set  MCS-51
            Dalam pemrograman assembly AT89C51 terdapat dua macam
instruksi, yang pertama adalah INSTRUCTION SET, yaitu instruksi yang
digunakan untuk memprogram mikrokontroller AT89C51 dengan bahasa
rakitan (assembly) dan yang kedua adalah ASSEMBLER DIRECTIVES,
yaitu instruksi-instruksi untuk mengarahkan program assembler. Berikut ini
adalah instruksi- instruksi pada MCS-51, yaitu :
        Instruksi Set
Instruksi-instruksi bahasa assembly MCS-51 dapat dibagi menurut
fungsinya menjadi lima kelompok, yaitu :
1. Instruksi transfer data (MOV, dll)
2. Instruksi aritmatika (INC, DEC, dll)
3. Instruksi logika (AND, OR, NOT dll)
4. Instruksi Boolean (ANL, ORL, dll)
5. Instruksi percabangan. (JMP, SJMP, LJMP, AJMP, dll)
        Assembler Directive
Assembler Directives  adalah instruksi-instruksi yang ditujukan kepada
program assembler sebagai suatu arahan dalam mengubah program
yang ditulis dalam bahasa assembly ke bahasa mesin. Assembler
Directives yang akan dijelaskan adalah assembler directives yang
berlaku diprogram assembler ASM51 buatan Intel. Assembler
Directives tersebut terbagi menjadi lima jenis yaitu :
1. Directive untuk kontrol kondisi assembler (ORG, END, USING)
2. Directive untuk pemilihan segmen (SEGMENT, EQU)
3. Directive untuk pendefinisian symbol (CSEG, DSEG, ISEG, BSEG, XSEG)
4. Directive untuk reservasi memori penyimpanan (DS, DBIT, DB, DW)
5. Directive untuk penggabungan program (PUBLIC, EXTRN)
 
Untuk lebih jelas mengenai fungsi instruksi-instruksi mikrokontroler
serta penggunaannya,  dapat diperoleh pada panduan mikrokontroler
keluarga MCS-51 yang dapat didownload bebas pada website MCS-51
(http://www.atmel.com atau http://www.8052.com).
Referensi :
I. Scott Mackenzie, The 8051 Microcontroller, Prentice Hall, 1992.
Kristanto, Dani., Kris Pusporini,  Panduan Dasar Mikrokontroler Keluarga
MCS-51, ,PT. Innovative Electronic, Surabaya, 2004.
Nalwan, Paulus Andi., Teknik Antarmuka dan Pemrograman Mikrokontroler
AT89C51, PT. Elex Media Komputindo, Jakarta, 2003.
Putra, Agfianto Eko., Belajar Mikrokontroler AT89C51/52/55, Penerbit Gava
Media, Yogyakarta, 2002.
http://www.8052.com
http://www.atmel.com

Anda mungkin juga menyukai