Belajar AT89S51/AT89S52 : Simulasi dengan MIDE
Pada kesempatan ini saya akan mengangkat topik mengenai simulasi pemrograman AT89×51/52 dengan menggunakan IDE (Integrated Development Enviroment) MIDE yang gratis dan berisikan SDCC (Kompiler C gratis), ASEM51 (Asembler gratis) dan 2 buah simulator. Kali ini saya akan mulai dengan penggunaan bahasa C (supaya lebih cepat mengerti algoritmanya dulu, daripada berpusing-pusing ria di bahasa assembly). Sangat disarankan Anda mengerti dasar-dasar pemrograman C terlebih dahulu sebelum membaca artikel ini lebih jauh.
Pertama unduh MIDE dari situsnya : http://www.opcube.com/home.html atau pada saat tulisan ini dibuat versi terbaru dapat diunduh disini.
Pertama instalasi paket MIDE : 
Buka mide51.exe : 
Hal pertama yang perlu dilakukan adalah melakukan sedikit perubahan kecil di pengaturan MIDE:
Pergi ke Edit-Preference (atau tekan F12)
1. Cari tab C-Compiler dan tambah kan –debug ini dibaris parameter –code-loc 0×0000 –stack-auto –vc.
2. Cari tab Simulator dan pilih JSIM with 8051.DLL
Unduh source code berikut (dalam bahasa C) :
http://fandigunawan.googlepages.com/p001.zip
Source code diatas merupakan contoh untuk membuat running LED atau biasanya disebut LED chaser. Jadi LED akan mulai dari ujung sampai diujung satunya dan kembali ke ujung awal. Untuk lebih jelasnya silahkan dijalankan simulasinya.
Kamudian ekstrak ditempat yang namanya tidak ada spasinya, semisal c:\mide\project. Lalu, buka file p001.c.
Kemudian klik Build-Build (F9), pergilah ke direktori project. cari p001.hex dan rename ke p001.ihx.
Harap diingat : bahwa hasil kompilasi (bahasa mesin) ini disimpan dalam file teks *.hex atau *.ihx. Namun karena JSIM membaca file hasil kompilasi harus berbentuk *.ihx untuk hasil kompilasi dengan SDCC maka kita harus rename dari *.hex ke *.ihx.
Kamudian jalankan simulator dengan pergi folder instalasi MIDE dan cari jsim.exe. Double click jsim.exe
Kemudian akan muncul JSIM, klik File- Open dan pilih Files of type : SDC (*.ihx)
Untuk penggunaan yang pertama kali Anda harus memasukkan modul 8051.DLL yang bisa ditemukan di folder instalasi MIDE juga.
Dengan sedikit otak-atik Anda bisa melakukan simulasi dengan bahasa C lengkap dengan petunjuk register, watch register dan memory laiknya tool-tool profesional yang berharga ribuan dollar. Silahkan diotak-atik sendir, saya yakin Anda bisa dengan mudah menguasainya.
Cara yang digunakan untuk stepping yaitu :
- Start (F5)
- Step Into (F11)
- Step Over(F10)
- Step Out (F12)
- Run to Cursor (F8)
Keterangan kode.
Include header file
/*
include header file untuk at89s52/at89c52 : <mcs51/at89×52.h>
include header file untuk at89s51/at89c51 : <mcs51/at89×51.h>
include header file untuk at89s2051/at89c2051 : <mcs51/at89×051.h>
*/
/* Disini saya akan menggunakan at89s52 */
#include <mcs51/at89×52.h>
Fungsi delay
/* Rutin delay */
void delay(void)
{
int i;
for(i = 0; i < 10000; i++)
{
;
}
}
Program utama
void main()
{
/* Port 0 sebagai output */
P0 = 0×00;
/* Set nilai awal P0 */
/* 1111 1110 : 1 mengindikasikan LED mati apabila menggunakan pull up */
P0 = 0xFE;
/*
embedded system tidak boleh keluar dari fungsi main()
*/
for(;;)
{
P0 = (P0 >> 7) | (P0 << 1);
delay();
}
}
Keterangan :
Port 0 merupakan 8 bit pin Input/Output (I/O) dan diinisialisai sebagai 0xFE atau 0b11111110, jadi pin Port 0 yang pertama akan nyala LED nya. Demikian seterusnya akan bergeser dan setelah sampai ujun akan kembali ke pin Port 0 yang pertama.
Referensi :











Mukti
Thanks..bro…
Salut..ijin donlot n mencoba ya….
ardjoena
Terima Kasih…
Fandi Gunawan
@ardjoena :
Silahkan dibagi-bagikan informasinya kesiapa saja yang tertarik.
@Mukti:
Silahkan didownload dan disebarluaskan.
zul
bisa ga’ sekalian di postingkan skematik rangkaian single chip AT89S51/AT89S52 nya.Thanks
Elfa
Wauww.. trima kasih byk mas..
Selama ini di M-IDE51 saya cm pake ASEM51-nya aja..
Elfa
tapi aneh mas Fandi, di M-IDE saya ndak ada tab simulator di preferences, apa krn M-IDE saya msh versi 0.2.5.0 ya??? biasanya klo simulasi msh pake PeQUI
jurek
kalo pake ic at8535 bisa nggak mas
Fandi Gunawan
@jurek:
atmega8535 atau at90s8535 merupakan keluarga AVR jadi tidak didukung oleh MIDE yang merupakan IDE untuk 8051. Kalau saya menggunakan VMLAB atau AVR Studio 4.
fadzliana
helo, do u have the at89c2051 include file for assembler (at89c2051.INC)
Mat_Mat
Dari mana biar mudah belajar assembler solanya u’dah lam ngebet buuuuanget kepengen bisa assebler
Fandi Gunawan
@fadzliana:
See the include directory of asem51.
@Mat_Mat:
untuk belajar assembly 8051 bisa kunjungi http://www.8052.com
dedi
Dear all,
saya pendatang baru, dan saya sangat tertarik untuk belajar microcontroller, mohon saran…., sebelum saya belajar ini, apa yang harus saya fahami terlebih dahulu…?
Terimakasih sebelum nya.
Salam,
Dedi subandi
Fandi Gunawan
@dedi:
Cobalah membeli buku mengenai AT89S51/AT89S52 atau mengenai AVR (attiny atau atmega) karena mikrokontroler ini yang cukup murah dan tersedia banyak di pasaran kita.
Sebenarnya kalau kurikulum dikampus mengharuskan Anda belajar pengetahuan digital baru masuk ke arsitektur mikrokontroler lalu belajar menggunakan mikrokontroler tersebut.
Saya rasa Anda bisa belajar dengan banyak mencoba, jaman sekarang Anda akan dengan mudah memperoleh informasi melalui buku atau internet.
Selamat mencoba.
Salam,
Fandi
http://fandigunawan.wordpress.com