Categories
Mikrokontroler

AT89: Sistem Akuisisi Data dan Pemantauan

Kebutuhan-kebutuhan…

Perangkat keras

  • AT89C51 atau AT89S51, sebagai mikrokontroler-nya;
  • LM35, sebagai sensor suhu-nya;
  • ADC0808, sebagai ADC-nya, dan
  • MAX232, sebagai konverter RS232-TTL

Perangkat Lunak

  • C-Compiler, program mikrokontroler ditulis dalam bahasa C;
  • Visual Basic 6.0, antarmuka komputer menggunakan Visual Basic 6.0

Gambar Rangkaian

Gambar Antatmuka Komputer

Listing Program & Keterangan

  • Semua bisa diunduh disini (termasuk program komputer, gbr rangkaian dan lain-lain).
  • Piranti ini merupakan sistem pemantauan dan pengendalian suhu (melalui ON/OFF pemanas).
  • Pada rangkaian mikrokontroler telah dihubungkan 4 dari maksimum 8 (atau bahkan lebih dengan modifikasi program) sensor suhu. Nilai-nilai dari semua sensor tersebut dikirim ke komputer melalui port serial (informasi mengenai aplikasi port serial bisa dibaca disini). Ini adalah tugas utama dari mikrokontroler AT89, dimana programnya ditulis dalam Bahasa C untuk mikrokontroler seri 51.
  • Program komputer, yang ditulis dalam Visual Basic 6.0, digunakan untuk menerima nilai suhu tersebut dan menampilkannya melalui komputer, sekaligus dapat menyimpan data-data tersebut ke basis data “daq.mdb” (format Microsoft Access). Kita bisa mengatur parameter-parameter misalnya set point, low limit dan high limit. Saat suhu yang terdeteksi pada suatu sensor naik di atas set point, maka pemanas yang terhubungkan (berkaitan dengan sensor yang bersangkutan) akan dimatikan (OFF), ON jika kondisi sebaliknya. High limit dan Low Limit digunakan untuk alarm, jika suhu diatas High Limit atau suhu dibawah Low Limit, maka alarm akan ON.
  • Intinya:
    • Mikrokontroler hanya mengirim data-data suhu saat diminta dan melakukan ON/OFF heater sesuai perintah dari komputer.
    • Komputer menerima data, kemudian melakukan interpretasi data (berkaitan dengan set point, low limit dan high limit) dan memberikan perintah ON/OFF pemanas ke mikrokontroler sesuai dengan interpretasi yang dihasilkan.

Sumber

  • Abbas Raza, email: jgen_17@yahoo.com

Ada komentar? Pertanyaan? Silahkan melalui form berikut atau email ke agfi@ugm.ac.id, terima kasih…

Categories
Mikrokontroler

Komunikasi serial menggunakan uC AT89

Kita tahu port serial masih digunakan hingga saat ini, walaupun beberapa peralatan komputer sudah menghilangkan port ini, namun kita masih bisa membeli (atau pinjem juga boleh, he he he) alat dan/atau perangkat lunak usb2serial, sehingga komunikasi via port serial masih tetap bisa kita lakukan.

Selain untuk kebutuhan komunikasi, port serial atau port RS232 bisa digunakan untuk kebutuhan pengontrolan, nah artikel kali ini saya akan membahas tentang rangkaian dan contoh program dalam BASIC (BASCOM51) port serial untuk kontrol lampu LED, dan tentunya bisa Anda kembangkan untuk aplikasi-aplikasi lainnya, seperti komunikasi dengan HP, sehingga bisa digunakan untuk kontrol jarak jauh dan lain sebagainya…

Baiklah, berikut ini adalah gambar rangkaian minimal yang akan kita gunakan untuk eksperimen, cukup sederhana, tapi khasiatnya… he he he…

Okey, ceritanya begini… Port serial akan kita gunakan untuk mengontrol pola hidup 8 LED yang kita hubungkan ke PORT1 dan pemantauan tombol-tekan di PORT3, perintah-perintah yang digunakan sebagai berikut:

  • 01 : menghidupkan LED di Port1.0
  • 11 : menghidupkan LED di Port1.1
  • 21 : menghidupkan LED di Port1.2
  • 31 : menghidupkan LED di Port1.3
  • 41 : menghidupkan LED di Port1.4
  • 51 : menghidupkan LED di Port1.5
  • 61 : menghidupkan LED di Port1.6
  • 71 : menghidupkan LED di Port1.7
  • 00 : mematikan LED di Port1.0
  • 10 : mematikan LED di Port1.1
  • 20 : mematikan LED di Port1.2
  • 30 : mematikan LED di Port1.3
  • 40 : mematikan LED di Port1.4
  • 50 : mematikan LED di Port1.5
  • 60 : mematikan LED di Port1.6
  • 70 : mematikan LED di Port1.7
  • id : menampilkan kalimat “Made by A.E.P 2008”
  • ba : baca status semua tombol pushbutton di P3
  • b2 : baca status tombol pushbutton di P3.2
  • b2 : baca status tombol pushbutton di P3.3
  • b2 : baca status tombol pushbutton di P3.4
  • b2 : baca status tombol pushbutton di P3.5
  • b2 : baca status tombol pushbutton di P3.6
  • b2 : baca status tombol pushbutton di P3.7

Catatan:

  • Tombol di P3.0 dan P3.1 tidak digunakan karena sebagai jalur komunikasi serial, jika tetap dibaca akan menimbulkan kesalahan atau error…

Kemudian listing program menggunakan BASIC-nya BASCOM51 sebagai berikut…

$regfile = "89c55wd.dat"     ' pustaka untuk AT89c55
$crystal = 11059200          ' gunakan kristal 12 MHz
$baud = 9600

Dim S As String * 2
Do
   Input S
   Select Case S
      Case "01" : P1.0 = 0
      Case "11" : P1.1 = 0
      Case "21" : P1.2 = 0
      Case "31" : P1.3 = 0
      Case "41" : P1.4 = 0
      Case "51" : P1.5 = 0
      Case "61" : P1.6 = 0
      Case "71" : P1.7 = 0
      Case "00" : P1.0 = 1
      Case "10" : P1.1 = 1
      Case "20" : P1.2 = 1
      Case "30" : P1.3 = 1
      Case "40" : P1.4 = 1
      Case "50" : P1.5 = 1
      Case "60" : P1.6 = 1
      Case "70" : P1.7 = 1
      Case "b2" : Print P3.2
      Case "b3" : Print P3.3
      Case "b4" : Print P3.4
      Case "b5" : Print P3.5
      Case "b6" : Print P3.6
      Case "b7" : Print P3.7
      Case "ba" : Print P3
      Case "id" : Print "Made by A.E.P 2008"
   Case Else
      Print "er"
   End Select
Loop

Keterangan:

  • Program diawali dengan pernyataan “$regfile” yang digunakan untuk mendefinisikan uC yang digunakan, dilanjutkan dengan “$crystal” yang menyatakan frekuensi kristal yang digunakan, $baud untuk menentukan kecepatan komunikasi serial dalam bit per second atau bps;
  • inti dari program ini ada dua, penerimaan data dan pemrosesan data yang diterima. Yang pertama dilakukan melalui pernyataan “Input s” (kondisi menunggu masukan dari terminal komputer – komunikasi serial) dan yang Kedua melalui pernyataan “Select Case S” hingga “End Select“;
  • Penerjemahan protokol atau aturan komunikasi melalui pernyataan “Select Case S“, misalnya untuk perintah “01” diterjemahkan sebagai “Case “01” : P1.0=1” dan seterusnya, selain itu (dengan pernyataan “else case” akan dikirimkan pesan “er”, artinya ada error atau perintah tidak dikenal;
  • Percobaan dapat dilakukan dengan menghubungkan board uC ke port serial menggunakan kabel serial bersilang, maksudnya dilakukan pasangan antara uC dan PC sebagai berikut: Gnd – Gnd, Tx(komputer) – Rx(mikrokontroler) dan Tx(komputer) – Rx(mikrokontroler);
  • Keterangan dan penjelasan lengkap mengenai komunikasi serial ini bisa Anda baca di buku saya “Belajar Mikrokontroler AT89C51/52/55: Teori dan Aplikasi“, Edisi 2.

Bagaimana mudah khan? kalo sudah begini, Anda bisa mengembangkan aplikasi ini untuk pembuatan program kontrol atau pemantauan menggunakan Visual Basic atau Delphi – Teknik Antarmuka PC.

Terima kasih, semoga bermanfaat… Komentar/pertanyaan silahkan…

Categories
Mikrokontroler

Trik Tampilan Seven Segmen – si POLOS vs. si PENERJEMAH

Untuk menampilkan data-data melalui 7-segmen menggunakan mikrokontroler AT89 bisa dilakukan dalam 2 cara alternatif yang akan saya terangkan berikut ini, jika Anda pemula dalam mikrokontroler, ada baiknya Anda mengunduh ebook gratis saya mengenai pengenalan PLC dan mikrokontroler dan (sangat) disarankan untuk membaca (dengan cara membeli terlebih dahulu, he he he…) buku saya, informasinya ada disini!

Kita akan gunakan 7-segmen CA (Common Anode), dengan demikian untuk menyalakan perlu diberi logika 0, sedangkan konfigurasi 7-segmen sebagai berikut…

Baiklah rangkaian pertama si POLOS sebagai berikut…

sedangkan program dalam bahasa BASIC menggunakan BASCOM51 saya tampilkan berikut…

$regfile = "89c55wd.dat"
$crystal = 12000000
' urutan g,f,e,d,c,b,a masing-masing ke 6,5,4,3,2,1,0
' angka 1 = b,c         = &b11111001 = &h79
' angka 0 = a,b,c,d,e,f = &b11000000 = &hC0

Do
  P0 = &H79
  P2 = &HC0
  Wait 1
  P0 = &HC0
  P2 = &H79
  Wait 1
Loop
End

Keterangan:

  • $regfile digunakan untuk memberitahukan berkas uC yang digunakan, disini kita pake AT89C55 dengan fasilitas watchdog (at89c55wd.dat);
  • $crystal = 12000000, adalah pernyataan kristal yang kita gunakan adalah 12 MHz;
  • Karena urutan port sebagaimana ditulis dalam keterangan program, maka agar ditampilkan angka ‘1’ digunakan data &h79, sedangkan untuk angka ‘0’ digunakan data &hC0;
  • wait 1, artinya tunggu 1 detik, jika terlalu lama, Anda bisa gunakan waitms <angka>, dengan <angka> bisa Anda isi angka dalam satuan milidetik paling besar 255.

Hasilnya…

setelah 1 detik

Mudah khan… gampang kok belajar Mikrokontroler AT89, apalagi pake buku saya he he he….

Baiklah rangkaian yang kedua si PENERJEMAH

sedangkan contoh programnya…

$regfile = "89c55wd.dat"
$crystal = 12000000

Do
   P2 = &H10
   Wait 1
   P2 = &H01
   Wait 1
Loop
End

Hasilnya…

setelah 1 detik

Lo… kok data yang dikirim berbeda ya dengan yang pertama? Iya ya lah… lha wong sekarang antara uC dengan 7-segmen digunakan penerjemah BCD to 7-segmen kok (74LS47 yang cocok dengan 7-segmen CA, sedangkan 74LS48 cocok dengan 7-segmen CC (Common Cathode))… artinya jika kita kirim angka ‘0’ ke 74LS47, maka IC tersebut akan menerjemahkan data ‘0’ sebagai tampilan ‘0’ di 7-segmen, begitu seterusnya sampe angka ‘9’. Dan untungnya untuk 2×7-segmen hanya dibutuhkan 1 port aja… iya toh…

Mmm enak ya pake 74LS47 tinggal kirim angka-nya, gak pake penerjemahan manual kayak rangkaian yang pertama…. Enak apaan?! Lha wong harus dibayar mahal dengan beli IC 74LS47 dua biji loch…. he he he…

Anda bisa mengembangkan menjadi maksimal 4x2x7-segmen atau 8×7-segmen jika menggunakan 74LS47 (atau 74LS48), tapi tidak ada sisa satu port-pun, karena semua dipake untuk tampilan, kecuali Anda gunakan trik-trik khusus, misalnya, untuk pake 1 port bisa jadi 6x7segmen, gimana caranya? Ehm lain kali aja yach saya terangkan… Insya Alloh….

Hikmah:
“Semakin mudah implementasi pemrograman uC semakin mahal biaya-nya, karena rangkaiannya semakin rumit dan kompleks, demikian juga dengan kehidupan, semakin mudah implementasi hidup, semakin mahal biaya-nya” (AEP)

Ada komentar/pertanyaan, silahkan…

Categories
Mikrokontroler

Watchdog dengan BASCOM-51 atau BASCOM-AVR

Diterbitkan Nopember 2008, di-update 27 Januari 2010

Pewaktu watchdog merupakan piranti pewaktuan perangkat keras yang bisa memicu reset sistem pada saat program utama, karena ada beberapa keasalahan, seperti hang, mengabaikan layanan rutin ke watchdog (biasanya seperti pemberian pulsa secara rutin), atau gampangannya kalo Anda punya anjing atau kucing kemudian lupa memberikan makan, apa yang terjadi? Ya jegog atau ngeong khan?? Dalam hal ini, saat jegog atau ngeong, pewaktu watchdog akan mereset sistem. Intinya, mengembalikan sistem ke awal mula (kondisi normal) karena telah terjadi kesalahan atau hang tadi…

Watchdog pada keluarga AT89 (khususnya seri AT89S52 ke atas) terdiri dari sebuah pencacah 13-bit dan Watchdog Timer Reset (WDTRST). WDT atau pewaktu watchdog biasanya tidak (belum) diaktifkan. Untuk mengaktifkan WDT, pengguna harus menuliskan 0x1E dan 0xE1 secara berurutn ke register WDTRST (lokasi SFR alamat 0xA6). Saat WDT diaktifkan, nilainya akan selalu dinaikkan setiap siklus mesin selama osliator juga bekerja. Timeout pada WDT bergantung pada frekuensi kristal atau detak yang digunakan. Tidak ada jalan lain untuk menon-aktifkan WDT kecuali melalui RESET (baik reset secara perangkat keras atau reset karena WDT melimpah atau overflow). Pada saat WDT melimpah, maka akan menghasilkan luaran pulsa RESET HIGH pada pin RST.

Instruksi Watchdog pada BASCOM51/BASCOM-AVR

Sintaks:

START WATCHDOG ' untuk menjalankan pewaktu watchdog
STOP WATCHDOG  ' untuk menghentikan pewaktu watchdog
RESET WATCHDOG ' untuk mereset nilai pewaktu Watchdog

Catatan:

  • AT89S8252 memiliki pewaktu Watchdog internal.
  • Pewaktu watchdog adalah pewaktu yang bisa me-RESET mikrokontroler saat mencapai nilai tertentu.
  • Selama jalannya program, pewaktu ini harus di-reset (secara manual) sebelum mencapai nilai maksimum-nya. Hal ini untuk memastikan bahwa program berjalan dengan baik dan benar (kayak bahasa Indonesia aja ya…).
  • Saat program mengalami masalah (hang, crash) atau diam saja pada suatu kalang, maka tidak terjadi proses reset pewaktu Watchdog sehingga RESET sistem secara otomatis akan terjadi.

Anda perlu mengkonfigurasi waktu reset Watchdog dengan perintah…

CONFIG WATCHDOG = waktu

Waktu, yang dinyatakan dalam milidetik, jika watchdog tidak direset, akan menyebabkan limpahan (overflow) yang kemudian me-RESET sistem, nilainya antara lain: 16, 32, 64, 128, 256, 512, 1024 atau 2048

Contoh dan penjelasan

$regfile="89s8252.dat"
$crystal = 12000000
$baud = 2400

Config Watchdog = 2048           ' lakukan reset setelah 2048 milidetik
Start Watchdog                   ' jalankan pewaktu watchdog
Dim I As Word
For I = 1 To 10000
   Print I                         ' tampilkan nilai I
'  Reset Watchdog
'
' jika Anda perhatikan, perintah FOR-NEXT
' tidak akan selesai karena keburu di-RESET
' tetapi jika perintah Reset Watchdog diaktifkan...
' instruksi FOR-NEXT akan berjalan dengan normal,
' karena pewaktu WDT akan di-reset sebelum
' mencapai 2048 milidetik
Next
End

Semoga bermanfaat…

Categories
Mikrokontroler

Prototipe Alat Ukur Daya berbasis Mikrokontroler AT89

Konsumsi listrik untuk masyarakat yang sudah melebihi produksi listrik yang mampu diberikan PLN menyebabkan masyarakat harus melakukan penghematan listrik sebaik mungkin.

Untuk membantu penghematan tersebut, dibuat prototipe alat ukur daya berbasis Mikrokontroler AT89S52 yang mampu menginformasikan beban daya yang terpasang saat itu dan memberikan tanda peringatan jika daya terpasang melebihi 75 Watt. Alat ini bekerja pada tegangan 220 Volt dengan frekuensi jala-jala sekitar 60 Hz.

Alat ukur daya ini terlah berhasil digunakan untuk mengukur daya suatu beban terpasang yang merupakan lampu dengan merek Dop mulai dari 10 hingga 100 Watt. Faktor ralat alat ini terburuk sebesar 2% untuk lampu 10 Watt dan terbaik 0,44% untuk lampu 25 Watt.

(informasi selengkapnya bisa diunduh disini)

Categories
Mikrokontroler

Mikrokontroler Atmel AT89

Merupakan produk populer di Indonesia, murah-meriah:

  • Terdapat berbagai macam jenis atau varian, AT89C dan AT89S (beberapa produk AT89C dikatakan sebagai not recommended for new design, karena sudah digantikan dengan varian baru yang lebih baik);
  • Harganya relatif murah dan terjangkau – selera bos harga anak kost;
  • Perbandingan fitur menunjukkan adanya beberapa perbedaan antar varian AT89, mulai dari ukuran Flash PEROM, ada tidaknya komparator, jumlah port, kecepatan operasional dan lain sebagainya.

Saran belajar pemrograman Mikrokontroler AT89:

  • Menggunakan perangkat lunak terpadu atau IDE (Integrated Development Environment), misalnya MIDE Studio for MCS-51 dari Innovative Experiment, Thailand yang bisa juga Anda download disini. Perangkat lunak ini sudah terpadu dengan dua macam kompiler, yaitu ASEM-51 untuk penulisan program dalam Bahasa Assembly dan SDCC untuk Bahasa C.
  • Rekomendasi buku bacaan untuk pembelajaran yang relatif mudah dipahami: Belajar Mikrokontroler AT89C51/52/55: Teori dan Praktek, Edisi 2 oleh Agfianto Eko Putra (Best Seller).
  • Membuat sendiri S52 Learning Board (berbasis AT89S52 atau AT89S8252), sebuah rangkaian downloader sekaligus papan pengembang untuk berbagai macam aplikasi:
  • Beberapa pemrogram yang saya sarankan, selain S52 Learning Board:
    • ISP Flash Programmer V3.0 (info)
    • Cheap Loader Cable for ASIM’s ISP for 89S51 (info)
    • M Asim Khan’s Programmer Ver 3.1 (info)
    • Atmel 89 Series Device Programmer (info)
    • Dan lain sebagainya…
  • Gunakan simulator gratis seperti TopView Simulator atau Dscope-51 atau menggunakan simulator komersial (yang sangat mahal), Proteus VSM v7.0 (versi evaluasi atau demo bisa didownload dari http://www.labcenter.co.uk).

Informasi lebih lengkap bisa diunduh di ebook saya…

Categories
Mikrokontroler

Belajar Mikrokontroler itu Mudah!

Sebenarnya, siapa saja yang perlu belajar mikrokontroler? Apakah hanya monopoli rekan-rekan di ELINS atau Teknik Elektro saja? Tidak, sama sekali tidak. Beberapa pembaca buku saya “Belajar Mikrokontroler AT89C51/52/55: Teori dan Praktek” berasal dari (berdasar email yang masuk dari seluruh Indonesia):

  • Para peminat atau hobyis dengan berbagai latar belakang pendidikan;
  • Pelajar SMA dan STM, bahkan tidak menutup kemungkinan pelajar SMP-pun berhak mendapatkan ilmu mikrokontroler, jika mereka berminat;
  • Mahasiswa teknik (khususnya Elektro, Industri dan Fisika), MIPA (khususnya ELINS dan Ilmu Komputer) maupun dari beberapa disiplin ilmu lainnya.

Kenapa mudah? Karena modalnya (1) Tekad dan (2) Menguasai atau minimal memahami logika dan algoritma. Hal ini disebabkan pemrograman mikrokontroler banyak membutuhkan cara berpikir yang logis dan terstruktur.

Untuk pemula saya sarankan menggunakan BASIC Stamp atau mikrokontroler dengan pendekatan bahasa BASIC atau yang sudah dipahami sebelumnya seperti Bahasa C, karena banyak kemudahan yang ditawarkan, mulai dari pembuatan rangkaian aplikasi hingga pemrogramannya. Lantas sarana belajar apa saja yang perlu disiapkan?

  • Buku-buku bacaan Mikrokontroler yang mudah dipahami, tidak hanya menggunakan bahasa yang Anda pahami (Indonesia) tetapi dituliskan atau disampaikan dengan cara yang relatif mudah dipahami.
  • Perangkat lunak kompiler atau cross assembler yang berkaitan dengan mikrokontroler yang dipelajari, ini digunakan untuk mengubah program kita menjadi siap untuk dieksekusi atau dijalankan oleh mikrokontroler yang bersangkutan. Bagaimana cara mendapatkan kompiler tersebut? Download saja dari website mikrokontroler yang bersangkutan (biasanya mereka menyediakan secara gratis).
  • Penting juga untuk menyediakan sebuah perangkat lunak lengkap yang bisa melakukan penggambaran rangkaian dan simulasi program mikrokontroler secara internal maupun visual secara real-time.
  • Perlu juga membuat rangkaian pemrogram (donwloader) atau papan pengembang atau langsung rangkaian aplikasi untuk melihat langsung hasil pemrograman mikrokontroler yang dilakukan.

Adakah perangkat lunak yang bisa untuk melakukan simulasi secara internal maupun visual? Tentu saja ada, hanya saja komersil dan harganya mahal sekali. Akan saya jelaskan ebook gratis saya yang bisa diunduh disini… monggo…

Categories
Mikrokontroler

Apakah Mikrokontroler itu?

Jika kita bicara tentang Mikrokontroler, maka tidak terlepas dengan pengertian atau definisi tentang Komputer itu sendiri, mengapa? Ada kesamaan-kesamaan antara Mikrokontroler dengan Komputer (atau Mikrokomputer), antara lain:

  • Sama-sama memiliki unit pengolah pusat atau yang lebih dikenal dengan CPU (Central Processing Unit);
  • CPU tersebut sama-sama menjalankan program dari suatu lokasi atau tempat, biasanya dari ROM (Read Only Memory) atau RAM (Random Access Memory);
  • Sama-sama memiliki RAM yang digunakan untuk menyimpan data-data sementara atau yang lebih dikenal dengan variabel-variabel;Sama-sama memiliki beberapa keluaran dan masukan yang digunakan untuk melakukan komunikasi timbal-balik dengan dunia luar.

Lantas apa yang membedakan antara Mikrokontroler dengan Komputer atau Mikrokomputer? Begitu mungkin pertanyaan yang ada di benak kita, saat kita membaca beberapa daftar kesamaan yang sudah saya tuliskan tersebut. Sama sekali berbeda, itu jawaban yang saya berikan kepada Anda:

Mikrokontroler adalah versi mini dan untuk aplikasi khusus dari Mikrokomputer atau Komputer!

Berikut saya berikan kembali daftar kesamaan yang pernah ditulis sebelumnya dengan menekankan pada perbedaan antara Mikrokontroler dan Mikrokomputer:

  • CPU pada Mikrokomputer berada eksternal dalam suatu sistem, sampai saat ini kecepatan operasionalnya sudah mencapai tingkat lebih dari 2 GHz, sedangkan CPU pada Mikrokontroler berada internal dalam sebuah chip, kecepatan bekerja masih cukup rendah, dalam orde MHz (misalnya, 24 MHz, 40 MHz dan lain sebagainya). Kecepatan yang relatif rendah ini sudah mencukupi untuk aplikasi-aplikasi berbasis mikrokontroler.
  • Jika CPU pada mikrokomputer menjalankan program dalam ROM atau yang lebih dikenal dengan BIOS pada saat awal dihidupkan, kemudian mengambil atau menjalankan program yang tersimpan dalam hard disk. Sedangkan mikrokontroler sejak awal menjalankan program yang tersimpan dalam ROM internal-nya (bisa berupa Mask ROM atau Flash PEROM). Sifat memori program ini non volatile, artinya tetap akan tersimpan walaupun tidak diberi catu daya.
  • RAM pada mikrokomputer bisa mencapai ukuran sekian MByte dan bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di luar chip CPU-nya, sedangkan RAM pada mikrokontroler ada di dalam chip mikrokontroler yang bersangkutan dan ukurannya sangat minim, misalnya 128 byte, 256 byte dan seterusnya dan ukuran yang relatif kecil inipun dirasa cukup untuk aplikasi-aplikasi mikrokontroler.
  • Keluaran dan masukan pada mikrokomputer jauh lebih kompleks dibandingkan dengan mikrokontroler, yang jauh lebih sederhana, selain itu, pada mikrokontroler tingkat akses keluaran dan masukan bisa dalam satuan per bit.
  • Jika diamati lebih lanjut, bisa saya katakan bahwa Mikrokomputer atau Komputer merupakan komputer serbaguna atau general purpose computer, bisa dimanfaatkan untuk berbagai macam aplikasi (atau perangkat lunak). Sedangkan mikrokontroler adalah special purpose computer atau komputer untuk tujuan khusus, hanya satu macam aplikasi saja.

Perhatikan gambar berikut agar Anda mendapatkan gambaran tentang mikrokontroler…

ALU, Instruction Decoder, Accumulator dan Control merupakan Otak-nya mikrokontroler yang bersangkutan. Jantungnya berasal dari detak OSC (lihat gambar sebelah kiri atas). Sedangkan di sekeliling ‘Otak’ terdapat berbagai macam periferal seperti SFR (Special Function Register yang bertugas menyimpan data-data sementara selama proses berlangsung), Memori RAM (tugas hampir sama seperti SFR hanya saja tidak berhubungan langsung selama proses operasional mikrokontroler), ADC (untuk mengubah data-data analog menjadi digital untuk diolah atau diproses lebih lanjut), EEPROM (sama seperti RAM hanya saja tetap akan menyimpan data walaupun tidak mendapatkan sumber listrik/daya) dan port-port I/O untuk masukan/luaran, untuk melakukan komunikasi dengan pihak-pihak eksternal mikrokontroler (sensor dan aktuator).

Ciri khas mikrokontroler lainnya, antara lain:

  • ‘Tertanam’ (atau embedded) dalam beberapa piranti (umumnya merupakan produk konsumen) atau yang dikenal dengan istilah embedded system atau embedded controller;
  • Terdedikasi untuk satu macam aplikasi saja (lihat contoh-contoh yang akan saya terangkan pada bagian berikutnya);
  • Hanya membutuhkan daya yang rendah (low power) sekitar 50 mWatt (Anda bandingkan dengan komputer yang bisa mencapai 50 Watt lebih);
  • Memiliki beberapa keluaran maupun masukan yang terdedikasi, untuk tujuan atau fungsi-fungsi khusus;
  • Kecil dan relatif lebih murah (seri AT89 di pasaran serendah-rendahnya bisa mencapai Rp. 15.000,00 sedangkan Basic Stamp bisa mencapai Rp. 500.000,00);
  • Seringkali tahan-banting, terutama untuk aplikasi-aplikasi yang berhubungan dengan mesin atau otomotif atau militer.

Dapatkan informasi lengkapnya dengan mengunduh ebook gratisnya disini