Selasa, 22 Juni 2010

APLIKASI-APLIKASI MIKROKONTROLER DARI DELTA ELEKTRONICS

AN051 BACK UP DAN COPY EPROM DENGAN MENGGUNAKAN DST-52

Pada system-sistem berbasis mikrokontroler ataupun mikroprosesor, memori EPROM seringkali dijumpai. Terutama pada system elektronik lama yang membutuhkan memori di luar mikrokontroler atau system elektronik yang membutuhkan memori program yang cukup besar, memori ini seringkali dijumpai sebagai media penyimpanan program.

EPROM (Erasable Programmable Read Only Memory) adalah sebuah ROM yang dapat diprogram ulang dan dihapus. Berdasarkan proses pengisiannya terdapat dua jenis EPROM, yaitu UV EPROM dan EEPROM. UV EPROM (Ultraviolet EPROM) membutuhkan cahaya ultraviolet untuk menghapus data yang ada di dalamnya, sedangkan EEPROM (Electrical EPROM) yang hanya menggunakan aliran listrik saja dalam menghapus atau mem-program ulang isinya.

Modul pendukung:

- DST-52 DST-52 Development System

AN052 KUNCI KOMBINASI DIGITAL DENGAN TAMPILAN LCD M1632 OLEH MODUL DST-52

Perkembangan teknologi elektronika, terutama mikrokontroler dewasa ini semakin mempermudah manusia dalam menyelesaikan permasalahan-permasalahan sehari-hari. Pada masalah sistem keamanan, kunci pintu adalah merupakan salah satu factor utama yang cukup penting. Untuk sebuah rumah yang mempunyai banyak pintu, yang harus berada dalam keadaan terkunci setiap kali kita meninggalkannya maka akan dibutuhkan banyak kunci pula yang harus berada dalam saku kita.

Dengan menggunakan kunci elektronik digital, permasalahan ini dapat kita atasi. Pengguna tidak perlu membawa berbagai macam kunci, cukup dengan memasukkan password yang sesuai maka pintu akan terbuka.

Software Pendukung:
Kunci.zip (menggunakan keypad type key-4301)
Kunci2.zip (menggunakan keypad type key-4302, keypad 4×3 with common) 30 April 2007

Modul pendukung:

- DST-52 DST-52 Development System

- KP-43865 Keypad Interface

- M1632 LCD Modul LCD 16×2

AN053 APLIKASI SC2051 SEBAGAI KUNCI KOMBINASI DIGITAL DENGAN MENGGUNAKAN REMOTE KONTROL INFRAMERAH SONY

Bila pada artikel sebelumnya telah kita bahas mengenai kunci kombinasi digital dengan menggunakan Keypad 4×3, maka dalam artikel ini akan kita bahas mengenai penggunaan remote kontrol infra merah sebagai input data pengganti keypad 4×3. Penggunaan remote kontrol infra merah sebagai pengganti keypad 4×3 ini ditujukan untuk mengantisipasi adanya pihak-pihak yang tidak bertanggung jawab merusak keypad sehingga mempersulit pemilik untuk membuka kunci. Selain itu penggunaan remote kontrol juga mempermudah instalasi sehingga tidak lagi diperlukan tempat untuk meletakkan keypad.

Software Pendukung:

kremote.zip

Modul pendukung:

- SC-2051 Single Chip AT89C2051

AN054 JAM WEKKER DIGITAL BERTAMPILAN M1632 LCD DENGAN MENGGUNAKAN MODUL DST-52

Aplikasi berikut ini membahas penggunaan Modul RTC-1287 sebagai jam digital dengan tampilan M1632 LCD. Dengan adanya fasilitas alarm pada RTC-1287, kita dapat membangun sebuah jam wekker digital. Wekker digital ini akan sangat bermanfaat untuk kasus-kasus khusus seperti bilamana pengguna berkeinginan untuk mengaktifkan suatu peralatan listrik pada jam-jam tertentu.

Software pendukung:

alarmrtc.zip

alarmrtc2.zip (Revisi: pergantian keypad dengan common menjadi keypad tanpa common)

Modul pendukung:

- DST-52 DST-52 Development System

- RTC-1287 Modul Real Time Clock

- KP-43865 Keypad Interface

- M1632 LCD Modul LCD 16×2
AN055 Teknik Akses I2C Serial EEPROM oleh Modul DST-51/2 dan Modul SEE-24

Serial EEPROM tipe 24xx adalah merupakan memori serial yang menggunakan teknologi I2C di mana dengan adanya penggunaan teknologi tersebut, jumlah I/O yang digunakan untuk meng-akses memori tersebut semakin sedikit. Hal ini sangat bermanfaat bagi sebuah sistem yang memerlukan banyak I/O. Penggunaan I/O yang semakin sedikit untuk mengakses memori, akan menyediakan lebih banyak I/O yang dapat digunakan untuk keperluan lain.

Modul pendukung:

- DST-52 DST-52 Development System

- SEE-24 Serial EEPROM I2C
AN056 PENGGUNAAN MODUL DST-52 DAN SEE-24 SEBAGAI PENGCOPY I2C SERIAL EEPROM DENGAN TAMPILAN M1632 LCD

Memori Serial EEPROM seringkali kita jumpai pada peralatan-peralatan elektronik yang baru. Kerusakkan atau kacaunya data pada memori tersebut akan mengakibatkan peralatan elektronik menjadi tidak bekerja sebagaimana mestinya. Berbeda dengan komponen-komponen elektronik lainnya, Serial EEPROM ini seringkali sudah terisi dengan data atau program tertentu oleh pabrik sehingga teknisi tidak dapat dengan mudah menggantikan memori ini dengan memori yang dijual di pasaran di mana memori tersebut biasa terjual dalam keadaan kosong. Untuk mengatasi hal-hal tersebut, backup data/program sangat diperlukan sehingga memori backup dapat secara langsung digunakan untuk menggantikan memori yang rusak

Software pendukung:

I2c.zip

Modul pendukung:

- DST-52 DST-52 Development System

- SEE-24 Serial EEPROM I2C

- KP-43865 Keypad Interface

- M1632 LCD Modul LCD 16×2
AN057 APLIKASI PENGENDALI PERALATAN RUMAH TANGGA DENGAN MENGGUNAKAN MODUL DST-52 DAN DF-88

Kemajuan teknologi elektronika dewasa ini, membuat manusia menciptakan berbagai perangkat untuk mempermudah aktifitas sehari-hari dalam kehidupannya. Kendali peralatan-peralatan rumah tangga dalam hal ini merupakan sistem yang sangat berguna dalam mempermudah aktifitas kita. Seringkali kita memerlukan proses kendali tersebut dilakukan dari jarak jauh. Jaringan telephone adalah salah satu alternatif yang cukup baik mengingat jaringan ini sudah tersebar di berbagai wilayah di dunia.

Software pendukung:

KontrolPhone.zip (Revisi 10/08/05: Offkan semua relay saat restart)

Modul pendukung:

- DST-52 DST-52 Development System

- DF-88 Phone Interface

AN058 PROTEKSI JALUR TELEPHONE OLEH MODUL DST-52 DAN DF-88 DENGAN TAMPILAN M1632 LCD

Seringkali pengguna telephone mengeluhkan adanya kenaikan biaya tagihan telephone di luar dugaan. Hal ini disebabkan adanya pemakaian dari pihak-pihak yang tidak bertanggung jawab diluar sepengetahuan pemilik telephone. Untuk mengatasi masalah itu, banyak dijual berbagai macam pesawat telephone yang dilengkapi dengan kunci pengaman. Konsep ini adalah konsep proteksi pada pesawat telephone, dengan menggunakan sebuah pesawat telephone lain, maka proteksi ini masih dapat digagalkan.
Software pendukung:

Ppassw.zip

Modul pendukung:

- DST-52 DST-52 Development System

- DF-88 Phone Interface

- M1632 LCD Modul LCD 16×2

AN059 APLIKASI PENGENDALI PERALATAN RUMAH TANGGA II (INDOOR REMOTE)

Bila pada edisi sebelumnya proses kendali peralatan rumah tangga diatur melalui jarak jauh di mana pengendali menggunakan jaringan nomor telephone yang lain, maka dalam artikel ini proses kendali peralatan rumah tangga dapat dilakukan secara indoor, yaitu dengan menggunakan jaringan telephone yang ada di dalam rumah.

Proses ini sangat efektif apabila pengguna ingin mengendalikan peralatan tersebut dari dalam rumah atau ruangan lain dalam rumah tersebut. Keuntungan system ini adalah proses kendali dapat dilakukan tanpa perlu melakukan panggilan sehingga proses berlangsung tanpa menambah pengeluaran pulsa telephone.

Software pendukung:

KontrolphoneII.zip

Modul pendukung:

- DST-52 DST-52 Development System

- DF-88 Phone Interface

AN060 ANTAR MUKA KEYPAD 4X3 DENGAN MODUL DST-52 MENGGUNAKAN BAHASA C

Aplikasi berikut adalah antar muka Modul DST-52 dengan interface Keypad 4×3 dengan menggunakan Bahasa C

Software pendukung:

Keypad.C

Modul pendukung:

- DST-52 DST-52 Development System

- KP-43865 Keypad Interface

AN061 ANTAR MUKA M1632 LCD DENGAN MODUL DST-52 MENGGUNAKAN BAHASA C

Aplikasi berikut adalah antarmuka Modul DST-52 dengan LCD matriks 2×16. LCD ini bisa diakses dengan mode antarmuka 8 bit atau mode antarmuka 4 bit. Pada aplikasi kali ini akan digunakan mode antarmuka 4 bit.

Software pendukung:

LCD.C

Modul pendukung:

- DST-52 DST-52 Development System

- M1632 LCD Modul LCD 16×2

AN062 KENDALI MOTOR STEPPER DENGAN MENGGUNAKAN MODUL DST-52 DAN STP-06

Aplikasi kali ini membahas pengaturan pergerakan motor stepper dengan tiga parameter pergerakan yang bisa diatur, yaitu: arah, jumlah step dan kecepatan dan dibahas dengan menggunakan Bahasa C

Software pendukung:

Stepper.C

Modul pendukung:

- DST-52 DST-52 Development System

- M1632 LCD Modul LCD 16×2

- STP-06 Modul Stepper Driver

AN063 APLIKASI SMS PADA JARINGAN TELEPHONE OLEH MODUL DST-52 DAN DF-88

Aplikasi kali ini membahas mengenai proses pengiriman pesan (SMS) dengan menggunakan jaringan telephone sebagai media komunikasinya. Aplikasi SMS pada jaringan telephone yang ada menggunakan bentuk data FSK (Frequency Shift Keying) dan memerlukan registrasi terlebih dahulu untuk mengaktifkannya. Pada aplikasi ini, proses pengiriman SMS dilakukan dengan nada DTMF sehingga tidak diperlukan registrasi untuk itu.

Software pendukung:

Smsphone.zip Revisi bug 6 Agustus 2005

Modul pendukung:

- DST-52 DST-52 Development System

- M1632 LCD Modul LCD 16×2

- DF-88 Phone Interface

AN064 PENGIRIMAN NADA DTMF KE PORT SERIAL PC OLEH MODUL ST-51 DAN DF-87

Modul ST-51 (Small System AT8951) adalah merupakan versi paling ekonomis dari sistem berbasis AT8951. Artikel kali ini membahas mengenai aplikasi pengambilan nada DTMF dengan bantuan Modul DF-87 yang merupakan versi sederhana dari Modul antarmuka jaringan telephone DF-88.

Software pendukung:

DTMFSerial.zip

Modul pendukung:

- ST-51 Small System AT8951

- LD-51 8 bit LED Tester with Amphenol to Header 10×1 Converter

- UNI ISP-01 Universal ISP Cable

- DF-87 Modul DTMF Interface

AN065 KENDALI MOTOR STEPPER DENGAN MODUL ST-51 MELALUI PORT SERIAL PC

Aplikasi kali ini adalah merupakan pengendalian motor stepper dengan perintah-perintah yang dikirim melalui port serial PC

Software pendukung:

StepperPC.zip

Modul pendukung:

- ST-51 Small System AT8951

- LD-51 8 bit LED Tester with Amphenol to Header 10×1 Converter

- CB232-02 RS232 to TTL Converter Cable

- STP-06 Modul Stepper Driver

AN066 Menampilkan nilai dari 8 kanal ADC ke Port Serial PC oleh Modul ST-51 dan AD-0809 V2.0

Seringkali dalam suatu system elektronik dibutuhkan komunikasi antara system tersebut dengan PC. Pada artikel kali ini, dibahas mengenai proses pengambilan input tegangan analog dari 8 buah kanal input dan mengirimkan ke port serial PC. Pada aplikasinya proses konversi tegangan analog ke digital dapat digunakan untuk berbagai macam keperluan seperti volt meter digital, thermometer digital atau perangkat-perangkat instrument lainnya. Dengan adanya Kabel CB232-02, maka data dari hasil konversi ADC dapat dikirim ke port serial PC

Software pendukung:

ADCST51.zip

Modul pendukung:

- ST-51 Small System AT8951

- LD-51 8 bit LED Tester with Amphenol to Header 10×1 Converter

- CB232-02 RS232 to TTL Converter Cable

- AD0809 8 Channel Analog to Digital Converter

AN067 PENGIRIM KODE MORSE DENGAN MENGGUNAKAN MODUL DST-52 DAN M1632 LCD

Artikel berikut ini membahas mengenai pengiriman kode morse secara digital dengan menggunakan Modul DST-52 dan M1632 LCD sebagai penampil datanya. Aplikasi ini sangat bermanfaat bagi pengguna yang berkeinginan untuk mempelajari kode morse.

Software pendukung:

Morse.zip

Modul pendukung:

- DST-52 DST-52 Development System

- M1632 LCD Modul LCD 16×2

AN068 PERMAINAN JACKPOT DENGAN MENGGUNAKAN DST-52 DAN M1632 LCD

Artikel kali ini membahas mengenai permainan jackpot yang dilakukan oleh Modul DST-52. Permainan ini adalah merupakan permainan di mana beberapa gambar dalam beberapa kolom diputar. Pemain harus menekan suatu tombol untuk menghentikan putaran. Jackpot akan diperoleh apabila proses penekanan tombol dilakukan pada saat ketiga gambar menampilkan gambar yang sama persis.

Software pendukung:

Jackpot.zip

Modul pendukung:

- DST-52 DST-52 Development System

- M1632 LCD Modul LCD 16×2

AN069 PENGGUNAAN MICROCONTROLLER AVR PADA MODUL DST-5x

AVR adalah merupakan mikrokontroler keluaran Atmel dengan teknologi RISC di mana hampir setiap instruksi hanya dapat dijalankan dengan 1 siklus mesin saja. Hal ini mengakibatkan mikrokontroler ini bekerja lebih cepat daripada mikrokontroler yang lain.

Untuk mengikuti adanya perkembangan ini, Modul DST-51 versi 2.0 yang diluncurkan bulan Juni 2001 (saat ini telah mencapai versi 2.1 untuk DST-51 dan versi 2.6 untuk DST-52) telah dirancang dengan Mode AVR90S8515 di mana pada mode ini, pengguna dapat menggantikan mikrokontroler AT8951 yang menjadi basis DST-51 dengan AT90S8515. Dengan adanya Mode AVR90S8515, maka kedua jenis mikrokontroler Atmel, baik AVR90S8515 (saat ini ATMega8515) maupun AT895x dapat digunakan dalam satu Modul Development System saja. Pengguna tidak perlu membeli dua buah Modul Development System untuk hal ini.

Software pendukung:

Yaap.zip AVR ISP Software

Modul pendukung:

- DST-52 DST-52 Development System

AN070 APLIKASI HITACHI M1632 LCD PADA SC-AVR

Apabila kita merancang suatu system yang membutuhkan tampilan, biasanya digunakan LCD. M1632 LCD yang ada di pasaran sekarang ini, sebagian besar menggunakan mikrokontroler HD44780 buatan Hitachi yang didisain khusus untuk mengendalikan LCD. Dalam materi kali ini, akan dibahas mengenai cara pemakaian LCD karakter 2×16 yg menggunakan mikrokontroler HD44780 pada modul SC-AVR.

Modul SC-AVR adalah merupakan sistem sederhana yang dapat digunakan sebagai modul mikrokontroler AVR dengan 2 buah port antar muka LCD yaitu port untuk Hitachi M1632 LCD dan port untuk M1632 LCD merk Seiko, Hyunday ataupun Tian Ma. Selain digunakan sebagai modul mikrokontroler AVR ATMega8515 ataupun AT90S8515, yang diproduksi oleh Atmel (www.atmel.com), SC-AVR dapat juga digunakan sebagai modul mikrokontroler MCS51 (AT8951, AT8952, AT8953, AT8955 dan AT898252). Modul ini juga mempunyai fasilitas tambahan I2C Serial EEPROM sebesar 1 Kbyte yang dapat digunakan sebagai memori tambahan apabila kapasitas EEPROM AVR tidak mencukupi atau pada saat pengguna memakai mikrokontroler MCS51 yang tidak memiliki EEPROM.

Software pendukung:

LCDAVR

Modul pendukung:

- SC-AVR Single Chip AVR Sistem

AN071 AKSES I2C SERIAL EEPROM PADA SC-AVR

I2C Serial EEPROM adalah merupakan Serial EEPROM yang diakses dengan teknologi komunikasi serial yang ditemukan oleh Philips pada tahun 1992 dan direvisi hingga versi 2.1 yang terbaru pada tahun 2000. Memori ini adalah merupakan memori eksternal yang cukup efektif bagi mikrokontroler-mikrokontroler yang membutuhkan ekstra memori. Hal ini disebabkan karena I2C Serial EEPROM hanya membutuhkan 2 jalur I/O saja sehingga mereduksi pemakaian I/O mikrokontroler. ATMega8515 mempunyai 512 byte Internal EEPROM, namun sering kali kita membutuhkan memori dengan kapasitas yang lebih besar sehingga dibutuhkan memori eksternal sebagai media penyimpanan data.

Software pendukung:

SEEAVR

Modul pendukung:

- SC-AVR Single Chip AVR Sistem

AN072 TEKNIK SCANNING KEYPAD OLEH MODUL DST-52 DAN KEY-43

Pada artikel sebelumnya telah dibahas antar muka keypad 4×3 di mana keypad tersebut memiliki common yang dapat dihubungkan ke suatu logika tertentu seperti 0 (ground) atau 1 (VCC). Kali ini pembahasan akan mengarah pada penggunaan keypad 4×3 tanpa common di mana proses pengambilan data dilakukan dengan metode scanning.

Software pendukung:

Scankey

Modul pendukung:

- DST-52 Development System AT8952

AN073 APLIKASI MODUL DST-52 SEBAGAI PENGHITUNG BARANG DALAM RODA BERJALAN

Artikel berikut membahas aplikasi Modul DST-52 sebagai penghitung jumlah barang yang melalui sebuah konveyor (roda berjalan) yang seringkali ditemukan pada proses-proses industri. Selain berfungsi sebagai penghitung jumlah barang, aplikasi ini juga dapat berfungsi sebagai penghitung jumlah kendaraan yang melalui suatu pintu tertentu.

Software pendukung:

Counter (Revisi bug 01/08/05)

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- IR-8510 Infrared Transceiver

AN074 APLIKASI MODUL DST-52 SEBAGAI JAM DIGITAL DENGAN INPUT DARI PC KEYBOARD DAN M1632 LCD SEBAGAI PENAMPIL

Pada artikel kali ini akan dibahas contoh bagaimana menggabungkan antara modul RTC-1287, modul LCD Hitachi M1632, dan PC Keyboard ke DST-52. Sebagai contoh aplikasi dari penggabungan ini adalah Jam Digital dengan inputan PC Keyboard, yang dimaksud menggunakan inputan PC Keyboard adalah PC Keyboard digunakan sebagai inputan untuk perubahan jam, menit dan detik pada Jam Digital

Software pendukung:

RTCKey

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- RTC-1287 Modul Real Time Clock

AN075 APLIKASI MODUL DST-52 SEBAGAI PENGUKUR KETINGGIAN AIR DENGAN M1632 LCD SEBAGAI PENAMPIL DATA

Artikel kali ini membahas bagaimana proses pengukuran ketinggian air dapat dilakukan dengan menggunakan Modul DST-52

Software pendukung:

Water

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul Hitachi LCD 16×2

AN076 PENGHITUNG KECEPATAN PUTARAN MOTOR DENGAN MENGGUNAKAN MODUL DST-52 DAN TAMPILAN HITACHI M1632 LCD

Artikel kali ini membahas bagaimana proses penghitungan kecepatan putar sebuah motor dengan menggunakan Modul DST-52, Development System berbasis AT8952 dan Modul M1632 LCD sebagai media penampil.

Software pendukung:

Speed

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

AN077 PENGENDALI PERALATAN LISTRIK MELALUI JALUR RS485 OLEH MODUL DST-52 DAN SR-485

Artikel berikut ini adalah merupakan sistem pengendali peralatan listrik dengan menggunakan jalur RS485. Melalui jalur ini, 32 titik dapat dikendalikan hanya dengan menggunakan dua kabel saja

Software pendukung:

RS485K

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- RL-05 Relay Board 5 Volt

- SR-485 RS485 to TTL Converter

AN078 ARITMATIKA PADA DST-51

AN079 ANTARMUKA JOYSTICK DENGAN MODUL DST-52

Bila pada aplikasi-aplikasi sebelumnya seringkali kita gunakan Keypad, PC Keyboard atau switch sebagai input, maka pada aplikasi kali ini akan dibahas penggunaan joystick dalam mengendalikan sistem yang berbasis Modul DST-52. Dibandingkan Keypad maupun Keyboard, penggunaan joystick akan terasa lebih linier dan praktis terutama untuk aplikasi pengendali motor.

Software pendukung:

Joystick

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- AD0809 8 Channel Analog to Digital Converter

AN080 KALENDER ELEKTRONIK DENGAN MENGGUNAKAN MODUL DST-52 DAN RTC-1287 DENGAN HITACHI M1632 LCD SEBAGAI PENAMPIL

Sistem kalender elektronik ini dibangun dengan menggunakan Modul RTC-1287 yaitu Real Time Clock produksi Delta Electronic yang bekerja sebagai jam digital lengkap dengan tanggal bulan dan tahun. Jam digital tersebut tetap akan bekerja walaupun sumber daya tidak terhubung, hal ini disebabkan karena adanya battery yang bekerja di dalam modul tersebut. Sumber daya hanya berfungsi untuk mengambil data dari Modul RTC-1287 dan menampilkannya ke Hitachi M1632 saja.

Software pendukung:

Kalender

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- RTC-1287 Modul Real Time Clock

AN081 APLIKASI PENCATAT AKTIFITAS TELEPHONE OLEH MODUL DST-52

Aplikasi kali ini membahas sebuah sistem yang dapat melakukan pencatatan aktifitas telephone berupa nomor tujuan, waktu untuk memulai panggilan dan waktu berakhirnya panggilan.

Software pendukung:

Phoneact

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- RTC-1287 Modul Real Time Clock

- DF-88 Phone Interface

AN082 PENGATURAN KECEPATAN MOTOR DENGAN PC OLEH DST-52

Penggunaan motor DC dewasa ini sudah sangatlah umum, salah satu kelebihan motor DC adalah relatif gampang didapat dan mudah diatur kecepatan putarnya. Secara umum pengaturan kecepatan motor DC adalah dengan menggunakan cara analog. Pada artikel kali ini akan dibahas contoh cara mengatur kecepatan motor DC dengan menggunakan mikrokontroller

Software pendukung:

Kontrol Motor

Modul pendukung:

- DST-52 Development System AT8952

AN083 APLIKASI DST-52 SEBAGAI PENGENDALI PERALATAN RUMAH TANGGA DENGAN REMOTE CONTROL SONY

Bila pada edisi sebelumnya pengendali peralatan rumah tangga dilakukan melalui jalur telephone dan RS485, maka pada edisi kali ini proses pengendalian peralatan rumah tangga dilakukan dengan menggunakan jalur infra merah. Aplikasi ini lebih praktis untuk penggunaan secara indoor (dalam ruangan) karena portabilitas remote control yang membuat pengguna dapat dengan mudah mengendalikan peralatan dari sudut-sudut ruangan manapun.

Software pendukung:

KontrolSony

Modul pendukung:

- DST-52 Development System AT8952

- IR-8510 Infrared Transceiver

- RL-05 Relay Board 5 Volt

AN084 APLIKASI PENGHITUNG BARANG DALAM RODA BERJALAN DENGAN MENGGUNAKAN MODUL SPD-751

Bila pada edisi sebelumnya kita telah membahas aplikasi penghitung barang dalam roda berjalan (konveyor) dengan menggunakan Modul DST-52 dan Hitachi M1632 LCD sebagai penampil, maka kali ini aplikasi akan dibangun dengan menggunakan Modul SPD-751. Pada dasarnya modul SPD-751 didisain sebagai modul penampil seven segment yang dapat diakses baik melalui serial maupun parallel. Namun pada aplikasi ini, pengguna dapat menggantikan AT89C2051 yang berisi program penampil seven segment dengan AT89C2051 lain yang telah terisi program penghitung barang.

Software pendukung:

Counter

Modul pendukung:

- DST-52 Development System AT8952

AN085 OPERASI ARITMATIKA PADA MODUL DST-51

Operasi artimatika seringkali ditemukan pada aplikasi-aplikasi mikrokontroler terutama pada aplikasi instrumentasi. Mikrokontroler MCS51 mempunyai instruksi-instruksi aritmatika untuk keperluan ini yaitu, Mul (perkalian), Add (penambahan), Subb (pengurangan) dan Div (pembagian). Dengan adanya instruksi-instruksi di atas, maka operasi aritmatika sejumlah 8 bit dapat diatasi dengan mudah. Namun bagaimana bila proses aritmatika dilakukan untuk nilai yang lebih dari 8 bit? Pada Modul DST-51 dengan BIOS versi 2.7 terdapat rutin-rutin siap pakai yang khusus digunakan untuk operasi-operasi aritmatika hingga 5 byte. Dengan kapasitas 8 bit untuk setiap bytenya, maka operasi aritmatika 4 byte atau 4 x 8 bit = 32 bit akan dapat melakukan operasi tersebut hingga dengan bilangan maksimum 232 –1= 4.294.967.295.

Software pendukung:

EQUDST512

Modul pendukung:

- DST-51 Development System AT8951

AN086 Aplikasi Modul OP-01 sebagai Rangkaian Pengkondisi Sinyal

Perkembangan teknologi mikrokontroler dan digital dewasa ini semakin pesat. Berbagai macam jenis mikrokontroler, peripheral maupun IC-IC Digital semakin mempermudah para praktisi dalam membuat sebuah disain. Walau demikian teknologi analog tetap tidak dapat ditinggalkan. Beberapa aplikasi tertentu seperti sensor dan alat ukur seringkali masih membutuhkan teknologi analog

Modul pendukung:

- OP-01 Universal Op Amp

AN087 APLIKASI RANGKAIAN PENGKONDISI SINYAL PIR DETECTOR PADA MODUL OP-01

PIR atau Passive Infrared adalah merupakan sebuah sensor yang biasa digunakan untuk mendeteksi keberadaan manusia. Aplikasi ini biasa digunakan untuk system alarm pada rumah-rumah atau perkantoran. Proses kerja sensor ini dilakukan dengan mendeteksi adanya radiasi panas tubuh manusia yang diubah menjadi perubahan tegangan.

Modul pendukung:

- OP-01 Universal Op Amp

AN088 Aplikasi Pengukur Konsentrasi Asap Rokok Dengan Sensor AF-30

Pada artikel kali ini akan membahas contoh aplikasi pengukuran konsentrasi atau banyaknya kandungan asap rokok di udara.

Software:

ROKOK.ASM

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- OP-01 Universal Op Amp

- AD0809 8 Channel Analog to Digital Converter

AN089 Aplikasi OP-01 sebagai Pengukur Kelembaban Relatif Dengan Sensor HS-15P

Dalam udara yang ada disekitar ini tidak hanya mengandung Oksigen saja, tetapi juga mengandung gas-gas lain selain Oksigen, misalnya uap air. Semakin tinggi prosentase atau kadar uap air rata-rata tersebut maka semakin lembab pula udara tersebut. Kelembaban yang terlalu tinggi kadang-kadang bisa merugikan, misalkan dapat meyebabkan besi mudah berkarat atau korosi, dapat menyebabkan kerusakan peralatan elektronik karena timbulnya korosi pada papan PCB, konektor-konektor, dan sebagainya.

Software

Lembab.asm

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- OP-01 Universal Op Amp

- AD0809 8 Channel Analog to Digital Converter

AN090 Aplikasi Modul DST-52 Sebagai Alarm Kebakaran Dengan Menggunakan Sensor Api

Pada aplikasi kali ini akan dicontohkan membuat alarm kebakaran menggunakan modul DST-52. Alarm kebakaran dengan modul DST-52 ini menggunakan sebuah sensor api untuk mendeteksi keberadaan nyala api. Jika sensor api ini mendeteksi nyala api dalam radius tertentu, maka akan memberikan sinyal trigger berupa sebuah pulsa pada modul DST-52. Dengan adanya pulsa trigger ini maka modul DST-52 akan menyalakan buzzer sebagai tanda adanya nyala api.

Software

Api

Modul pendukung:

- DST-52 Development System AT8952

- Sensor api

AN091 Aplikasi Modul DST-52 sebagai Sensor Tekanan Udara

Software pendukung:

Tekan.asm

Modul pendukung:

- DST-52 Development System AT8952

- M1632 LCD Modul LCD 16×2

- OP-01 Universal Op Amp

- AD0809 8 Channel Analog to Digital Converter

- MPX4100 Pressure Transducer

AN092 Teknik Merancang Aplikasi dengan DST-UNI PROG

Artikel ini membahas tahapan-tahapan yang diperlukan oleh seorang pemula dalam mikrokontroler dalam merancang sebuah aplikasi dengan bantuan Modul DST-UNI PROG. Modul ini selain berfungsi sebagai Universal programmer juga berfungsi sebagai Development System di mana pengguna dapat melacak kesalahan program pada perangkat keras dengan lebih mudah.

Modul pendukung:

- DST-UNI PROG Gabungan Development System DST-5x dan Universal Programmer

AN093 Pengiriman Data Serial Tanpa Kabel (FM) pada Modul DST-52

Pada aplikasi kali ini dibahas proses pengiriman data secara serial melalui gelombang radio dari Modul DST-52 ke PC dengan TLP916 dan RLP916 sebagai media transmisinya.

Modul pendukung:

- DST-52 Development System AT8952

- TLP/RLP916 RF Modul Transceiver

AN094 Aplikasi Modul InfraRed Object Detector Sebagai Pengukur Jarak

Pada artikel kali ini akan dicontohkan cara penggunaan salah satu dari modul sensor tersebut. Modul sensor yang digunakan adalah modul sensor InfraRed Object Detector, yaitu modul sensor pendeteksi benda dengan menggunakan infra merah. Contoh aplikasi dari modul sensor ini adalah sebagai pengukur jarak.

Modul-modul yang digunakan pada aplikasi pengukur jarak ini adalah modul sensor InfrRed Object Detector, modul OP-01, modul ADC0809, modul DST-52 dan modul LCD. Jarak yang diukur adalah jarak antara obyek dengan sensor. Prinsip kerja dari aplikasi ini adalah mendeteksi keberadaan obyek didepan sensor dan menghitung berapa jauh jarak obyek tersebut.

Software:

- Jarak.asm

Modul pendukung:

- DST-52 Development System AT8952

- AD0809 8 Channel Analog to Digital Converter

- OP-01 Universal Op Amp

- M1632 LCD Modul LCD 16×2

- GP2D15 GP2D15 Infrared Sensor

AN095 Aplikasi Modul InfraRed Object Detector Sebagai Sensor Alarm

Pada artikel kali ini akan dibahas contoh aplikasi lain dari modul infrared object detector.Walaupun jenis modul yang digunakan adalah sama tetapi tipenya berbeda. Pada aplikasi pengukur jarak menggunakan modul infrared object detector yang memang dikususkan untuk mengukur jarak. Maka pada aplikasi ini menggunakan modul infrared object detector yang memang dikususkan untuk mendeteksi keberadaan object didepannya

Software:

- Object.asm

Modul pendukung:

- DST-52 Development System AT8952

- OP-01 Universal Op Amp

- GP2D12 GP2D12 Infrared Sensor

AN096 Aplikasi Modul DST-52 “Berbicara” Menggunakan IC Sound Synthesizer

Dalam film-film semisal star wars atau star trek, sudah tidak asing lagi kita melihat alat atau mesin yang dapat “berbicara” secara otomatis tanda perlu ada manusia yang berbicara atau proses merekam suara terlebih dahulu. Yang dimaksud dengan berbicara dalam hal ini yaitu mengeluarkan suara yang menyerupai suara orang berbicara dengan bahasa tertentu, sehingga jika orang yang mendengarkan paham akan bahasa tersebut, akan memahami maksud “ucapan” itu.

Software:

- Speak.asm

Modul pendukung:

- DST-52 Development System AT8952

- Speakjet Speakjet Modul

AN097 Aplikasi Pengukur Ketinggian Air Mengunakan Modul Sensor InfraRed Object Detector

Pada tempat-tempat penampungan air seringkali diperlukan suatu mekanisme untuk mengetahui ketinggian permukaan air. Seringkali mekanisme tersebut masih berupa cara-cara manual, semisal dengan melihat dan melakukan pengukuran langsung pada tempat penampungan air tersebut. Mungkin cara tersebut merupakan cara yang paling sederhana dan gampang, tetapi akan sedikit sulit jika misalnya letak penampungan air tersebut sulit dijangkau manusia, misalnya diatas atap bangunan atau jika malam hari dan penerangan sekitar penampungan tersebut kurang. Sehingga kadang-kadang diperlukan suatu mekanisme pengukur ketinggian permukaan air secara otomatis, salah satunya dengan membuat semacam sensor pengukur ketinggian air. Sensor ini kemudian dipasangkan pada penampung air teresebut. Tampilan untuk melihat hasil pengukuran sensor tersebut tidak perlu dekat dengan sensor, dapat ditempatkan di tempat lain sesuai kebutuhan, sehingga hasil pengukuran dapat dilihat setiap saat dengan mudah

Software:

- Tinggi

Modul pendukung:

- DST-52 Development System AT8952

- GP2D15 GP2D15 Infrared Sensor

- M1632 LCD Modul LCD 16×2

AN098 TEKNIK PEMROGRAMAN MIKROKONTROLER AVR

Seiring dengan makin pesatnya teknologi, maka bidang elektronika sebagai salah satu pilar penopang terbesarnya, juga mengalami perkembangan yang luar biasa. Oleh karena itu diperlukan variant-variant mikrokontroler baru yang dapat menjawab permintaan zaman. ATMEL sebagai salah satu perusahaan yang memproduksi mikrokontroler telah memperkenalkan mikrokontroler yang memiliki fitur yang jauh lebih baik dibandingkan dengan pendahulunya, yaitu mikrokontroler AVR.

Atmel sebagai produsen mikrokontroler AVR juga telah merancang programmer AVR, tetapi biaya yang diperlukan untuk pembuatan programmer tersebut relatif tinggi. Delta Electronic sebagai produsen embedded system di Indonesia, telah melakukan research guna memenuhi permintaan pasar akan programmer AVR yang lebih murah.

Software:

- Code Vision AVR IDE Software untuk Mikrokontroler AVR

Modul pendukung:

- DST-52 Development System AT8952

- SC-AVR Single Chip AVR Microcontroller

- AVR-ISP Kabel ISP AVR

AN099 Pengiriman Data Serial Tanpa Kabel Menggunakan Transceiver 2.4Ghz (I)

Metode pengiriman data digital secara umum dibagi menjadi dua cara, yaitu secara pengiriman data secara pararel dan pengiriman data secara serial. Pada pengiriman data secara serial, data dikirim satu persatu, bergantian perbit data. Sedangkan pada pengiriman data secara pararel, data dikirimkan sekaligus bersama-sama. Karena pada proses pengiriman data serial, data dikirim satu persatu maka salah satu keunggulan pengiraman data secara serial dibanding pararel adalah lebih menghemat jalur data. Jalur data yang digunakan dapat menggunakan berbagai macam media, misalnya media udara.

Pada aplikasi kali ini akan dicontohkan pengiriman data serial menggunakan media transmisi bukan kabel, tetapi melalui udara dengan menggunakan Modul TRF24G yaitu Modul Transceiver 2.4GHz yang mampu berkomunikasi dalam jarak 280 meter. Kecepatan data 1 Mbps. Built In Antena. CRC Computation dan dapat dialamati.

Modul pendukung:

- DST-52 Development System AT8952

- TRF24G Transceiver 2.4 GHz

- M1632 LCD Modul LCD 16×2

AN100 Aplikasi Saklar “Sentuh” Menggunakan Sensor Photoreflector

Dalam film-film sain fiksi, semisal star trek, sudah tidak asing lagi kita melihat alat atau mesin yang diaktifkan secara otomatis dengan hanya mendekatkan tangan atau menggerakkan tangan diatas tambol, tanpa perlu menekan ataupun menyentuh tombol tersebut.

Dahulu hal tersebut merupakan hal yang luar biasa jika diterapkan pada kenyataan. Sekarang hal tersebut sudah umum dijumpai pada produk-produk elektronika keluaran terbaru. Tetapi walaupun begitu tidak ada salahnya untuk mencoba membuat sendiri peralatan elektronika yang dapat diaktifkan dengan hanya dengan menggerakkan jari didepan sebuah sensor yang hanya berukuran tidak sampai sekuku jari. Dalam aplikasi kali ini akan dicontohkan aplikasi yang sangat sederhana yaitu mengaktifkan dan menonaktifkan lampu suatu ruangan dengan sebuah saklar “sentuh”, ditambah dengan suara ucapan kalimat selamat datang menggunakan modul DST-52, sehingga jika seseorang memasuki ruangan dan akan mengaktifkan lampu, maka hanya cukup mendekatkan jari kesensor maka lampu akan menyala dan suara ucapan selamat datang akan terdengan.

Saklar “sentuh” yang dipakai menggunakan sebuah sensor photoreflector. Kegunaan umum dari sensor photoreflector ini sebenarnya adalah sebagai pendeteksi kertas atau warna putih misal garis putih, tetapi tidak menutup kemungkinan digunakan untuk keperluan yang lain, misalnya sebagai saklar “sentuh” pada aplikasi ini. Sensor photoreflector yang digunakan pada prinsipnya menggunakan pantulan cahaya infra merah untuk mendeteksi dengan jarak tertentu adanya obyek berwana hitam atau putih.

Software

- sentuh.asm

Modul pendukung:

- DST-52 Development System AT8952

- Speakjet Speakjet Modul

- Photoreflector P5587

Memulai Belajar Mikrokontroler - Quick, Easy and Harmless!

Langsung aja! Untuk memulai belajar Mikrokontroler (khususnya seri AT89 dari Atmel), Anda bisa mempelajari beberapa artikel yang sudah saya tulis di website saya ini. Jika ingin cepat, mudah dan murah silahkan baca buku saya (Belajar Mikrokontroler AT89C51/52/55: Teori dan Aplikasi terbitan CV. Gava Media, klik disini untuk informasi lebih lanjut), atau ikuti pelatihan private-nya (informasi).

Okey, sekarang kita lihat rangkuman beberapa artikel yang bisa Anda gunakan untuk memulai belajar Mikrokontroler (ada beberapa yang bisa Anda unduh ebooknya gratis!)
Pengetahuan Umum (dasar) Mikrokontroler

* Jika kita bicara tentang Mikrokontroler, maka tidak terlepas dengan pengertian atau definisi tentang Komputer itu sendiri, mengapa? Ikuti selengkapnya di artikel “Apakah Mikrokontroler itu?” (klik).
* Tahukah Anda bahwa Belajar Mikrokontroler itu (sangat) mudah? Ikuti penjelasannya disini.
* Keluarga Mikrokontroler AVR merupakan mikrokontroler dengan arsitektur modern (emang selama ini ada yang kuno kali??). Terdapat 3 macam atau jenis mikrokontroler AVR. Mau tahu kelanjutan ceritanya? Langsung baca saja artikel “Pengetahuan Dasar Mikrokontroler AVR” (klik).
* Mikrokontroler yang beredar saat ini dibedakan menjadi dua macam, berdasarkan arsitekturnya: RISC dan CISC. Untuk mendapatkan informasi lebih lanjut tentang kedua macam mikrokontroler ini, silahkan baca artikel “Mikrokontroler CISC vs RISC“.
* Mikrokontroler Atmel AT89 merupakan produk populer di Indonesia, murah-meriah, mengapa? Baca saja artikelnya..
* Cara sederhana untuk melihat kelebihan dan kelemahan dari arsitektur RISC (Reduced Instruction Set Computers) adalah dengan langsung membandingkannya dengan arsitektur pendahulunya yaitu CISC (Complex Instruction Set Computers). Lanjutkan membaca artikel RISC vs. CISC.
* Sebuah mikrokontroler berbeda dengan sebuah mikroprosesor dalam beberapa hal. Pertama dan yang terpenting adalah fungsionalitasnya. Agar mikroprosesor dapat bekerja, masih dibutuhkan komponen lain seperti memori. Walaupun mikroprosesor dianggap sebagai piranti canggih untuk komputasi, titik kelemahannya ada pada tidak dirancangnya kemampuan komunikasi (antarmuka) dengan piranti-piranti periferal (memori, I/O da lain sebagainya) secara khusus… (lanjutkan membaca Mikrokontroler versus Mikroprosesor).
* Anda sudah tahu sendiri, begitu banyak macam mikrokontroler yang dijual di pasaran, begitu juga berbagai program yang dirancang untuk mikrokontroler-mikrokonrtoler tersebut, mereka punya kesamaan. Artinya, jika Anda belajar salah satu saja dari mikrokontroler-mikrokontroler itu dengan baik, Anda juga bisa memahami yang lainnya bahkan semuanya. Skenarionya sama… (lanjutkan membaca Bagaimana mikrokontroler bekerja?).
* Semua mikrokontroler menggunakan satu diantara dua model rancangan yang dinamakan arsitektur Harvard dan von-Neumann. Berikut secara singkat, perbedaan keduanya dilihat dari pertukaran data antara CPU dan memori… (lanjutkan membaca Mikrokontroler: Arsitektur Von-Neumann vs. Harvard).
* Mikrokontroler AT89S8253 dilengkapi dengan memori EEPROM sebesar 2 Kb (lumayan nich) yang bisa Anda gunakan untuk menyimpan data-data penting walaupun catu daya ke mikrokontroler dimatikan, Atmel memberikan garansi kepada Anda sekitar 100.000 kali penulisan data. Mudah digunakan karena hanya melibatkan beberapa bit kontrol… (lanjutkan membaca Penanganan Memori EEPROM (uC AT89S8253)).
* Pembuatan program mikrokontroler dalam bahasa tingkat-tinggi (high-level language, disingkat HLL), misalnya bahasa ‘C’ atau ‘BASIC’, memungkinkan kita mengurangi waktu pengembangan secara signifikan jika dibandingkan dengan Bahasa Assembly. Ada juga yang mengatakan, seorang perancang yang sudah beperngalaman bisa menuliskan sejumlah baris kode-kode yang sama per hari baik dalam C dan Assembly. Namun perlu diingat bahwa, sebaris kode dalam C sama dengan sejumlah kode atau baris dalam Assembly… (lanjutkan ke Pemrograman Mikrokontroler dalam Bahasa Tingkat-Tinggi).
* Assembly language has typically been the programming language of choice for embedded system programmers. Looking into the 8-bit microcontroller offerings from different vendors, one finds that these microcontrollers can be programmed using the high-level C programming language as well as assembly… continue reading at Migrating from Assembly to C for 8-bit Microcontrollers.
* Pada mikrokontroler Atmel keluarga AT89C (obsollete) atau AT89S,Port 0 tidak memiliki pullup internal. Pullup FET yang berada di dalam penggerak luaran P0 digunakan hanya pada saat port mengirimkan logika ‘1′ selama pengaksesan memori eksternal. Selain dari itu, pullupFET akan selalu mati. Konsekuensinya, jalur-jalur P0 yang digunakan sebagai jalur luaran merupakan saluran terbuka (open drain). Penulisan ‘1′ ke bit pengancing membuat kedua FET keluaran menjadi mati, dengan demikian kondisi kaki-kakinya menjadi mengambang (float). Dalam kondisi seperti ini, pin dapat digunakan sebagai masukan berimpedansi tinggi… lanjutkan membaca di Tutorial Mikrokontroler AT89: Masukan dan Luaran (I/O).
* Atmel’s AT94K and AT94S family of Field Programmable System Level Integrated Circuits (FPSLIC devices) combine all the basic system building blocks (logic, memory and uC) in an SRAM-based monolithic field programmable device. The FPSLIC programmable SLI platform allows true system level designs to be implemented without the need for expensive NRE (non-recurring engineering) charges or costly software tools. FPSLIC for the first time puts system level integration on every designer’s desk…. continue reading at FPSLIC™ (AVR with FPGA).
* Pernahkah Anda bayangkan menghubungkan antara satu HP dengan HP lain baik dari merek atau tipe yang sama atau berbeda sama sekali? Bukan melalui bluetooth? Atau ingin mencetak foto dari HP langsung ke printer tanpa melalui PC atau bleutooth? Atau antara kamera digital dengan printer digital? Ikuti kisah di artikel USB On-The-Go: Pendahuluan.
* Sudah saatnya kita mulai melirik penggunaan mikroprosesor atau mikrokontroler berbasis prosesor ARM yang sudah banyak dipakai di pasaran dalam bentuk piranti-piranti genggam seperti PDA, Smartphone (iPhone, Nokia E-series) dan juga aplikasi-aplikasi lain yang membutuhkan mikrokontroler dengan unjuk kerja tinggi, berdaya rendah (low powe) serta dalam kemasan yang kecil ringkas. Silahkan mempelajari artikel Mengenal Mikrokontroler Samsung S3C2440.
* Untuk mengenal lebih lanjut mikrokontroler S3C2440 silahkan membaca ulasan Pengalaman Pertama pake Mini2440 (Jlid-1, Jilid-2 dan Jilid-3).

Perangkat Keras dan Lunak Belajar/Downloader Mikrokontroler

* Mengapa menggunakan Bahasa BASIC untuk pemrograman mikrokontroler AVR? BASIC merupakan bahasa tingkat tinggi, lebih mudah dipelajari dan dipahami dibandingkan dengan bahasa Assembly atau C. Ikuti kisah selengkapnya di Basic Compiler untuk AVR.
* Pemrogram (downloader) Mikrokontroler AVR melalui USB. USBasp merupakan in-circuit programmer untuk mikrokontroler Atmel AVR. Rangkaiannya menggunakan ATMega48 atau ATMega8 dan beberapa komponen pasif lainnya. Programmer atau downloader ini menggunakan sebuah penggerak USB hanya-firmware (firmware-only USB driver), tidak memerlukan pengontrol USB khusus.
* Jika yang dibutuhkan adalah downloader USBasp untuk mikrokontroler AT89 sekaligus juga bisa untuk AVR, silahkan membaca artikel Downloader untuk AT89 dan AVR.
* Perbincangan atau diskusi di seputar downloader USBasp semakin menarik, terutama yang menyoroti masalah AVRDude dan GUI-nya. Dalam artikel ini, saya mengulas 4 (empat) software GUI yaitu: AVRDude Graphical User Interface v1.3, eXtreme Burner AVR, Khazama AVR Programmer dan SinaProg. Baca informasi lebih lanjut di Software untuk downloader berbasis USBasp.
* Jika selama ini Anda penggemar mikrokontroler keluarga MCS51 (termasuk AT89 dan ahli warisnya yang cukup banyak variannya (http://www.atmel.com) atau barangkali penggemar buku “Belajar Mikrokontroler AT89C51/52/55” yang sangat terkenal itu, maka Anda mungkin bertanya-tanya, adakah downloader, selain easy downloader, yang praktis, portabel, tidak memerlukan catu daya tambahan dan kalau perlu ada fasilitas tambahan lainnya, harganya murah dan dijual di Indonesia?? Saat ini jawaban saya ada adalah: ADA dan baru saja di launch dari ADP Production yang kantornya berpusat di Malang, Jawa Timur - Indonesia. Inilah dia Min MCS51/AVR dan min AVR dari ADP.
* Jika Anda membutuhkan sebuah papan pengembang atau development board yang bisa digunakan sekaligus untuk pembelajaran MIkrokontroler AVR mengapa tidak membaca informasi tentang TechnoVision Development Board versi 3 atau AVR Basic Trainer Board versi 2?

Studi Kasus Mikrokontroler

* 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. (Lanjutkan di Prototipe Alat Ukur Daya berbasis Mikrokontroler AT89).
* 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… (lanjutkan membaca di Watchdog dengan BASCOM-51 atau BASCOM-AVR).
* Untuk menampilkan data-data melalui 7-segmen menggunakan mikrokontroler AT89 bisa dilakukan dalam 2 cara alternatif yang akan saya terangkan berikut ini… (lanjutkan baca artikel Trik Tampilan Seven Segmen - si POLOS vs. si PENERJEMAH).
* 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… (lanjutkan membaca artikel Komunikasi serial menggunakan uC AT89).
* Mau akuisisi data sekaligus melakukan pemantauan menggunakan mikrokontroler AT89? Silahkan baca AT89: Sistem Akuisisi Data dan Pemantauan.
* Bagaimana menangani RTC DS12C887?
o Real Time Clock merupakan suatu chip (IC) yang memiliki fungsi sebagai penyimpan waktu dan tanggal. Artikel ini membahas sebuah IC RTC yaitu DS12C887 yang memiliki register yg dapat menyimpan data detik, menit, jam, tanggal, bulan dan tahun. RTC ini memiliki 128 lokasi RAM yang terdiri dari 15 byte untuk data waktu serta kontrol, dan 113 byte sebagai RAM umum… Ada di arikel RTC DS12C887: Pendahuluan.
o DS12C887 mempunyai 14 buah register yang terdiri dari 4 Register Kontrol dan 10 Register Data. Register Data sendiri terpisah menjadi register waktu dan Register Alarm sebagaimana ditunjukkan pada gambar 1. Setelah Register-register Kontrol diinisialisasi, maka data waktu ataupun alarm dapat dibaca atau ditulisi dengan cara mengakses register-register data yang bersangkutan… ada di artikel RTC DS12C887: Register Data & Register Kontrol.
o Untuk memahami bagaimana menggunakan RTC DS12C887, maka artikel yang ke-3 dibahas tentang contoh aplikasi sederhana, menampilkan data detik ke serangkaian 8 LED (mewakili 8-bit) yang terhubung ke P0… ada di artikel RTC DS12C887: Contoh Aplikasi.
* RTC yang kita bahas kali ini adalah RTC dengan antarmuka I2C, yaitu DS1307. Artikel yang membahas RTC lain secara lengkap, DS12C887, yang menggunakan antarmuka paralel dan penggunaan bahasa assembly… lanjutkan membaca di Tutorial AT89: RTC DS1307 (64 x 8 Serial Real-Time Clock).
* Sebenarnya membuat aplikasi pencacah naik-turun (up-down counter) menggunakan AT89 adalah hal yang aneh dalam dunia elektronika digital. Lho kok? La ya… lha wong tinggal pake rangkaian dengan IC TTL (seri 74LS) saja sudah bisa, kok ini pake programming mikrokontroler segala… Lha kalo untuk belajar pemrograman mikrokontroler gimana? O ya silahkan saja… itu jadi gak aneh lagi… bagaimana? Lanjutkan saja di Up-Down Counter menggunakan uC AT89.
* Mikrokontroler AT89S8253 dilengkapi dengan memori EEPROM sebesar 2 Kb (lumayan nich) yang bisa Anda gunakan untuk menyimpan data-data penting walaupun catu daya ke mikrokontroler dimatikan, Atmel memberikan garansi kepada Anda sekitar 100.000 kali penulisan data. Mudah digunakan karena hanya melibatkan beberapa bit kontrol. Untuk lebih detilnya baca saja artikel Penanganan Memori EEPROM di AT89S8253.
* Pada mikrokontroler Atemal keluarga AT89C (obsollete) atau AT89S, Port 0 tidak memiliki pullup internal. Pullup FET yang berada di dalam penggerak luaran P0 digunakan hanya pada saat port mengirimkan logika ‘1′ selama pengaksesan memori eksternal. Selain dari itu, pullup FET akan selalu mati. Baca terus kelanjutan kisahnya di Tutorial Mikrokontroler AT89: Masukan dan Luaran.
* Dalam proyek Sistem Akuisisi Data menggunakan ATMega8 digunakan komputer untuk GUI dari sistem akuisisi data yang menggunakan bantuan mikrokontroler ATMega8. Mikrokontroler ini sudah memiliki 6 kanal ADC 10-bit didalamnya, untuk versi kemasan DIP. Sedangkan versi kemasan TQFP memiliki 8-kanal, atau Anda bisa menggunakan mikrokontroler Atmel AVR lainnya (ATMega16, ATMega32, dll).
* Jika Anda pernah membuat aplikasi mikrokontroler yang memanfaatkan saklar atau tombol-tekan (pushbutton), tentunya Anda akan menghadapi masalah bouncing (dalam bahasa jawanya mentul-mentul) pada saklar atau tombol tersebut. Artinya, saat Anda menekan tombol tersebut, mikrokontroler mendeteksi adanya penekanan berkali-kali, padahal, sekali lagi, Anda hanya menekan sekali saja! Hal ini bisa dijelaskan dalam artikel Penanganan Bouncing Tombol.
* Beberapa saat yang lalu saya sempat mencoba sebuah kompiler MikroC dari mikroelektronika yang betul-betul hebat, karena hasil kompilasinya yang berupa ASM dan LST bisa saya lihat langsung. Dan kabar baiknya adalah, saya bisa membandingkan antara program C yang saya buat dan hasil kompilasi ASM/LST yang dihasilkan. Sebagai kasus yang sangat unik dan membuat saya ketawa terbahak-bahak, mengapa sampai saya terbahak-bahak? Ikuti saja di artikel C vs Assembly51: Kasus Unik Aritmetika!
* Jika Anda memiliki dan sudah membaca atau mempelajari buku saya (Belajar Mikrokontroler AT89C51/52/55), tentunya Anda masih inget dengan program pertama yang saya tulis dengan tujuan untuk menghidupkan dan mematikan LED secara flip-flop atau bergantian yang terpasang di P1. Bagaimana jika kasus ini ditulis dalam Bahasa C, apa yang terjadi selanjutnya? Silahkan baca artikel C vs Assembly51: Kasus LED Flip-flop.
* Aplikasi Termometer LED Digital ini digunakan untuk menampilkan suhu pada tampilan 3×7-segmen, suhu yang diukur antara -9,5 hingga 99 derajat Celsius dengan kenaikan 0,5 derajat Celcius, atau dari 0 hingga 210 derajat Fahrenheit dengan kenaikan 1,0 derajat. Mengapa menggunakan 7-segmen? Karena bisa dilihat dalam kondisi gelap atau malam hari.
* Tulisan ini (Mengenal System Clock pada Mikrokontroler AVR) sengaja saya buat karena beberapa waktu yang lalu dua mikrokontroler saya (semuanya ATMega32, masing-masing dalam kemasan SMD dan PDIP) menjadi korban ketidak-tahuan saya tentang otak-atik System Clock atau FUSE bit pada mikrokontroler AVR.
* Bagaimana cara mengakses EEPROM pada AT89S8253 dan/atau ATMega32 menggunakan BASCOM 8051 dan BASCOM AVR, ikuti saja di artikel “Akses EEPROM pada AT89S8253 dan AVR ATMega32“.
* Artikel Animasi LED mikrokontroler ATMega32 dengan Assembly dan C sengaja saya tulis sebagai awal pembelajaran bagaimana membuat sebuah program aplikasi mikrokontroler AVR (khususnya ATMega32 dengan frekuensi kristal 7,3728MHz) untuk membuat animasi LED berjalan dari pin 0 hingga 7.
* Jika pada kesempatan sebelumnya saya bahas tentang animasi LED menggunakan Assembly dan C, maka kali ini kita akan belajar tentang konsep masukan menggunakan pushbutton, dalam dunia aplikasi, masukan digital ini bisa berasal dari berbagai macam sensor. Silahkan membaca kelanjutan dari tutorial ini di artikel Aplikasi Pushbutton Mikrokontroler ATMega32 dengan Assembly.
* Ada pertanyaan masuk ke saya, bagaimana program untuk tampilan ke LCD (misalnya tipe LCD 2×16 karakter) menggunakan CodeVision. Maka pada kesempatan kali ini saya bahas jawaban dari pertanyaan itu. Yang perlu Anda ketahui bahwa CodeVision AVR sudah menyediakan pustaka untuk antarmuka LCD, hanya saja, Anda harus menyesuaikan rangkaian dengan ketentuan yang dimiliki CodeVision… ikuti kelanjutan tutorial ini di artikel CodeVision dan Pustaka LCD: Sebuah contoh sederhana.
* Jika Anda belum pernah atau bahkan belum tahu tentang perangkat lunak kompailer Flowcode AVR, maka ada baiknya mengikuti serial Flowcode AVR berikut ini…
o Membuat Aplikasi Mikrokontroler AVR/AT89: Khusus Pemula! - baca dulu pengantar Flowcode AVR di artikel ini…
o Hasil kompilasi Flowcode AVR 3.0 yang unik?! - mengenal keunikan Flowcode AVR…
o Flowcode AVR 3.0: Aplikasi Masukan/Luaran (I/O) Sederhana - memulai menggunakan Flowcode AVR dengan aplikasi sederhana…
o Flowcode AVR 3.0: Aplikasi dengan LCD 2×16 - bagaimana Flowcode menangani aplikasi tampilan LCD 2×16, silahkan baca artikel ini…

Sistem Minimum Mikrokontroller AT89C51|AT89C52

The minimum system is AT89C51/AT89C52 microcontroller electronic circuits the minimum necessary to the operation of microcontroller IC. This circuit can then be connected to other circuits to perform certain functions or can be added with other complementary circuit to become a more complete system and has more functions.

Rangkaian Sistem Minimum Mikrokontroler  AT89C52|AT89C52Rangkaian Sistem Minimum Mikrokontroler
AT89C52|AT89C52

AT89S51/52 microcontroller is the latest version than the AT89C51 microcontroller has been widely used today. AT89S52 microcontroller is a CMOS 8-bit microcomputers with 8KB Flash Programmable and Erasable Read Only Memory (PEROM). Mikrokontroler tech non-volatile memory of the Atmel Cleaner density is, compatible with industry standard microcontroller MCS-51, either pin IC and the instruction set and the price is quite cheap. Therefore, it is precisely when we study this type of microcontroller.

Important specifications owned AT89S52 Microcontroller:
  • Compatible with previous MCS51 microcontroller family
  • 8 K Bytes • In system programmable (ISP) flash memory with capacity 1000 times read / write
  • 4-labor voltage 5.0V
  • Working with a range of 0 - 33MHz
  • Internal RAM 256x8 bits
  • 32 channels of I / 0 may be programmed
  • 3 pieces 16-bit Timer / Counter
  • 8 interrupt sources
  • Full duplex serial channel UART
  • watchdog timer
  • Dual data pointers
  • ISP programming mode flexible (Byte and Page Mode)

Pinning Mikrokontroler AT89C52|AT89C52Pinning Mikrokontroler AT89C52|AT89C52

Minggu, 09 Mei 2010

Seputar Mikrokontroler

Dibawah ini ada 8 pertanyaan yang sering diajukan, klik pada pertanyaan akan menuju ke jawaban

1. Apa itu mikrokontroler ?

2. Manfaat/prospek apa yang bisa saya peroleh jika menguasai mikrokontroler ?

3. Ada berapa macam/jenis mikrokontroler itu ?

4. Sebagai langkah awal mikrokontroler mana yang sebaiknya saya pelajari ?

5. Bagaimana cara menguasai mikrokontroler ?

6. Bagaimana dengan ketersediaan komponen mikrokontroler ?

7. Buku-buku referensi dalam bahasa Indonesia apa saja yang sudah beredar di pasaran tentang mikrokontroler ?

8. Dimana saja tempat/lokasi yang membuka kursus/pelatihan/les mikrokontroler ?

1. Apa itu mikrokontroler ?

Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan Andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis data maka Anda dapat membuat program untuk membuat suatu sistem pengaturan otomatik menggunakan mikrokontroler sesuai keinginan Anda. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut "pengendali kecil" dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Dengan penggunaan mikrokontroler ini maka :

  • Sistem elektronik akan menjadi lebih ringkas
  • Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi

  • Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak

Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.

Kembali ke atas

2. Manfaat/prospek apa yang bisa saya peroleh jika menguasai mikrokontroler ?

Banyak sekali, dengan melihat penjelasan nomor 1, maka batasnya hanya imajinasi Anda. Dengan menguasainya, kita bisa menerapkannya kedalam kehidupan sehari-hari seperti mengendalikan suatu perangkat elektronik dengan berbagai sensor dan kondisi seperti cahaya, getaran, panas, dingin, lembab dan lain-lain. Sekedar contoh sederhana penggunaan mikrokontroler, lihatlah disekitar lingkungan Anda ada toaster, mesin, cuci, microwave kemudian tengoklah didunia pertanian Anda bisa membuat kontrol kelembaban untuk budidaya jamur dsb, didunia perikanan Anda bisa mengendalikan suhu air kolam dsb. Bahkan Anda bisa membuat PABX mini, SMS Gateway, atau kearah military Anda bisa membuat radio militer frekuensi hopping (radio komunikasi anti sadap dengan lompatan frekuensi 100 kali dalam 1 detik), sistem monitoring cuaca dengan balon udara, automatic vehicel locator (menggunakan GPS) dan sebagainya. Semua itu sekedar contoh, masih banyak lagi yang bisa Anda lakukan dengan mikrokontroler.

Sebagai prospek, arah perkembangan dunia elektronika saat ini adalah ke embedded system (sistem tertanam) atau embedded electronic (elektronik tertanam). salah satunya dengan menggunakan mikrokontroler, jadi jika Anda belajar dan menguasai mikrokontroler sudah tepat pada jalurnya.

Kembali ke atas

3. Ada berapa macam/jenis mikrokontroler itu ?

Secara teknis hanya ada 2 yaitu RISC dan CISC dan masing-masing mempunyai keturunan/keluarga sendiri-sendiri.

RISC kependekan dari Reduced Instruction Set Computer : instruksi terbatas tapi memiliki fasilitas yang lebih banyak

CISC kependekan dari Complex Instruction Set Computer : instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.

Tentang jenisnya banyak sekali ada keluarga Motorola dengan seri 68xx, keluarga MCS51 yang diproduksi Atmel, Philip, Dallas, keluarga PIC dari Microchip, Renesas, Zilog. Masing-masing keluarga juga masih terbagi lagi dalam beberapa tipe. Jadi sulit sekali untuk menghitung jumlah mikrokontroler.

Kembali ke atas

4. Sebagai langkah awal mikrokontroler mana yang sebaiknya saya pelajari ?

Tidak ada yang paling baik atau lebih baik, namun tips dibawah barangkali bermanfaat bagi Anda :

  • Lingkungan Anda, artinya mikrokontroler apa yang dominan di lingkungan Anda ?. Akan lebih mudah belajar bersama daripada sendirian sehingga mudah untuk bertanya jawab jika ada kesulitan.

  • Ketersediaan perangkat untuk proses belajar (development tool)

  • Harga mikrokontroler, tips terakhir bisa diabaikan jika bukan menjadi kendala bagi Anda.

Ditinjau dari buku-buku mikrokontroler berbahasa Indonesia nampaknya mikrokontroler yang dominan saat ini dari keluarga MCS51. Yang perlu Anda ketahui antara satu orang dengan orang lain akan berbeda dalam hal mudah mempelajari. Jika Anda terbiasa dengan bahasa pemrograman BASIC Anda bisa menggunakan mikrokontroler BASIC Stamp, jika Anda terbiasa dengan bahasa pemrograman JAVA Anda bisa menggunakan Jstamp, jika Anda terbiasa dengan bahasa pemrograman C++ bisa Anda manfaatkan untuk keluarga MCS51 dan masih banyak lagi. Namun semua kembali kepada Anda yang berminat mempelajari dan memperdalam mikrokontroler

Kembali ke atas

5. Bagaimana cara menguasai mikrokontroler ?

Ada 2 cara :

1. Belajar sendiri (otodidak), Anda bisa mempelajari sendiri mikrokontroler dengan panduan buku dan peralatan yang diperlukan, mulailah dari contoh-contoh sederhana. Jika ada kesulitan tanyakan kepada kepada teman Anda yang lebih tahu tentang mikrokontroler atau bisa Anda utarakan ke mailing list yang membahas mengenai hal ini.

2. Melalui lembaga Pendidikan, cara kedua ini bisa Anda dapatkan baik melalui pendidikan formal seperti sekolah, perguruan tinggi, maupun pendidikan non formal (kursus, pelatihan, les dan sejenisnya). Dengan cara ini Anda akan lebih terprogram dan cepat dalam penguasaan mikrokontroler.

Kata kucinya adalah : kemauan untuk belajar disertai latihan, latihan, dan latihan. Jika Anda berminat mempelajari mikrokontroler mulailah dengan mempelajari teori serta mempraktekannya. Anda bisa memulai mikrokontroler dengan mengaktifkan sebuah LED, setelah itu cobalah bermain-main menggeser LED dan mencoba instruksi-instruksi lain. Lambat laun Anda akan memahami bagaimana struktur program yang benar. Belajar mikrokontroler sama halnya seperti belajar ilmu komputer, sulit bukan jika belajar ilmu komputer secara teori tanpa praktek ?

Kembali ke atas

6. Bagaimana dengan ketersediaan komponen mikrokontroler ?

Anda bisa mencari komponen di toko elektronika di kota Anda, jika Anda mengalami kesulitan tentang hal ini segeralah bertanya kepada teman yang lebih tahu atau ke mailing list, solusi akan segera Anda dapatkan. Jika Anda ingin memulai belajar mikrokontroler Anda bisa membuat sendiri perangkat prakteknya (development tool) dengan komponen-komponen yang tersedia di toko-toko elektronika di kota Anda, bahkan dibeberapa toko menyediakan kit/modul mikrokontroler siap pakai bagi Anda yang mempunyai keterbatasan waktu untuk membuatnya.

Kembali ke atas

7. Buku-buku referensi dalam bahasa Indonesia apa saja yang sudah beredar di pasaran tentang mikrokontroler ?

Sementara ini dalam arsip kami baru tercatat beberapa judul yang bisa Anda jadikan acuan untuk memulai belajar mikrokontroler.

Daftar buku :

Kembali ke atas

8. Dimana saja tempat/lokasi yang membuka kursus/pelatihan/les mikrokontroler ?

Berikut ini daftar lokasi yang tersimpan dalam arsip Kelas Mikrokontrol, dan bila Anda berencana mengikuti pendidikan non formal secara terprogram silakan pilih tempat/lokasi sesuai keinginan Anda,

Daftar lokasi pelatihan mikrokontroler (urut abjad) :

Delta Training Surabaya

Kompleks Ruko Manyar Megah Indah Plaza D-22

Ngagel Jaya Selatan

Surabaya 60284

Phone: 62-31-5020210

Fax: 62-31-5054561

Kelas Mikrokontrol (KMK) BOGOR

Jl. Raya Cilebut no. 47, Sukaresmi

Tanah Sareal, Bogor, Jawa Barat 16710

Phone/Fax : 0251-7542124

Mobile : 08111103489

lebih lanjut tentang KMK

Kelas Mikrokontrol (KMK) BATAM

Perum Taman Raya Tahap 2A

Blok CK No. 6 Batam

contact person : Otto Ferdinand S

Mobile : 081364810127

E-mail : otto@kelas-mikrokontrol.com

Laboratorium Elektronika & Instrumentasi

Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Gajah Mada Yogyakarta

http://agfi.staff.ugm.ac.id

Pelatihan Dasar Mikrokontroler

d/a Perumahan Taman Aster Blok G2 No. 35

Cikarang Barat - Bekasi - Jawa Barat 17520

Contact person : Moh Ibnu Malik

E-mail : moh_ibnumalik@yahoo.com

Hp : 081 293 295 12

http://microrobotics.blogspot.com

Pelatihan Mikrokontroller (sabtu & minggu)

Laboratorium Mikrokontroller

Jurusan Teknik Elektromedik Poltekkes Surabaya

http://www.mytutorialcafe.com

Contact: 031-72098904, 081-55126883

catatan:

kelas-mikrokontrol.com tidak menampilkan lokasi tanpa permintaan atau persetujuan dari pemilik/pengelola, hal ini dilakukan untuk menghindari persoalan hukum dan lain-lain kelak dikemudian hari.

Demikian perkenalan dari kami, selanjutnya Anda-lah yang akan memutuskan untuk mempelajari atau tidak, bagaimana metoda mempelajarinya dan sebagainya. Anda-lah yang memegang kendali atas diri Anda sepenuhnya. Terima kasih, Anda telah menyempatkan waktu bersama kami.

Kembali ke atas

http://www.kelas-mikrokontrol.com

ARSITEKTUR AT89C51

ARSITEKTUR AT89C51

Mikrokontroller AT89C51 termasuk dalam keluarga MCS-51TM dari intel. Sebuah mikrokontroller tidak dapat bekerja bila tidak diberi program kepadanya. Program tersebut memberitahu mikrokontroller apa yang harus dilakukan. Salah satu keunggulan dari AT89C51 adalah dapat diisi ulang dengan program lain sebanyak 1000 kali pengisian. Intruksi-intruksi perangkat lunak berbeda untu masing-masing jenis mikrokontroller. Intruksi-intruksi hanya dapat dipahami oleh jenis mikrokontroller yang bersangkutan. Intruksi-intruksi tersebut dikenal sebagai bahasa pemograman system mikrokontroller.

Sebuah mikrokontroller tidak dapat memahimi intruksi-intruk yang berlaku pada mirkrokontroller lain. Sebagai contoh, mikrokontroller buatan intel dengan mikrokontroller buatan Motorola memiliki perangkat intruksi yang berbeda.

Ü Karakteristik mikrokontroller AT89C51

Mikrokontroller AT89C51 memiliki beberapa fasilitas sebagai berikut :

· Sebuah CPU (Central Prosesing Unit) 8 bit yang termasuk keluarga MCS-51TM

· Osilator Internal dan rangkain timer

· Flash memori 4 Kbyte

· RAM internal 128 byte

· Empat buah programmable port I/O, masing-masing terdiri dari atas 8 buah jalur I/O

· Enam buah Jalur interupsi (3 buah interupsi eksternal dan 3 buah internal)

· Sebuah Port serial dengan control serial full duplex UART

· Kemampuan melaksanakan operasi perkalian, pembagian, penjumlahan dan operasi Boolean (bit)

· Kecepatan pelaksanaan intruksi per siklus 1 mikrodetik pada frekuensi clock 12 Mhz.

· ISP Programming

· Memiliki 2 DPTR

· WatchDog Timer

Ü Diskripsi Kaki (Pin) AT89S51

Susunan pin-pin mikrokontroler AT89S51 diperlihatkanan pada gambar dibawah ini. Penjelasan dari masing-masing pin adalah sebagai berikut :

Gambar 1 Konfigurasi Pin Mikrokontroller AT89S51

a. pin 1 sampai 8 (port 1) merupakan prot paralel 8 bit dua arah (input-output) yang digunakan sebagai keperluan general purpose. P1.5, P1.6 dan P1.7 selain digunakan sebagai I/O. pin juga digunakan sebagai masukkan untuk pengisian program ke dalam IC AT89S51.

b. Pin 9 (Reset) adalah intrupsi reset (aktif high) perpindahan kondisi rendah ke tinggi akan mereset AT89C51. Pin ini dihubungkan dengan rangkaian power on reset

c. Pin 10 sampai 17 (port 3) adalah port paralel 8 bit dua arah (input-output) yang memiliki fungsi pengganti. Fungsi pengganti meliputi TXD (Transmisi Data), RXD (Receiver Data), INT0 (Interupt 0), INT1 (Interupt 1), T0 (timer 0), T1 (Timer 1), WR (Write), dan RD (Read). Bila fungsi pengganti tidak dipakai, pin-pin ini dapat digunakan sebagai port paralel 8 bit serbaguna

d. Pin 18 dan 19 (XTAL1 dan XTAL2) adalah pin input osilator kristal, yang merupakan input clock bagi rangkaian osilator internal

e. Pin 20 (ground) dihubungkan ke Vss atau Ground

f. Pin 21 sampai 28 (port 2) adalah port paralel 8 bit dua arah (input-output). Port 2 ini mengirim byte alamat bila dilakukan pengaksesan memori ekternal

g. Pin 29 adalah pin PSEN (Program Strobe Enable) yang merupakan sinyal pengontrol yang membolehkan program memori eksternal masuk ke dalam bus selamat proses pemberian/pengambilan intruksi

h. Pin 30 adalah pin output ALE (Address Latch Enable) yang digunakan untuk menambah alamat memori eksternal selama pelaksanaan intruksi

i. Pin 31 EA bila pin ini diberi logika tinggi, mikrokontroler akan melaksanakan intruksi dari ROM ketika isi program counter kurang dari 4096, bila diberi logika rendah maka mikrokontroler akan melaksanakan seluruh intruksi dari memori program luar

j. Pin 32 sampai 39 (port 0) merupakan port paralel 8 bit open drain dua arah. Bila digunakan untuk mengakses memori luar, port ini akan memultipleks alamat memori dengan data

k. Pin 40 (Vcc) dihubungkan ke Vcc (+5 Volt)

Gambar 2 Blok Diagram AT89C51

Ü Organisasi Memori

Semua mikrokontroler dalam keluarga MCS-51 memiliki pembagian ruang alamat (address space) untuk program dan data. Pemisahan memori program dan memori data membolehkan memori data untuk diakses oleh alamat 8 bit. Meskipun demikian, alamat data 16 bit dapat dihasilkan melalui register DPTR (Data Pointer Register).

Ø Memori Program

Memori program hanya dapat dibaca tidak bisa ditulisi (karena disimpan dalam Flash Memori). Memori program dapat ditingkatkan sebesar 64 Kbyte dengan menambahkan memori eksternal. Sinyal yang membolehkan pembacaan dari memori program eksternal adalah dari PSEN. Memori data terletak pada ruang alamat terpisah dari memori program. RAM eksternal 64 Kbyte dapat dialamati dalam ruang memori data eksternal. CPU menghasilkan sinyal read dan write selama menghubungkan memori data eksternal.

Gambar 3 Memori Program

Ø Memori Data

Memori data internal dipetakan seperti pada gambar dibawah ruangan memorinya dibagi dua bagian yaitu RAM 128 Byte serta SFR (Special Fungsi Register). Tiga puluh dua byte RAM paling bawah dikelompokan dalam 4 bank (8 register), yiatu R0 sampai R7. Ruang pengalamatan bit dan stratch pad area. Ruang SFR berisi penahan port, pewaktu (timer), pengontrol peripheral dan lain-lain. Register ini hanya dapat diakses oleh pengalamatan langsung.

Gambar 4 Memori Data

Gambar dibawah menunjukan ruang SFR (Special Function Register) menepati ruang alamat RAM Internal 80H sampai 7FH. SFR berisi penahan port (port latch), pewaktu (timer), control peripheral dan lain-lain. Register-register ini hanya bisa diakses dengan pengalamatan langsung.

Gambar 4 Special Fungsi Register

Tabel Special Fungsi Register

Gambar 5 Special Function Register

Ü Osilator

Mikrokontroller AT89S51 memiliki osilator internal yang dapat diguakan sebagai sumber clock bagai CPU. Untuk menggunakan osilator internal diperlukan sebuah kristal atau resonator keramik antara pin XTAL1 dan XTAL2 dan sebuah kapasitor ke ground. Untuk kristalnya dapat digunakan frekuensi dari 6 sampai 24 Mhz. sedangkan untuk kapasitor dapat bernilai antara 27 pF sampai 33pF.

Gambar 6 Konfigurasi Pemberian Clock

Ü Interupt

Apabila CPU pada mikrokontroler AT89S51 sedang melaksanakan tugas suatu program, kita dapat menghentikan pelaksanaan program tersebut secara sementara dengan meminta interupt. Apabila mendapat permintaan interupt, program counter (PC) akan diisi alamat vector interupt, setelah interupt selesai dilaksanakan maka CPU kembali ke program utama yang ditingalkan.

Pada mikrokontroler AT89S51 terdapat beberapa saluran interrupt. Interrupt pada AT89S51 dibedakan dalam dua jenis :

a. Interrupt yang tak dapat dihalangi oleh perangkat lunak (non maskable interrupt), misalnya reset

b. Interrupt yang dapat dihalangi perangkat lunak (maskable interrupt). Contoh interrupt jenis ini adalah INT0, INT1, Timer/Counter 1 serta interrupt serial.

Intruksi RETI harus digunakan untuk kembali dari layanan rutin interrupt. Intruksi ini dipakai agar saluran interrupt kembali dapat dipakai. Alamat layanan rutin interrupt dari setiap sumber diperlihatkan pada table 1

Tabel 1 Alamat Layanan Rutin Interrupt

Nama

Lokasi

Alat Interupt

Reset

00H

Power on Reset

INT 0

03H

INT 0

Timer 0

0BH

Timer 0

INT 1

13H

INT 1

Timer 1

1BH

Timer 1

Serial

23H

Port I/O serial

Mikorokontroler AT89S51 menyediakan 6 sumber interrupt, 2 interrupt eksternal, 2 interrupt timer dan satu interrupt port serial. Interrupt eksternal INT 0 dan INT 1 masing-masing dapat diaktifkan berdasarkan level atau transisi.

Ø Interupt Enable

Sumber Interupt dapat diaktifkan dan dimatikan secara individual atau dengan mengatur satu bit di SFR yang bernama IE (Interupt Enable). Bit-bit IE didefinisikan sebagai berikut :

Jika akan mengaktifkan interrupt 0 (INT0), nilai yang harus diberikan ke IE adalah 81H (yaitu memberikan logika 1 ke EA dan EX0).

Ø Prioritas Interupt

Setiap Sumber interrupt dapat deprogram secara individual menjadi satu atau dua tingkat prioritas dengan mengatur bit SFR yang bernama IP, Interupt dengan prioritas rendah dapat diinterupt oleh interrupt yang memiliki prioritas lebih tinggi, tetapi tidak bisa diinterupt oleh interrupt dengan prioritas lebih rendah. Interrupt prioritas tertinggi tidak dapat diinterupt oleh sumber interrupt lain.

Bila permintaan interrupt dengan tingkat prioritas berbeda diterima pada saat yang sama, interrupt dengan prioritas lebih tinggi yang dilayani. Sedangkan bila prioritasnya sama, maka akan dilakukan poling untuk menentukan mana yang dilayani. Bit-bit pada IP adalah sebagai berikut :

Ü Timer/Counter

Mikrokontroller AT89C51 mempunyai dua buah timer/counter 16 bit yang dapat diatur melalui perangkat lunak, yaitu timer/counter 0 dan timer/counter 1. Bila timer/counter diaktifkan pada frekuensi kerja mikrokontroller 12 Mhz, timer/counter diaktifkan pada perhitungan waku 1 mikro detik secara bebas, tidak tergantung pada pelaksanaan suatu intruksi, satu sklus pencacahan waktu berpadanan dengan satu siklus pelaksanaan intruksi dan satu siklus diselenggarakan waktu 1 mikro detik. Apabila perioda tertentu telah dilampaui, timer/counter akan meng-interupt mikrokontroller untuk memberitahukan bahwa perhitungan perioda waktu telah selesai. Perioda waktu timer/counter secara umum ditentukan oleh persamaan sebagai berikut :

a) sebagai timer/counter 8 bit

T = (255 – Tlx) x 1uS

Dimana Tlx adalah isi register TL0 atau TL1.

b) Sebagai timer/counter 16 bit

T = (65535 – THx TLx) x 1uS

Dimana :

THx = isi register TH0 atau TH1

TLx = isi register TL0 atau TL1

Pengontrol kerja timer/counter adalah register timer/counter (TCON). Definisi bit-bit timer/counter adalah sebagai berikut :

Pengontrolan pemilihan mode operasi timer/counter adalah register timer mode (TMOD) yang definisi bit-bitnya adalah sebagai berikut :

Table 2 Mode Timer/Counter

M1

M0

Mode

Operation

0

0

0

Timer 13 bit

0

1

1

Timer/counter 16 bit

1

0

2

Timer auto reload 8 bit (Pengisian otomatis)

1

1

3

TL0 adalah timer/counter 8 bit yang dikontrol oleh control bit standart timer 0

TH0 adalah timer 8 bit dan dikontrol oleh control bit timer 1

  1. Mode 0

Pada mode ini register timer disusun sebagai register 13 bit,. Setelah semua perhitungan selesai, mikrokontroller akan menset timer interrupt Flag (TF1) dengan membuat GATE = 1, timer dapat dikontrol oleh masukan luar INT1 untuk fasilitas pengukuran lebar pulsa

  1. Mode 1

Mode ini sama dengan mode 0, tetapi register timer berkerja pada 16 bit.

  1. Mode 2

Register timer tersusun sebagai 8 bit counter. Limpahan (overflow) dari TL1 menset TF1 dan mengisi TL1 dengan isi TH1 yang diatur secara software. Pengisian ini tidak mengubah TH1.

  1. Mode 3

Dalam mode 3. timer 1 semata-mata memegang hitungan yang efeknya sama seperti menset TR1 = 0.sedangkan timer 0 digunakan untuk menetapkan TL0 dan TH0 sebagai data dua counter terpisah, TL0 menggunakan control bit timer 0 yaitu C/T, GATE, TR0 INT0 dan TF0. TH0 ditetapkan sebagai fungsi timer.

Mode 3 diperlukan untuk aplikasi yang memerlukan timer/counter ekstra 8 bit,. Dengan timer 0 pada mode 3 mikrokontroller AT89C51 seperti memiliki 3 timer/counter saat timer 0 pada mode 3, timer 1 dapat dihidupkan atau dimatikan , atau dapat digunakan oleh port serial sebagai pembangkit baud rate. Untuk menjalankan timer 0 dan timer 1 secara bersamaan, dalam beberapa mode nilai TMOD harus di-OR-kan dengan nilai seperti terlihat untuk timer 1, pada control internal, timer dihidup – matikan dengan menset bit TR0 (control software). Pada control eksternal, timer dihidupkan/matikan dengan memberikan logika pada pin INT0.

Beberapa nilai TMOD yang dapat digunakan dalam penyetelan timer pada mode yang berbeda diperlihatkan pada tabel dibawah :

Tabel 3 Timer/Counter 0 sebagai Timer

Tabel 4 Timer/Counter 0 sebagai Counter

Tabel 5 Timer/Counter 1 sebagai timer

Tabel 6 Timer/Counter 1 sebagai Counter

Ü Program Status Word

Program status word berisi beberapa bit status yang mencerminkan keadaan mikrokontroller. Definisi daribit-bit dalam PSW dijelaskan dibawah ini

RS0 dan RS1 digunakan untuk memilih bank register. Delapan buah register ini merupakan register serbaguna. Lokasinya pada awal 32 byte RAM internal yang memiliki alamat dari 00H sampai 1FH. Register ini dapat diakses melalui symbol assembler (R0, R1, R2, R3, R4, R5, R6, R7). Pemilihan bank register diperlihatkan pada tabel dibawah ini :

Tabel 7 Pemilihan Bank Register

Register R0 dan R1 dapat digunakan untuk pengalamatan tak langsung pada RAM internal. Sisa register lainya tidak dapat digunakan untuk pengalamatan tak langsung.

SET INTRUKSI DAN PEMOGRAMAN ASSEMBLY MSC51

Ü Operand an Set Intruksi MCS51

Operan dalam pemrograman mikrokontroller adalah data yang tersimpan dalam memori, register dan input/output (I/O). intruksi yang dikenal secara umum dikelompokan menjadi beberapa kelompok yaitu intruksi untuk pemindahan data, aritmetika, operasi logika, pengaturan aliran program dan beberapa hal khusus, kombinasi dari instruksi dan operan itulah yang membentuk intruksi pengaturan kerja mikrokontroller.

Ü Mode Pengalamatan dalam MCS51

Data ataupun operan bisa berada ditempat yang berbeda sehingga dikenal beberapa cara untuk mengakses data operan tersebut yang dinamakan sebagai mode pengalamatan (Addressing Mode) antara lain yaitu :

  1. Pengalamatan Langsung (Direct Addressing)

Pada mode ini operand ditentukan dari sebuah alamat 8 bit. Hanya berlaku untuk RAM internal dan SFR.

Contoh: MOV A,7FH (isi accumulator dengan isi alamat 7Fh)

  1. Pengalamatan Tidak Langsung (Indirect Addressing)

Mode ini menggunakan Register tertentu berisi Data yang menunjukan Alamat. Bisa berlaku untuk internal dan external RAM. Register untuk menunjukkan alamat tersebut adalah R0 atau R1, maupun Stack Pointer untuk operasi 8 bit. Untuk mengakses 16 bit alamat digunakan data pointer DPTR.

Contoh: MOV A,@R0 (isi accumulator dengan alamat yang ditunjukkan oleh isi R0)

  1. Pengalamatan Register

Pengalamatan mode ini lebih effisien dan mengeleminasi satu byte alamat

Contoh: MOV A,R7

  1. Immediate Constant

Sebuah nilai konstanta dapat mengikuti opcode dalam Program memori

Contoh: MOV A,#20h (Mengisi accumulator dengan data 20h)

  1. Pengalamatan Bit

Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32 sampai 47) atau bit perangkat keras. Untuk melakukan pengalamatan bit digunakan symbol titik (.), misalnya FLAGS.3, 40.5, 21H.1 dan ACC.7. Tabel dibawah menunjukan pengalamatan bit pada mikrokontroller AT89C51

Tabel 8 Spesial function register (SFR)

Simbol

Posisi Bit

Alamat Bit

Nama

CY

PSW.7

D7H

Carry Flag

AC

PSW.6

D6H

Auxilliary carry falg

F0

PSW.5

D5H

Flag 0

RS1

PSW.4

D4H

Reg. Bank Select Bit 1

RS0

PSW.3

D3H

Reg Bank Select Bit 0

OV

PSW.2

D2H

Overflow Flag

P

PSW0

D0H

Parity Flag

TF1

TCON.7

8Fh

Timer 1 overflow flag

TR1

TCON.6

8EH

Timer run control bit

TF0

TCON.5

8DH

Timer 0 overflow flag

TR0

TCON.4

8CH

Timer 0 run control bit

IE1

TCON.3

8BH

Interupt 1 edge flag

IT1

TCON.2

8AH

Interupt 1 type control

IE0

TCON.1

89H

Interupt 0 edge flag

IT0

TCON.0

88H

Interupt 0 type control

SM0

SCON.7

9FH

Serial Mode control bit 0

SM1

SCON.6

9EH

Serial mode control bit 1

SM2

SCON.5

9DH

Serial mode control bit 2

REN

SCON.4

9CH

Reciever enable

TB8

SCON.3

9BH

Transmit bit 8

RB8

SCON.2

9AH

Receiver bit 8

TI

SCON.1

99H

Transmit interrupt flag

RI

SCON.0

98H

Receive Interupt flag

EA

IE.7

AFH

Enable all interupr

ES

IE.4

ACH

Enable serial port interrupt

ET1

IE.3

ABH

Enable Timer 1 Interupt

EX1

IE.2

AAH

Enable external Interupt 1

ET0

IE.1

A9H

Enable Timer 0 interupt

EX0

IE.0

A8H

Enable external interrupt 0

PS

IP.4

BCH

Serial port interrupt priority

PT1

IP.3

BBH

Timer 1 interupt priority

PX1

IP.2

BAH

External interrupt priority

PT0

IP.1

B9H

Timer 0 interupt priority

PX0

IP.0

B8H

External interrupt 0 priority

Ü Perangkat Intruksi

Mikrokontroller AT89C51 memiliki 256 perangkat intruksi. Seluruh intruksi dapat dikelompokan dalam 4 bagian yang meliputi intruksi 1 byte sampai 4 byte. Apabila frekuensi clock mikrokontroller yang digunakan adalah 12 Mhz, kecepatan pelaksanaan intruksi akan bervarias dari 1 hingga mikrodetik. Perangkat intruksi mikrokontroller AT89C51 dapat dibagi menjadi lima kelompok sebagai berikut :

ü Intruksi Transfer data

Intruksi ini memindahkan data antara register-register, memori-memori, register-memori, antar muka register dan antar muka memori.

Tabel 9 Intruksi Transfer Data

ü Instruksi Aritmatika

Intruksi ini melaksanakan operasi aritmatika yang meluputi penjumlahan, pengurangan, penambahan satu (inkremen), pengurangan satu (dekremen), perkalian dan pembagian.

Tabel 10 Intruksi Aritmatika

ü Instruksi Logika dan Manupulasi Bit

Instruksi ini melaksanakan operasi Boolean (AND, OR, XOR), perbandingan, pergeseran dan komplemen data.

Tabel 11 Intruksi Logika dan manupulasi Bit

ü Instruksi Percabangan

Instruksi ini mengubah urutan normal pelaksanaan suatu program. Dengan instruksi ini program yang sedang dilaksanakan akan mencabang ke suatu alamat tertentu. Intruksi percabangan dibedakan atas 2 yaitu : percabangan bersyarat dan percabangan tanpa syarat.

Tabel 12 Intruksi Percabangan

Ü Aturan Pembuatan Program Assebler AT89C51

Program bahasa assembly berisikan :

ü Intruksi-intruksi mesin

ü Pengarah-pengarah assembler

ü Kontrol-kontrol assembler

ü Komentar-komentar

Intruksi-intruksi mesin merupakan mnemonic yang menyatakan suatu instruksi yang bisa dijalankan (misalnya MOV). Pengarah assembler (assembler directive) merupakan intruksi ke program assembler yang mendefinisikan struktur program, symbol-simbol, data, konstanta dan lain-lain (misalnya ORG). Kontrol-kontrol assembler mengatur (menentukan) mode-mode assembler dan aliran assembly langsung (misalnya $TITLE). Komentar perlu ditulis agar program mudah dibaca.

Baris-baris program yang mengandung instruksi mesin atau pengarah assembler harus mengikuti aturan program assembler ASM51. masing-masing baris atas beberapa field yang dipisahkan dengan spasi atau tabulasi. Format umumnya :

[label :] mnemonic [operand] [,operand] [……] [; komentar]

contoh pembuatan program assembler

ORG ; INISIALISASI ALAMAT AWAL

0000H

LJMP START ; LOMPAT KE LABEL START

ORG

0100H ; AWAL PROGRAM YANG AKAN DIJALANKAN

START :

ISI PROGRAM ASSEMBLER

.

.

.

END

Catatan :

Setiap pembuatan program tidak boleh di mulai dari alamat 0000H. jika pembuatan program di mulai dari alamat 0000H maka program dipastikan tidak akan berjalan sebab 0000 di isi oleh intrupt reset. Sebaiknya pembuatan program di mulai dari alamat memori 0100h agar tidak terjadi cras dengan interrupt yang lain.

Ü Software Pendukung

Ada dua software untuk mempelajari mikrokontroller AT89C51 yaitu AVSIM51 dan TS Control berserta Linkernya. Program yang pertama digunakan untuk menghasilkan file-file berekstensi *.HEX, *.BIN, *.OBJ, *.LST adalah menggunakan Linkker, yaitu yang disebut dengan proses kompile.

Untuk mendapatankan file-file seperti diatas, pertama tuliskan program dengan menggunakan teks editor baik berupa teks editor NOTEPAD atau teks editor Q-EDIT, atau yang lainnya. Simpan program yang anda buat dan berilah ekstensi .ASM, setelah itu lakukan proses kompile.

Ü Simulasi Software AVSIM51

Untuk membuat program assemble pertama, buka teks editor yang anda miliki yaitu dengan cara sebagai barikut :

1. Click Start à Program àMsDos

2. Pada Promt C:\ > ketik cd ASM51

3. Pada Promt C:\ASM51> ketik Edit kemudian tekan enter sehinga tampil seperti pada gambar dibawah ini:

Gambar 7 Tampalan Teks Editor Q-BASIC

4. Tekan enter dua kali

5. Ketik Listting Program dibawah ini

Latihan 1

ORG 0000H

AJMP MULAI

ORG 0100H

MULAI :

MOV A,#0F3H

MOV R0,#17H

MOV B,@R0

SWAP A

MOV P1,A

MOV R1,#12H

MOV @R1,A

MOV P0,A

END

Simpan dengan file assembler yang baru anda buat dengan ekstensi file .ASM lakukan proses kompile dengan cara mengetikan perintah pada M nama_file pada C promt

C:\ASM51>m latihan1 à enter

Gambar 8 Tampilan Proses Kompile

Jika program yang dibuat tidak ada kesalahan maka Proses kompile akan menghasilkan 5 buah file berekstensi .HEX, .OBJ, .MAP, .BIN, dan .LST. kemudian akan tampil informasi ASSEMBLY COMPLETE , NO ERROR FOUND.

5 ekstensi file tersebut digunakan untuk :

1. Ekstensi file .HEX, .OBJ digunakan untuk keperluan simulasi

2. Ekstensi file .BIN, .HEX digunakan untuk perluan download kedalam EPROM AT89C51

3. Ekstensi file .LST digunakan untuk keperluan memeriksa kesalahan program

Setelah melakukan proses kompile kita akan coba untuk mensimulasikan program yang dibuat tadi yaitu dengan cara :

  1. Pada Promt C:\asm51> ketikan a à enter sehinga muncul seperti pada gambar dibawah ini :

Gambar 9 Tampilan Pemilihan CPU Mikrokontroller

  1. Pilih A dengan cara menekan tombol A pada keyboard sehingga tampil seperti pada gambar di bawah ini

Gambar 10 Tampilan Simulasi AVSIM51

  1. Pilih Load dengan menekan tombol L pada keyboard
  2. Pilih Avocet dengan menekan tombol A pada keyboard
  3. Masukan nama file yang akan disimulasikan, nama file yang disimulasikan berekstensi .obj atau .hex. contoh latihan1.obj à enter
  4. Tekan tombol F10 untuk menjalankan simulasi step by step
  5. Amatilah hasil Perubahan dan masukan hasilnya kedalam tabel di bawah ini

Step

Instruksi

A

B

R0

R1

12H

17H

P0

P1

P

Latihan 2

Ketik program dibawah ini, simpan dengan nama file latihan2.asm

ORG 0000H

LJMP MULAI

ORG 0100H

MULAI:

MOV 19H,#80H

MOV A,#0F8H

ADD A,19H

MOV B,A

INC 19H

DEC B

MOV R7,#29H

SUBB A,R7

MOV 20H,A

MOV R1,#20H

MOV A,R7

ADDC A,@R1

MUL AB

MOV B,#05H

DIV AB

Kompile program tersebut dengan cara mengetikkan m nama_file pada C promt (C:\asm51>m latihan2). Jalankan program AVSIM (C:\asm51>a) piliha Load à Avocet à masukan nama_file.obj à enter. Amati setiap perubahan data lalu isikan pada tabel dibawah ini

Step

Instruksi

A

B

R1

R7

19H

20H

C

AC

P

OV

Latihan 4

Buat flowchart (algoritma) dan program untuk persamaan Y = ((A + B) * C) - D dengan ketentuan sebagai berikut :

Y adalah register 16 bit yang terdiri dari Y1 dan Y2. Y1, Y2 adalah alamat memori 22H dan 23H

A adalah bilangan 6AH pada alamat memori 10H

B adalah bilangan 14H

C adalah bilangan 08H pada alamat 32H

D = B + 1

Simulasi program tersebut dengan menggunakan AVSIM51

Latihan 5

Implementasikan persamaan logika berikut menjadi sebuah program

Dengan Ketentuan Sebagai berikut :

A adalah data 77H pada alamat memori 20H

B adalah data E1H pada register R2 bank ke 2

Y disimpan di register R1 bank ke 3

Simulasikan program tersebut dengan menggunakan AVSIM51

LAMPIRAN

INSTRUKTION SET FOR AT89C51

INTRUKSI

KETERANGAN

TIME

ACALL ALAMATKODE

Memanggil program percabangan

2

ADD A,#data

Menambahkan data dengan Akumulator dan hasilnya disimpan dalam akumulator

1

ADD A,@Rr

Menambahkan data memori yang lokasinya ditunjukan oleh nilai isi register r dengan akumulator dan hasilnya disimpan dalam akumulator

1

ADD A,Rr

Menambahkan isi register r dengan akumulator dan hasilnya disimpan dalam akumulator

1

ADD A,Alamatdata

Menambahkan isi alamat data dengan akumulator dan hasilnya disimpan dalam akumulator

1

ADDC A,#data

Menambahkan isi carry flag dengan akumulator dan menambahkan data, hasilnya disimpan dalam akumulator

1

ADDC A,@Rr

Menambahkan isi carry flag dengan akumulator dan menambahkan isi data memori yang lokasinya ditunjukan oleh isi register r, hasilnya disimpan dalam akumulator

1

ADDC A,Alamatdata

Menambahkan isi carry flag dengan akumulator dan menambahkan isi data dari alamat data, hasilnya disimpan dalam akumulator

1

AJMP Alamatkode

Intruksi ini adalah untuk melompat ke alamatkode yang dituju, dengan jangkauan lompatan 2 Kbyte

2

ANL A,#data

Meng-AND-kan data dengan akumulator

2

ANL A,@Rr

Meng-AND-kan isi memori yang lokasinya ditunjukan oleh isi register r dengan akumulator

2

ANL A,Rr

Meng-AND-kan isi register r dengan akumulator

2

ANL A,Alamatdata

Meng-AND-kan isi alamat data tertentu dengan akumulator

2

ANL C,Alamat bit

Meng-AND-kan isi alamat bit tertentu dengan isi carry, jika keduany 1 maka hasilnya 1, selain itu hasilnya 0. hasilnya ditempat pada carry

2

ANL Alamatdata,A

Meng-AND-kan isi alamat data dengan akumulator, dan hasilnya disimpan dalam alamatdata yang bersangkutan

2

CALL

Intruksi ini akan ditranslasikan ke ACALL atau LCALL

2

CJNE @Rr,#data,alamat kode

Membandingkan data langsung dengan lokasi memori yang dialamati oleh register r. Apabila tidak sama, eksekusi akan menuju ke alamatkode. Bila sama intruksi selanjutnya yang akan dijalankan

2

CJNE A,#data,Alamatkode

Membandingkan data langsung dengan isi akumulator. Apabila tidak sama maka eksekusi akan menuju ke alamatkode. Bila sama maka intruksi selanjutnya akan dijalankan

2

CJNE A,Alamatdata,Alamatkode

Membandingkan isi alamatdata langsung dengan isi akumulator. Apabila tidak sama maka eksekusi akan menuju ke alamatkode. Bila sama maka intruksi selanjutnya akan dijalankan

2

CJNE Rr,#data,alamatkode

Membandingkan data langsung dengan isi register r. Apabila tidak sama maka eksekusi akan menuju ke alamatkode. Bila sama maka intruksi selanjutnya akan dijalankan

2

CLR A

Intruksi ini makan me-reset akumulator menjadi 00H

1

CLR C

Instruksi ini akan me-reset carry flag menjadi 0

1

CLR Alamatbit

Instruksi ini akan me-reset alamatbit menjadi 0

1

CPL A

Instruksi ini akan mengkomplemen isi akumulator

1

CPL C

Instruksi ini akan mengkomplemen isi Carry flag

1

CPL Alamatbit

Instruksi ini akan mengkomplemen isi suatu alamatbit

1

DEC @Rr

Instruksi ini akan mengurangi 1 isi lokasi memori yang alamatnya ditunjukan oleh isi register r

1

DEC A

Instruksi ini akan mengurangi 1 isi akumulator

1

DEC Rr

Instruksi ini akan menguranig 1 isi register r

1

DEC Alamatdata

Instruksi ini akan mengurangi 1 isi alamatdata

1

DIV AB

Instruksi ini akan membagi isi akumulator dengan isi register B. akumulator berisi hasil bagi, sedangkan register B berisi sisa pembagian

4

DJNZ Rr,Alamatkode

Instruksi ini akan mengurangi 1 isi register r, jika hasilnya sudah 0 maka instruksi selanjutnya yang akan dijalankan. Jika hasilnya belum 0 eksekusi akan menuju ke alamatkode

2

DJNZ Alamatdata,alamatkode

Instruksi ini akan mengurangi 1 isi alamatdata, jika hasilnya sudah 0 maka intruksi selanjutnya yang akan dijalankan. Jika hasilnya belum 0 eksekusi akan menuju ke alamatkode

2

INC @Rr

Instruksi ini akan menambah 1 isi memori yang lokasinya ditunjukan oleh register r

1

INC A

Instruksi ini akan menambahkan 1 isi akumulator

1

INC DPTR

Instruksi ini akan menambah 1 isi data pointer

2

INC Rr

Instruksi ini akan menambah 1 isi dari register r

1

JB Alamatbit,Alamatkode

Instruksi ini akan menguji suatu alamatbit, jika berisi 1 eksekusi akan menuju ke alamatkode. Jika tidak 1 maka intruksi selanjutnya yang akan di eksekusi

2

JBC Alamatbit,Alamatkode

Instruksi ini akan menguji suatu alamatbit. Jika berisi 1, bit tersebut akan diubah menjadi 0 dan eksekusi akan menuju ke alamatkode. Jika berisi 0, intruksi selanjutnya yang akan di eksekusi

2

JC Alamatkode

Instruksi ini akan menguji carry flag. Jika berisi 1, eksekusi akan menuju ke alamatkode. Jika berisi 0 intruksi selanjutnya yang akan di eksekusi

2

JMP Alamatkode

Instruksi ini akan diubah menjadi SJMP, AJMP atau LJMP

2

JNB Alamatbit,Alamatkode

Instruksi ini menguji suatu alamat bit, jika isinya 0, eksekusi akan menuju ke alamat kode. Jika isinya 1 intruksi selanjutnya yang akan dieksekusi

2

JNC Alamatkode

Instruksi akan menguji isi carry flag. Jika isinya 0 eksekusi akan menuju ke alamatkode. Jika berisi 1 intuksi selanjutnya yang akan dieksekusi

2

JNZ Alamatkode

Instruksi ini akan menguji isi akumulator. Jika tidak sama dengan 0 eksekusi akan menuju ke alamatkode. Jika sama dengan 0 intruksi selanjutnya yang akan dieksekusi

2

JZ Alamatkode

Instruksi ini akan menguji isi akumulator. Jika nilainya 0 eksekusi akan menuju ke alamatkode. Jika tidak 0 intruksi selanjutnya yang akan dieksekusi

2

LCALL Alamatkode

Instruksi ini akan melompat ke alamat yang ditunjukan oleh alamatkode

2

LJMP Alamatkode

Instruksi ini akan menuju ke alamatkode

2

MOV @Rr,#data

Instruksi ini akan memindahkan data ke lokasi memori yang alamatnya ditunjukan oleh isi register r

1

MOV @Rr,A

Instuksi ini akan memindahkan isi akumulator ke lokasi memori yang alamatnya ditunjukan oleh isi register r

1

MOV @Rr,Alamatdata

Instruksi ini akan memindahkan isi suatu alamatdata ke lokasi memori yang alamatnya ditunjukan oleh isi register r

1

MOV A,#data

Instruksi ini akan memindahkan data ke akumulator

1

MOV A,@Rr

Instruksi ini akan memindahkan isi data memori yang lokasinya ditunjukan oleh isi register r ke akumulator

2

MOV A,Rr

Instruksi ini akan memindahkan isi data register r ke akumulator

2

MOV A,Alamatdata

Instruksi ini akan memindahkan isi lamatdata ke akumulator

1

MOV C,alamatbit

Instruksi ini akan memindahkan isi suatu alamatbit ke carry flag

1

MOV DPTR,#data

Instruksi ini akan memindahkan data 16 bit ke data pointer

2

MOV Alamat1,Alamat2

Instruksi ini akan memindahkan isi alamat data sumber (alamat2) ke alamatdata tujuan (alamat1)

1

MOV A,@A+DPTR

Instruksi ini akan menjumlahkan isi data pointer dengan isi akumulator. Hasil penjumlahan merupakan alamatkode memori dan isinya akan dipindahkan ke akumulator

3

MUL AB

Instruksi ini akan mengalikan isi akumulator dengan isi register B. byte bawah hasil perkalian dimasukan ke akumulator dan byte atas dimasukan ke register B

4

NOP

Instruksi ini tidak melakukan apa pun selama satu siklus

1

ORL A,#data

Instruksi ini meng-OR-kan data dengan isi akumulator

2

ORL A,@Rr

Instruksi ini meng-OR-kan isi lokasi memori yang alamatnya ditunjukkan oleh isi register r dengan akumulator

2

ORL A,Rr

Instruksi ini meng-OR-kan isi register r dengan akumulator

2

ORL A,Alamatdata

Instruksi ini meng-OR-kan isi suatu alamatdata dengan akumulator

1

ORL C,alamatbit

Instruksi ini meng-OR-kan isi suatu alamat bit dengan isi carry flag hasilnya disimpan dalam carry flag

1

ORL Alamatdata,#data

Instruksi ini meng-OR-kan data dengan isi suatu alamatdata. Hasilnya disimpan pada alamatdata

1

ORL Alamatdata,A

Instruksi ini meng-OR-kan isi akumulator dengan isi suatu alamatdata. Hasilnya disimpan pada alamatdata

2

POP Alamatdata

Instruksi ini menempatkan byte yang ditunjukan oleh stack pinter ke suatu alamatdata. Kemudian mengurangi satu isi stack pointer

2

PUSH Alamatdata

Instruksi ini menaikkan stack pointer kemudian menyimpan isinya ke suatu alamatdata pada lokasi yang ditunjukkan oleh stack pointer

2

RET

Instruksi dipakai untuk kembali dari suatu subrutin ke alamat terakhir saat subrutin dipanggil

2

RETI

Instruksi ini dipakai untuk kembali dari suatu rutin interrupt

2

RL A

Instruksi ini memutar setiap bit dalam akumulator satu posisi ke kiri

1

RLC A

Instruksi ini akan memutar bit-bit dalam akumulator satu posisi ke kiri. Bit ke 7 bergerak ke dalam carry flag, sedangkan isi carry flag bergerak menuju bit ke 0 dalam akumulator

1

RR A

Instruksi ini akan memutar setiap bit dalam akumulator satu posisi ke kanan

1

RRC A

Instruksi ini akan memutar setiap bit dalam akumulator satu posisi ke kanan. Bit ke 0 menuju ke carry flag, sementara isi carry flag masuk ke bit 7 akumulator

1

SETB C

Instruksi ini mengset nilai carry flag menjadi 1

1

SETB Alamatbit

Instruksi ini akan mengset isi suatu alamatbit menjadi 1

1

SUBB A,@Rr

Instruksi ini akan mengurangi isi akumulator dengan carry flag dan isi lokasi memori yang ditunjukan oleh isi register r. hasilnya disimpan dalam akumulator

1

SUBB A,#data

Instruksi ini akan mengurangkan isi carry flag dan data dari isi akumulator. Hasilnya disimpan dalam akumulator

1

SUBB A,Rr

Instruksi ini akan mengurangi isi akumulator dengan isi carry flag dan isi register r. hasilnya disimpan dalam akumulator

1

SUBB A,Alamatdata

Instruksi ini akan mengurangkan isi akumulator dengan isi carry flag dan isi suatu alamatdata

1

SJMP Alamatkode

Instruksi ini akan melompat ke alamatkode

2

SWAP A

Instruksi ini akan menukar byte bawah (0-3) dengan bit atas (4-7)

1

XCH A,@Rr

Instruksi ini akan menukar isi lokasi memori yang alamatnya ditunjukkan oleh isi register r dengan isi akumulator

1

XCH A,Alamatdata

Instruksi ini akan menukar isi suatu alamatdata dengan isi akumulator

1

XCHD A,@Rr

Instruksi ini akan menukar isi bagian bawah nibble (bit 0-3) dari lokasi memori yang alamatnya ditunjukkan oleh isi register r dengan isi nibble bawah (bit 0-3) akumulator

1

XRL A,#data

Instruksi ini akan meng-XOR-kan data dengan isi akumulator

1

XRL A,@Rr

Instruksi ini akan meng-XOR-kan isi memori yang lokasinya ditunjukan oleh isi register r dengan isi akumulator

1

XRL A,Rr

Instruksi ini akan meng-XOR-kan isi register r dengan isi akumulator

1

XRL Alamatdata,#data

Instruksi ini akan meng-XOR-kan data dengan isi suatu alamatdata. Hasilnya disimpan pada alamatdata

2

XRL A,Alamatdata

Instruksi ini akan meng-XOR-kan isi suatu alamatdata dengan isi akumulator

1

XRL Alamatdata,A

Instruksi ini akan meng-XOR-kan isi akmulator dengan isi suatu alamatdata dan hasilnya disimpan pada alamatdata tersebut

1


http://www.google.co.id/#hl=id&source=hp&q=definisi+Mikrokontroler&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=bd044e2305c01ea6