Rabu, 15 Juni 2011

Jenis mikrokontroler

Jenis mikrokontroler

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.

B. KELUARGA MCS51

Dari jenis-jenis mikrokontroler intel keluarga MCS51, al :

1. 8031/8032 - tipe tidak ber-EPROM dan internal RAM 128/256 Bytes

2. 8051/8052 - tipe mempunyai ROM (diprogram dari pabrik 1 kali saja) 4k/8k dan internal RAM 128/256 Bytes

3. 8751/8752 - tipe mempunyai EPROM 4k/8k dan internal RAM 128/256 Bytes

4. 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


C. SKEMA RANGKAIAN

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 MASM51 dari MetaLink Corp. Selain itu dapat juga digunakan compailer-compiler lainnya seperti :

1. Assembler51 dari Rigel Corp.

2. Assembler31 dari Ken Stauffer

3. Assembler51 PseudoSam dari Pseudo Corp.

4. Assembler51 dari W. W. Heinz

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).

D. LAYOUT PCB

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), layout mirrornya.

E. DAFTAR KOMPONEN

Komponen-komponen untuk membuat rangkaian dasar mikrokontroler ini adalah sebagai berikut :

1. Resistor :

R1 = 10 kOhm ............................................................ 1 pcs

R2 = 1 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

C10..C16 = 100 nF ....................................................... 7 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

LED1 = Red 3mm .......................................................... 1 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

PCB dua lapisan, ukuran kira-kira 10cm x 15cm ........................... 1 pcs

Transformer P=220V, S=9~12V/0.5A (Adaptor) .............................. 1 pcs

F. FIRMWARE

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. Untuk pengisian EPROM dapat digunakan EPROM programmer komersial atau programmer lainnya seperti 2764-programmer saya atau universal eprommer saya. Bisa juga bereksperimen dengan menggunakan EEPROM seperti tipe 2864. Untuk pengisiannya bisa menggunakan Willeprom ver 3.1s seperti kepunyaan saya ini.

Berikut ini program firmware tersebut :

1. Modifikasi rancangan Paul Stoffregen (PaulMon)

2. Penterjemah BASIC dengan sistem 8031 basic (Basic31 V1.2a)

3. Penterjemah BASIC dengan sistem 8052 basic (Basic52 V1.1)

Berikut ini beberapa tampilan hasil program monitor paulmon di layar monitor hyper terminal











Tidak ada komentar:

Posting Komentar

var adfly_advert = 'int'; var adfly_advert = 'banner';