Friday, March 18, 2011

robot 89s51 JEH

Robot Avoider dengan 89S51 serta ADC 8 Channel

Kit aplikasi ini ialah penerapan mikrokontroler 89S51, sensor jarak sharp GP2D12 dan kit ADC 0809 8 ch sebagai robot avoider menggunakan bahasa assembly. Kit yang dibutuhkan ialah :

1. Sistem Minimum 89s51/52/8252 atau DT 51 Low Cost Micr System Starter Pack (Sudah sama kabel ISP)

2. Kit ADC 0809 Delta

3. Sensor Sharp GP2D12

4. IC L293d

5. Roda serbaguna dengan motor dc.

6. Tempat baterai

ADC 0808/0809

Adapun spesifikasi yang dimiliki ADC0809 yaitu total unadjusted Error ±1.2 LSB and ±1 LSB dengan resolusi 8 bit, dan memiliki waktu konversi 100ms dan catu daya yang digunakan +5volt DC dengan daya 15mW, dengan spesifikasi yang dimiliki oleh A/D inilah yang menyebabkan A/D ini mudah untuk digunakan diberbagai rangkaian interface, hanya pada rangakaian A/D ini perlu adanya penambahan rangkaian clock

Dari Konfigurasi pin ADC0809 yang ditunjukan pada gambar terdapat 28 buah pin dimana masing-masing pin pada A/D berfungsi antara lain Pin 8,14,15,17,18,19,20,21 merupakan keluaran data digital hasil konversi dari A/D dimana kedelapan keluaran ini dapat langsung dihubungkan ke data bus. Dan Pin 1,2,3,4,5,26,27,28 merupakan pin masukan yang terdapat 8 pin atau 8 jalur input, pada pin inilah sinyal analog yang akan dikonversikan dihubungkan, sedangkan pin 23,24,25 merupakan pin A,B,C yang berfungsi sebagai pemilih jalur input mana yang akan dikonversikan, dan pin-pin yang lainnya sama halnya dengan ADC0804, agar delapan input dapat dikonversikan berikut ini tabel kebenarannya :

Input ke ADC 0809 haruslah berupa tegangan analog dari keluaran sensor yang biasanya besarannya berkisar dari 0-5V.

Gambar Kit ADC 0809 Delta :

Sebagai sensor jarak digunakan sensor jarak infrared Sharp GP2D12 dengan output analog yang terhubung di ch 0 kit ADC. Sebagai driver Motor DC, menggunakan IC L293D sebagai driver motor DC. Untuk menggerakkan driver motor DC, digunakan port 2.

Berikut ini contoh rangkaian L293d yang dapat mengemudikan 2 buah motor DC GT1/GT5 atau lainnya atau 1 buah stepper motor.

Algoritma

Konfigurasi ADC

Begin

Baca sensor 1

If jarak luas

Gerak maju

End if

If jarak pendek

Mundur

End if

end

Berikut cuplikan kode assembly menggunakan ASM51

mov p3,#00000000b ; set sensor depan (ch0)

; mov p3,#00000001 : set sensor samping (ch1) dan seterusnya

; jika ingin pasang sensor tambahan sebanyak 8 bh

LOOP:

mov a,p0 ; baca sensor, keluaran 8 bit dari ADC 0809

mov p1,p0 ; tampilkan juga di port 1

cjne a, #0ffh, maju1 ; jika tidak sama dengan 0ffH, lompat ke lable maju1

MOV P2,#00001010b ; gerakkan robot maju

acall L_TUNDA ; panggil prosedur tunda

jmp LOOP

MOV P2, #00000001b ; belok

Acall L_TUNDA ; Panggil Procedure penundaan waktu

Acall L_TUNDA ; Panggil Procedure penundaan waktu

Acall L_TUNDA ; Panggil Procedure penundaan waktu

Acall L_TUNDA ; Panggil Procedure penundaan waktu

JMP LOOP ; Loncat Ke Procedure Loop

;Prosedur penundaan waktu selama 050Hx075H (konversi dalam us)

L_TUNDA: ; Label L_TUNDA

MOV R7,#050h ; Isikan Register 7 dengan data 050H

L_TUNDA_1: ; Label L_TUNDA

ACALL TUNDA ; Panggil Prosedure Tunda

Djnz R7,L_TUNDA_1 ; Kurangi Nilai Register7 (R7)

; dengan 1 jika belum sama dengan 0 loncat ke prosedure L_TUNDA_1

RET ;Kembali

TUNDA: ; label TUNDA

MOV R6,#075H ; Isikan Register 6 (R6) dengan data 075H

DJNZ R6,$ ; Kurangi Nilai Register6 (R6)

; dengan 1 jika belum sama dengan 0

; Terus kurangi. (waktu akan tertunda selama beberapa uS pada kristal 11.0592 ;MHz)

RET ; Kembali

END

Categories: Teknik Antar Muka Komputer

No comments:

Post a Comment