Rabu, 22 Juni 2011

assembly BAB 8 IMPLEMENTASI BAHASA ASSEMBLY PADA MIKROKONTROLER

A. a. Mikrokontroler

Mikrokontroler adalah sebuah system computer sederhana yang dimuat dalam satu chip, biasanya disebut computer on chip. Kata mikro menunjukkan bahwa perangkatnya berukuran kecil dan kata kontroler menunjukkan bahwa perangkat kecil tersebut dapat digunakan untuk mengontrol/ mengendalikan perangkat lain. Sering juga diistilahkan sebagai embedded microcontroller, bersifat sebagai perangkat pendukung dan biasanya ditanamkan ke dalam perangkat yang dikontrolnya.

Pada mikrokontroler terdapat bagian hardware dan software. Programmer dapat memasukkan program ke dalam mikrokontroller sehingga berfungsi sesuai dengan yang diinginkan oleh pengguna. Salah satu kelebihan mikrokontroler adalah kesederhanaan dan ukurannya yang relative kecil. Disamping kelebihan tersebut, terdapat kekurangan yaitu daya muat memori yang relative rendah sehingga programmer dituntut untuk lebih hemat dalam membuat program. Komponen yang terdapat dalam mikrokontroler adalah prosesor ROM, RAM, dan I/O.

Prosesor berperan sebagai otak dari system.

ROM adalah memori hardware yang menyimpan rangkaian program inti.

RAM adalah memori untuk menyimpan program yang disisipkan oleh programmer. RAM adalah bagian yang dapat diubah oleh pengguna sesuai dengan program yang dibuat.

I/O adalah bagian yang menghubungkan mikrokontroler dengan dunia luar.

Pemrograman bahasa assembly adalah salah satu program dengan ukuran yang relative kecil. Bahasa assembly adalah bahasa yang mendekati bahasa mesin, satu tingkat diatas bahasa mesin, memiliki keuntungan karena dapat mengakses bagian-bagian hardware dengan efisien. Pada saat ini telah banyak chip mikrokontroler yang digunakan untuk berbagai aplikasi baik untuk penelitian maupun untuk keperluan. Beberapa contoh aplikasi yang banyak menggunakan mikrokontroler seperti tampilan seven segmen, robot line follower, servo kontroler dan jam digital sederhana.

Penggunaan mikrokontroler pada perangkat sederhana yang sering kita temui sehari-hari banyak digunakan. Secara sederhana kita bisa memperhatikan perangkat-perangkat yang memiliki tombol untuk memasukkan data dan tampilan layar digital seperti handphone, mesin facsimile, atau jam digital. Perangkat-perangkat sejenis tersebut kemungkinan besar menggunakan mikrokontroler sebagai komponen kendalinya. Pada saat ini dalam pembuatan robot sederhana juga hamper dapat dipastikan menggunakan komponen mikrokontroler.

Mikrokontroler terdiri dari beberapa tipe dan lebar bit, sesuai kebutuhan dengan kemampuan komunikasi serial, penanganan keyboard, pemroses sinyal, dan pemroses radio. Beberapa produsen perangkat mikrokontroler yang banyak digunakan adalah Motorola, NEC, microchip, texas instruments, dan Siemens.

Arsitektur dasar suatu mikrokontroler secara umum terdiri dari dua jenis yaitu Von-Neuman dan Harvard. Pada arsitektur, Von-Neuman terdapat sebuah bus data yang digunakan untuk mengambil instruksi dan data. Program dan data disimpan dalam memori utama secara bersama-sama. Biasanya program disimpan pada alamat awal memori, sementara data disimpan pada alamat yang lebih tinggi di dalam segmen data. Secara sekuensial, prosesor akan mengeksekusi instruksi pada alamat awal memori kemudian menggunakan operand data pada alamat segmen data.

Pada arsitektur Harvard, bus data dan instruksi dipisah sehingga proses eksekusiinstruksi dan data dapat dilakukan secara bersamaan. Hal ini akan mempercepat proses eksekusi instruksi. Kecepatan proses ini harus dibayar dengan tingkat kompleksitas yang lebih tinggi dibandingkan dengan arsitektur Van-Neuman.

Berdasarkan kompleksitas instruksi, suatu mikrokontroler dikategorikan ke dalam dua jenis, yaitu CISC (Complex Instruction Set Computer) dan RISC (Reduced Instruction Set Computer). Masing-masing memiliki kelebihan dan kekurangan. Tipe CISC secara konsep bisa lebih hemat waktu eksekusi instruksi. Setiap instruksi memiliki panjang waktu eksekusi yang berbeda-beda sehingga waktu yang diperlukan untuk satu eksekusi satu instruksi dengan instruksi yang lainnya berbeda disesuaikan dengan keperluannya. Hal ini tidak akan membuang waktu instruksi,terutama untuk intruksi yang memerlukan silkus instruksi yang pendek. Sementara itu,pada RISC, semua instruksi dieksekusi dengan waktu eksekusi yang sama. Bagi instruksi-instruksi yang hanya memerlukan waktu silkus yang pendek , akan ada proses menunggu, yang sering diistilahkan sebagai bubble/no operasi. Waktu ini terbuang percuma. CISC karena harus bisa mengakomodasi berbagi kemungkinan panjang silkus instruksi, sementara RISC tidak.

b. Arsitektur Perangkat Robot Sederhana
Pada bagian ini akan dibahas contoh robot sederhana yang bayak dibuat yaitu robot line follower. Prinsipnya, robot jenis ini adalah sebuah robot yang dapat melakukan penelusuran.

jalur dengan sekitarnya. Berbeda komponen utama yang diperlukan pada robot ini adalah sensor,motor servo dan mikrokontroler. Sensor robot mikrokontroler berperan dalam pengendalian gerak berdasarkan masukan dari sensor. Sementara itu,motor servo berperan dalam menghubungkan dengan alat mekanik dengan robot.

  • Motor DC
Motor adalah perangkat utama penggerak sebuah robot. Sebagian besar system robot menggunakan motor untuk penggerak. Beberapa jenis motor yang banyak digunakan sebagai penggerak adalah Motor DC, Motor stepper, dan Motor servo. Motor DC biasanya digunakan untuk menggerakan robot dengan kekuatan yang cukup besar. Sementara itu, motor stepper memiliki torsi yang tidak sebesar motor DC, tetapi memiliki ketelitian yang lebih tinggi. Motor servo adalah motor dengan system closed feedback.

Motor servo terdiri dari motor, gear, potensiometer dan control. Posisi terakhir motor akan diinformasikan kepada bagiab control. Itulah mengapa disebut system closed feedback. Potensiometer berfungsi untuk menentukan batas sudut putaran.

Spesifikasi dari servo continuous parallax sebagai berikut :

· Power 6v DC max

· Rata-rata kecepatan 60 rpm

· Berat 45,0 gram

· Torque 3,40 kg-cm/47 oz-in

· Ukuran mm (LxWxH) 40,5x20,0x38,0

- Sensor

Sensor adalah perangkat input yang menerima masukan berupa sinyal yang diolah dan diteruskan ke dalam mikrokontroler. Untuk proses sensing kondisi lingkungan, terdapat beberapa jenis sensor yang dapat digunakan pada system robot. Berdasar keluarannya, sensor dapat dibedakan sebagai berikut :

· Biner : berupa 0 (0 V) atau 1 (5 V)

· Analog : misal 0 V hingga 5 V

· Pewaktu : misal PWM dan waktu RC

· Serial : misal UART (RS232), I2C dan SPI

Salah satu sensor yang banyak digunakan adalah sensor cahaya. Pada system robot bergerak, sensor cahaya banyak diguakan untuk keperluan mengikuti garis atau mendeteksi adanya penghalang. Pada robot line follower sensor cahaya yang digunakan untuk membedakan warna garis dengan warna diluar garis. Misalnya, warna garisnya hitam dan diluarnya putih. Sensor ini akan mendeteksi garis tersebut dan hasil sensornya akan dikirim ke mikrokontroler. Informasi hasil sensor ini digunakan oleh mikrokotroler untuk mengarahkan laju gerak roda robot.

Sensor inframerah adalah sensor yang menggunakan inframerah untuk mendeteksi lingkungan. Sinar inframerah adalah gelombang elektromagnetik yang mempunyai frekuensi rendah. Pada system robot, sensor inframerah dapat digunakan untuk mendeteksi jalur dan mengukur jarak antara robot dengan jarak penghalang terdekat. Perangkat yang diperlukan untuk mengukur jarak antara robot dan dinding adalah LED dan penerima inframerah. Sinyal inframerah diancarkan kemudian dideteksi oleh bagian penerima.

Di samping mengukur jarak, sensor cahaya juga berfungsi untuk menentukan jalur garis yang akan dilalui robot. Sensor cahaya/warna ini dapat membedakan warna jalur dan luar jalur sehingga robot dapat mengikuti jalur yang telah dibuat.

- Mikrokontroler

Pada saat ini mikrokontroler adalah perangkat yang umum digunakan dalam pengembangan kendali robot bergerak. Beberapa jenis perangkat mikrokontroler yang banyak digunakan adalah AT89S51/52, MikroAVR8535, Mikro PIC 16F84/A dan MikroAVR 128. Kita bisa menggunakan salah satu mikrokontroler tersebut untuk keperluan pembuatan robot bergerak. Secara fungsi, pada dasarnya sama sebagai tempat penyimpanan logika proses.

Blok diagram robot line follower terdiri dari 3 bagian utama, yaitu sensor, mikrokontroler dan penggerak roda.

Sensor cahaya akan mengirimkan data kepada mikrokontroler berupa informasi jalur. Informasi jalur diperoleh berdasarkan pantulan. Jalur berwarna hitam akan menyerap cahaya sehingga pantulannya kecil, sementara warna putih memantulkan cahaya dengan intensitas yang lebih tinggi. Sensor akan memberikan informasi jalur yang tidak memantulkan cahaya (warna hitam) sebagai jalur yang harus diikuti. Mikrokontroler akan bereaksi sesuai dengan arah alur tersebut. Langkah selanjutnya, mikrokontoler akan memerintahkan kendali motoruntuk menggerakkan motor kanan atau kiri sesuai dengan arah jalur hitam.

c. Bahasa Assembly Mikrokontroler

Bahasa assembly untuk setiap mikrokontroler berbeda-beda kecuali pada satu keluarga mikrokontroler. Setiap vendor memiliki bahasa assembly sendiri untuk memprogram perangkatnya. Mikrokontroler juga bisa deprogram dengan menggunakan bahasa tingkat tinggi seperti menggunakan C, C++, VB atau Delphi. Berikut ini contoh program assembly untuk mikrokontroler keluarga PIC :

: TITLE “Robot Line Follower”

RADIX dec

processor p16C73

_CONFIG h’3ffa’

include “p16c73a.inc”

FOSC equ 4000000 ; 4 mhz

Xtal

TMR0DIV equ 256 – (FOSC / (8000*16)) ; timer 0 preset

untuk 8000 hz interrupts

BANK0 macro

bcf STATUS,RP0

endm

BANK1 macro

bsf STATUS,PR0

endm


download tulisan lengkapnya, browser link di bawah,
http://www.4shared.com/document/Gt9Kx3FS/MAKALAH_assembly_BAB8.html


1 komentar: