3.4. Input Output
Dalam suatu sistem instrument, kadang memerlukan interaksi dengan sebuah tombol untuk mengaktifkan sesuatu, untuk memulai pekerjaan, atau sebagai tombol setting. Push button merupakan saklar mekanik dengan karakteristik, bila ditekan maka akan menghubungkan singkat pada dua terminal saklar, dan sebaliknya bila dilepas maka akan terjadi hubungan terbuka. Karena sifat dari Port P3.0 yang mendapat pull up resistor secara internal, maka pada saat awal input P3.0 mendapat logika " 1 ".
Gambar 3.6. Rangkaian input-ouput
; Percobaan 3.4.1, Input- Output
; Listing program berikut ini, berfungsi untuk menghidupkan LED
; sesuai dengan bit push button pada saat pushbutton ditekan
; jadi pada program ini bila anda menekan PB0 maka LED0 akan nyala
Org 0h
Start: Mov A,P3 ; mengambil data dari port P3
Mov P1,A ; copy data accumulator ke port P1
Sjmp Start ; lompat ke label start " Looping Forever"
end
; Percobaan 3.4.2, Input- Output
; Listing program berikut ini berfungsi untuk menjalankan Running LED,
; apakah ke kiri atau ke kanan ditentukan oleh tombol yang ditekan
; bila tombol 0 yang ditekan maka LED akan putar ke kanan dan
; bila tombol 1 yang ditekan maka LED akan putar ke kiri
Org 0h
Mulai: JB P1.0,banding
Acall PutarKN
Sjmp Mulai
banding: JB P1.1,mulai
Acall PutarKR
SJMP Mulai
;=======================
;SUBRUTIN PUTAR KANAN
;=======================
PutarKN: Mov A,#01111111b
again1: Mov P0,A
JB P1.0,terus1
Sjmp Selesai1
terus1: RR A
Acall delay
Sjmp again1
Selesai1: ret
;=======================
;SUBRUTIN PUTAR KIRI
;=======================
PutarKR: Mov A,#11111110b
again2: Mov P0,A
JB P1.0,terus2
Sjmp Selesai2
terus2: RL A
Acall delay
Sjmp again2
Selesai2: ret
;==============
;Subrutin Delay
;==============
Delay: Mov R0,#255 ; isi register R0 dengan 5
Delay1:Mov R1,#0FFh ; isi register R1 dengan FFh
Delay2:Mov R2,#0FFh ; isi register R2 dengan FFh
DJNZ R2,$ ; kurangi R2 dengan 1 dan loncat ke baris ini
DJNZ R0,Delay1 ; kurangi R0 dengan 1 dan loncat ke delay1 bila R0
Ret ; tidak nol
;
end
No comments:
Post a Comment