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
aji
ni bisa gunakan bahasa BASCOM gak??klo bisa saya minta list programnya cara pemakaian untuk pemograman nya…mohon dibantu
sebelumnya terima kasih
eko setiyono
mau belajar dah punya kit at89s51 isp tapi gak mau konect mohon bantuannya trims
hidayat
mas saya pemula….
kalo saya ingin dapat buku untuk dasar ada ga’……..
Nurmaly
Trims Ilmu-a mas Fandi….
2 All : Luv U all
Fandi Gunawan
@aji : maaf saya tidak bisa bahasa basic, setahu saya dari teman2 sekuliahan dulu, bascom itu mudah karena contohnya lumayan banyak dan dokumentasinya yang bagus.
@eko setiyono : kit nya apa?
@ hidayat : ada banyak buku mikrokontroler yang dijual di toko buku semacam gramedia, tinggal kamu cari mikrokontroler mana yang ingin diplejari misal At89×51/52, PIC Micro, AVR, ARM, HCS08 atau yang lain.
@nurmaly : terimakasih sudah mampir.
Arianto W
Fandi,
Nice job
iswanto
Mau belajar BASCOM 51 kunjungi http://iswanto.staff.umy.ac.id/2011/02/05/menggunakan-bascom-8051/
Fandi Gunawan
Makasih Pak AW.
hardi
asslam…
saya pemula dan merasa ingin banyak belajar tentang mikrokontroler.melihat tulisan mas fandi dri sni menarik sekali bwt saya pelajari.mohon untuk referensinya.thanks
Pandu
Salam Elektronika
yudistira.chandra
mas punya program untuk menampilkan data waktu dari microcontroller ke hyper terminal ?? terima kasih..
syaiful anam
mas broo numpang nanya..
kalau mikrokontroler tu bisa dimasukin voice gak, selain bazer,,,
temen2 jg law ada yang tau tolng kasiih tau saya ya..
mkshh…
^-^
muchlas
avr bisa untuk Asm,…gimana ya Pak..saya hanya bahasa Asm. aja …trims
abdullah
saya sedang membuat program menggunakan mikrokontroler at89s52 menggunakan bahasa assembly.
tapi sekarang mendapat masalah memory program saya sampai 13 kb, sedangkan at89s52 cm 8 kb.
gmn ya cara menambah/mengatasi agar dapat memperbesar memory mikrokontroller at89s52.
TOLONG BANTUANNYA YA PAK.
abdullah
PAK SAYA MAU TANYA, GMN YA CARA MEMPERBESAR MEMORY MIKROKONTROLER AT89S52..
SOALNYA PROGRAM SAYA SAMPE 13 KB SEDANGKAN AT89S52 CM 8 KB. JD PROGRAM SAYA GAK BISA DI DOWNLOAD DENGAN ISP.
TOLONG BANTUANNYA YA PAK.
TERIMA KASIH
sanboyz
mau nanya pak:apakah software proteus bsa bikin simulasi mikrokontroller???
s41d1
Terima kasih ya Mas atas pencerahannya….Tapi di softwere M-Ide saya kok Tab Simulatornya Kok Gk ada ya Mas,Padahal versinya sama…
fery
mantap nih…. thanks!!
wahyu
mau tanya,,,ada yang punya aplikasi proteus g..makasih