Disini saya perkenalkan satu jenis mikrokontroler yang tidak asing lagi dan sudah mudah ditemui di pasaran. Mikrokontroler ini merupakan keluarga intel MCS51. Keuntungan mempelajari jenis mikrokontroler ini al : disamping itu sudah banyak beredar buku-buku terbitan dalam negri yang membahas mengenai mikrokontroller ini, kurikulum universitas dalam negri juga sudah mengacu ke jenis ini. Dan banyak peralatan industri yang memakai mikrokontroler ini. Jadi tidak ada salahnya kita mempelajarinya dan sekaligus mempraktekkannya dalam bentuk barang nyata. Disamping itu harganya juga cukup murah untuk tipe yang paling kecil.
Sebenarnya ada satu jenis lagi mikrokontroler yang cukup simple penggunaannya yaitu PIC mikrokontroler, tetapi pada saat saya mempelajarinya saya sudah terlanjur membuat jenis mikrokontroler intel ini, jadi mungkin akan saya bahas pada kesempatan lainnya.
Dari jenis-jenis mikrokontroler intel keluarga MCS51, al :
8031/8032 - tipe tidak ber-EPROM dan internal RAM 128/256 Bytes
8051/8052 - tipe mempunyai ROM (diprogram dari pabrik 1 kali saja) 4k/8k dan internal RAM 128/256 Bytes
8751/8752 - tipe mempunyai EPROM 4k/8k dan internal RAM 128/256 Bytes
8951/8952 - tipe mempunyai EEPROM 4k/8k dan internal RAM 128/256 Bytes
Tipe 8051/8052 sudah jarang digunakan karena keterbatasannya hanya dapat diprogram sekali saja. Kalau salah dibuang. Type 8751/8752 dan 8951/8952 lebih mahal karena sudah terdapat ROM didalamnya. Tetapi keuntungannya IC dapat diprogram berulang kali. Tipe ini yang paling banyak digunakan. Tetapi harus diingat bahwa untuk mengisi program ke dalam IC dibutuhkan alat pengisi khusus untuk IC tersebut (Programmer komersil yang ada di pasaran bisa digunakan untuk memrogram IC ini). Untuk tipe 8031/8032 tidak mempunyai ROM internal, jadi harus menggunakan IC EPROM atau EEPROM dari luar.
Rancangan board ini menggunakan tipe dasar yaitu tipe 8031/8032 dan EPROM 8kB atau 16kB. Tetapi tidak tertutup kemungkinan untuk menggunakan tipe yang lain, mengingat arsitektur untuk tiap-tiap tipe sama saja. Motifasi yang mendorong saya membuat board ini adalah untuk eksperimen- eksperimen I/O, ilmu robotik, dan ingin membuat rangkaian yang cukup kompleks disain PCB-nya.
Disamping menggunakan ROM, perlu juga memakai RAM untuk menyimpan program yang akan dijalankan. Disini dipakai RAM tipe 32kB, yang diharapkan cukup besar untuk menampung program yang akan kita buat nantinya. Selain itu juga disediakan perluasan I/O dengan memakai IC yang sudah tidak asing lagi yaitu PPI-8255, sehingga tersedia cukup banyak I/O untuk menunjang desain perangkat keras kita.
Untuk komunikasi dengan perangkat PC digunakan perantara RS232 yaitu IC MAX232/ ICL232, sehingga kita bisa menghubungkan development board kita dengan komputer PC untuk memasukkan program kita.
Ada 2 jenis badan program yaitu :
program monitor; program yang diisi ke dalam ROM/EPROM dengan programmer dan bersifat permanen. Program monitor merupakan firmware dari rancangan board ini.
program user; program yang disi ke dalam RAM dan tidak permanen. Setiap saat program ini bisa diganti dengan program lain sesuai dengan yang kita inginkan. Pemasukan program melalui program terminal dari komputer PC dan melalui perantara RS232. Program user merupakan software program aplikasi untuk hal apa digunakan board tersebut.
Board ini menggunakan IC tipe 8031 dan EPROM 8kB tipe 2764 untuk program monitornya. Sedangkan untuk RAM 32kB menggunakan tipe 62256. Bahasa yang digunakan untuk membuat program user adalah bahasa asembly, dan untuk expansinya nanti program user akan menggunakan bahasa BASIC. Cukup banyak compiler gratis di internet, dan untuk membuat program monitor ini, saya menggunakan compiler ASM51.
8031 mempunyai I/O sebanyak 3 x 8-bit. Tetapi pada prakteknya sebagian akan digunakan untuk keperluan mikrokontroller itu sendiri, seperti untuk jalur komunikasi, jalur untuk frekwensi osilator, jalur untuk pengalamatan dan data yang di-multipleks-kan, dan jalur untuk I/O. Sehingga untuk keperluan kita kemungkinan hanya tersedia sejumlah 8-bit saja atau lebih I/O tersebut. Untuk itu digunakan IC PPI 8255 yang menambah jumlah I/O hingga 3 x 8-bit lagi. Dengan jumlah sekian, diharap cukup banyak untuk menampung perangkat keras yang akan dipasangkan ke mikrokontroller ini. Pengalamatan IC PPI ini mengikuti pengalamatan memori (terpetakan memori) dan bukan pengalamatan I/O. Sehingga satu blok memori akan hilang untuk penempatan alamat IC PPI ini (untuk penyederhanaan rangkaian, karena saya menggunakan IC dekoder 3 ke 8, dimana jumlah memori sebesar 64 kB akan dibagi menjadi 8 blok). Sisa pengalamatan disediakan untuk pengembangan yang akan datang. Untuk lebih jelasnya, berikut ini pengalamatan memori pada rancangan board ini :
Alamat 0000 Hex ~ 1FFF Hex = ROM 8 kB (firmware, program monitor)
Alamat 2000 Hex ~ 9FFF Hex = RAM 32 kB (program user)
Alamat A000 Hex ~ BFFF Hex = PPI 8255 (sebenarnya diperlukan hanya 4 lokasi)
Alamat C000 Hex ~ DFFF Hex = Tersedia untuk pengembangan
Alamat E000 Hex ~ FFFF Hex = Tersedia untuk pengembangan
Berikut ini disain skema rangkaiannya (mcus8031.pdf).
Saya telah mendisain PCB untuk board ini sedemikian rupa agar dapat muat dalam ukuran sekecil mungkin yang masih dapat dikerjakan dengan tangan (untuk para hobby, buatan sendiri). PCB tersebut terdiri dari 2 lapis tentu saja. Untuk itu saya menggunakan teknik yang lebih maju yaitu dengan menggunakan teknik plastik transparan (Press N Peel). Beginilah cara saya membuatnya. Dengan demikian dapat diperoleh board berukuran kira-kira 8cm x 15 cm. Cukup kecil untuk digunakan sebagai otak robot! Hanya saja pada saat pembuatannya perlu ketelitian agar kedua gambar lapisan dapat tepat saling ketemu.
Berikut ini disain PCB-nya dan layout PCB-nya (mcup8031.pdf).
Komponen-komponen untuk membuat rangkaian dasar mikrokontroler ini adalah sebagai berikut :
1. Resistor : R1 = 10 kOhm ............................................................ 1 pcs
2. Kapasitor : C1, C4..C7 = 10 uF/25 V ................................................. 5 pcs C2..C3 = 33 pF .......................................................... 2 pcs C8 = 220 uF/25 V ........................................................ 1 pcs C9 = 100 uF/16 V ........................................................ 1 pcs
3. Semikonduktor : IC1 = 8031AH (Mikrokontroler) ........................................... 1 pcs IC1 = 8051AH (Opsional mikrokontroler + ROM) ............................ 1 pcs IC1 = AT89C52 (Opsional mikrokontroler + PEROM) ......................... 1 pcs IC2 = 74LS373 (Octal latch) ............................................. 1 pcs IC3 = 2764 (8 kByte EPROM) .............................................. 1 pcs IC3 = AT28C64 (Opsional 8 kByte EEROM) .................................. 1 pcs IC3 = 6264 (Opsional 8 kByte RAM) ....................................... 1 pcs IC4 = 62256 (32 kByte RAM) .............................................. 1 pcs IC5 = 8255 (PPI) ........................................................ 1 pcs IC6 = 74LS138 (3 to 8 channel decoder) .................................. 1 pcs IC7 = ICL232 atau MAX232 (Serial COM) ................................... 1 pcs IC8 = 74LS08 (Quad And gate) ............................................ 1 pcs IC9 = 7805 (Variabel Regulator) ......................................... 1 pcs D1 = 1N4148 (silicon diode) ............................................ 1 pcs D2 ~ D5 = 1N4007 (silicon diode) ........................................ 4 pcs
4. Lain-lain : Opsional IC soket untuk 40-pin .......................................... 2 pcs Opsional IC soket untuk 28-pin .......................................... 2 pcs Opsional IC soket untuk 20-pin .......................................... 1 pcs Opsional IC soket untuk 16-pin .......................................... 2 pcs Opsional IC soket untuk 14-pin .......................................... 1 pcs IDC konektor,10-pin ..................................................... 8 pcs Miniature push button switch (reset) .................................... 1 pcs X'tal = 11.0592 MHz ..................................................... 1 pcs SIP konektor, 2-pin (power supply) ...................................... 1 pcs SIP konektor, 3-pin (serial com) ........................................ 1 pcs Opsional jumper, 2pin ................................................... 1 pcs Transformer P=220V, S=9~12V/0.5A (Adaptor) .............................. 1 pcs
ROM 8 kB pada tahap awal akan disi dengan program monitor, dimana program monitor ini saya pergunakan dari rancangannya Paul Stoffregen (menggunakan bahasa rakitan) setelah dimodifikasi agar cocok dengan tipe 8031. Nantinya untuk eksperimen lanjut akan diisi dengan penterjemah BASIC untuk program monitor ini. Sehingga program user dapat menggunakan bahasa BASIC, yang lebih mudah dipahami. Tentu saja ROM tersebut dapat dibuat 2 buah, agar dapat dengan mudah bertukar versi firmwarenya. Yang satu pakai bahasa rakitan dan yang lain pakai bahasa BASIC. Tergantung pilihan pemakai.
Berikut ini program firmware tersebut :
Modifikasi rancangan Paul Stoffregen (PaulMon)
Berikut ini beberapa tampilan hasil program monitor paulmon di layar monitor hyper terminal :

Harap diingat bahwa program monitor paulmon, mendeteksi autobaudrate, sehingga pada saat terkoneksi, tekan tombol <Enter> satu kali sampai keluar tampilan welcome-nya di layar hyper terminal. Hyper terminal diset pada komunikasi 9600 bps.
Bereksperimen lebih jauh terhadap program monitor yang lain, anda dapat mencoba program monitor berikut ini :
Berikut ini beberapa hasil tangkapan tampilannya di hyper terminal :




Seperti yang dijelaskan di atas, prototype saya berukuran 8cm x 15cm dan dapat bekerja dengan baik. Untuk mengetes board tersebut apakah bekerja dengan baik atau tidak, dapat digunakan program sample berikut ini yang akan menampilkan tulisan ke layar monitor dalam versi yang lebih besar.
![]() |
![]() |
|
Fig 1. Board Pengembangan 8031-ah |
|
Selain menggunakan mikrokontroler 8031, saya juga mencoba type lain seperti 8051 (catatan : pin-31 di-ground, sehingga internal ROM tidak digunakan), 8952 (catatan : type memiliki flash ROM/PEROM, program monitor dapat dihapus/tulis berulang kali, EPROM tidak perlu digunakan). Semuanya dapat bekerja dengan baik. Selain itu bisa juga digunakan flash ROM/EEROM seperti :type 2864 (8 kBytes), yang dapat dihapus/tulis berulang kali juga, sehingga tidak repot untuk memrogram ulang EPROM-nya.
Berikut ini aplikasi-aplikasi yang bisa diterapkan :
Berikut ini beberapa link ke situs yang berhubungan dengan MCS51 :
Referensi
:
Dibuat : 1 Juni 2003
- oleh : David Setya Atmaja
Pengunjung yang tertarik :
Return to Main Page