JOB 9
KONTROL LAMPU RUANGAN
pe
Salah satu port pada port paralel adalah port data (data line) yang terdiri dari 8 bit (pin 2 s/d
pin 9) yang berada pada alamat 378h. Pada penggunaan port paralel untuk kontrol lampu
ruangan, menghidupkan atau mematikan lampu dilakukan dengan mengirimkan data 1 atau 0
ke lampu yang bersangkutan. Setiap bit pada port dapat digunakan untuk mengontrol sebuah
lampu.
Pengiriman data untuk menghidupkan lampu adalah dengan mengirimkan logika 1 ke bit yang
besesuaian. Tentunya pengiriman data ini jangan sampai berakibat pada kontrol lampu yang
lain. Agar ini tidak terjadi instruksi dengan operator AND dan OR dapat digunakan. Nilai data
yang ada saat mengirimkan data di AND-kan atau di-OR kan agar didapat bit yang sesuai.
Contoh:
Misalkan nilai data = 02h ; untuk menghidupkan lampu pada Pin 2
Untuk menghidupkan lampu pada pin 3 data yang dikirim adalah:
Pengiriman data untuk mematikan lampu tertentu harusnya tidak sampai mematikan lampu
yang lain. Untuk itu perlu dipilih dengan tepat dan benar pin yang akan dimatikan (0). Untuk
memungkinkan hal ini digunakan instruksi dengan operator AND, artinya data yang terakhir
ada akan di AND-kan dengan nilai yang sesuai untuk memilih agar pin tertentu mati (pada
posisi bit yang akan dimatikan di-AND dengan 0 sedangkan yang lainnya dengan 1).
Contoh:
Misalkan nilai data = 0Bh
Jika ingin mematika lampu pada pin 5 maka data yang dikirim adalah:
P2
P3
P4
P5
P6
P7
P8
P9 Gnd
1. Buatlah sebuah form yang bisa menggambarkan model control lampu ruangan,
antara lain berisi:
i. 4 buah lampu ruangan dengan shape circle kecil, saat run tidak terlihat
ii. 4 buah sakelar yang berfungsi toggle menggunakan button
iii. Dilengkapi dengan sebuah button exit
2. Dengan asumsi lampu 1 s/d 4 dikendalikan oleh port parallel pin 2 s/d 5 (nibble
low), Buatkan instruksi untuk mengaktifkan 4 buah fungsi sakelar lampu tersebut.
Salah satu program sakelar (untuk lampu 1) sbb:
implementation
{$R *.DFM}
procedure PortOut(Port : Word; Data : Byte); stdcall; external 'io.dll';
function PortIn (Port : Word) : byte; stdcall; external 'io.dll';
end.
3. Lengkapi program untuk fungsi saklar yang lain seperti program diatas,kita tinggal
mengubah button dan shape yang akan kita fungsikan pada program diatas.
4. Jalankan program dan catat hasil penggunaan fungsi sakelarnya sbb:
No.Sakelar Sakelar Sakelar Sakelar L1 L2 L3 L4
1 2 3 4
Klik 1 Klik 1 Klik 1 Klik 1
Klik 2 Klik 2 Klik 2 Klik 2
Klik 3 Klik 3 Klik 3 Klik 3
Klik 4 Klik 4 Klik 4 Klik 4
Klik 5 Klik 5 Klik 5 Klik 5
Klik 6 Klik 6 Klik 6 Klik 6
Klik 7 Klik 7 Klik 7 Klik 7
Klik 8 Klik 8 Klik 8 Klik 8
BAB IV
HASIL PERCOBAAN
A. membangun aplikasi untuk mengontrol lampu ruangan
Berdasarkan pembuatan sesuai langkah kerjanya didapatkan Hasil setelah menekan speed bar run
.
BAB V
ANALISA
end
else
begin //mematikan bit ke 0 (P2)
button.. .caption:='on';
button.. .hint:='Click for on';
data := data and $fe;
portout($378,data);
shape.. .visible:=false;
end;
end;
Lalu untuk mematikan lampu/menghilangkan shape 1,2,3,4 kita masukkan perintah
mematikan bit ke 0(P2) artinya io.dll memanggil kembali program yang sudah terinput tadi
lalu saat kita klik button maka captionnya menjadi on ini bergunaagar menandakan bahwa
lampu mati dan jika ingin menyalakan tinggal klik saja,lalu dengan bantuan .hint dan data $e
yang menyatakan nilai salah maka data akan keluar dari shape dan shape/lampu akan
menghilang dari layar dengan perintah false.
Program diatas kita gunakan dan masukkkan ke masing- masing button,hanya tinggal
mengubah shape/button keberapa yang kita fungsikan,pada program ini masing-masing button
kita gunakan untuk mengontrol masing-masing shape/lampu.
Pada program ini io.dll lah yang mengirim bit/data ke shape sehingga saat
dimasukkkan program data maka io.dl lah yang bertugas menginput/output data pada program
ini,penggunaaan io.dll ini memudahkan kita karena hanya perlu memanggilnya dengfan
program memasukkan bit atau mematikan bit.
BAB VI
KESIMPULAN
Kesimpulan
Setelah melaksanakan praktikum,praktikan mengambil kesimpulan:
- Port pada port paralel yang terdiri dari 8 bit dapat di gunakan sebagai kontrol untuk
menghidupkan lampu setelah di kirimkan data 1 atau 0.
- Untuk mematikan 1 lampu tetapi tidak menyinggung lampu lain, digunakan lah operator
AND.
- Jika suatu Rangkaian menggunakan prinsip common cathode lampu akan menyal jika diberi
logika 1.
- Jika suatu Rangkaian menggunakan prinsip common Anode lampu akan menyal jika diberi
logika 0.