Anda di halaman 1dari 6

BAB I

TUJUAN

1. Mengetahui penggunaan operator logika SHL dan SHR


2. Mengetahui penggunaan komponen Timer
3. Membangun aplikasi I/O variasi running led
BAB II
TEORI DASAR

SHL dan SHR

Ada bebeapa instruksi logika yang ada pada Delphi, diantaranya: SHL dan SHR. SHL
merupakan fungsi yang dapat merubah data (parameter) yang diberikan kepada fungsi tersebut
dengan cara menggeser posisi bit biner dari data tersebut 1 bit ke kiri atau lebih (tergantung
isntuksi). Sebaliknya SHR akan menggeser posisi bit biner dari data tersebut 1 bit atau lebih
ke kanan (tergantung instruksi). Contoh:
Bila variable Angka berisi nilai 127 desimal = FE hexadecimal = 11111110 biner dan
dilakukan instruksi SHL 1 terhadap data tersebut yaitu: Nilai := Nilai Shl 1 maka hasilnya
adalah Nilai berisi 11111100 biner. Jika ingin menggeser 2 bit ke kiri maka instruksinya
adalah Nilai := Nilai Shl 2. Demikian sebaliknya jika dilakukan instuksi SHR

TIMER

Time merupakan komponen pengatur waktu yang ada pada tab system dengan tab icon .
Gunakan Komponen Pengatur waktu ini untuk mencetuskan (mentrigger) suatu peristiwa
(event), untuk satu waktu ataupun berulang-ulang, setelah melalui suatu interval waktu yang
ditentukan. Hal ini dilakukan dengan menetapkan jumlah hitungan waktu (interval) pada
komponen waktu tersebut.

Tugas dari timer adalah untuk menetapkan suatu hitungan waktu yang mesti dilakui sebelum
event timer di trigger menggunakan properti interval. Untuk menghentikan event yang di
kerjakan oleh timer adalah dengan memberikan nilai false pada properti enabled dari
komponen timer.

Dengan menggunakan timer bersama fungsi logika SHL dan SHR dapat dilakukan
pengontrolan operasi dari led peraga seperti gambar 1 dengan berbagai variasi (running led).
P2

P3

P4

P5

P6

P7

P8

P9 Gnd

Gambar 1. Rangkaian Simulasi Running Led


BAB III
LANGKAH KERJA

A. Membangun aplikasi led hidup 1 buah dan berjalan ke kiri

1. Buatlah sebuah form sederhana yang berisi :


i. 2 komponen button (start dan stop)
ii. 1 komponen bkclose
iii. 1 komponen timer
2. Set property interval pada timer dengan nilai 1000 (1 detik) dan property
enabled false
3. Double click pada button start dan lengkapi program berikut:
procedure TForm1.ButtonStartClick(Sender: TObject);
begin
timer1.enabled:=true; // meng-aktifkan timer
end;
4. Double click pada button stop dan lengkapi program berikut:
procedure TForm1.ButtonStartClick(Sender: TObject);
begin
timer1.enabled:=false; // me-nonaktifkan timer
end;

5. Double click pada icon Timer dan lengkapi program menjadi sbb:

implementation
{$R *.DFM}
procedure PortOut(Port : Word; Data : Byte); stdcall; external 'io.dll';
function PortIn(Port : Word) : Byte;stdcall; external 'io.dll';
Var
Data : byte;
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.enabled:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);


begin
timer1.enabled:=false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);


begin
portout($378,data);
data := data shl 1;
if data=$00 then
data := $01;
end;

end.

6. Ganti nilai operand 1 pada shl sesuai table dan lengkapi isi tabel tersebut:
No Nilai Operand Geser Keadaan Lompatan Bit dan arahnya
.
1. 1
2. 2
3. 3
4. 4
5. 5
6. 6
7. 7
Buat tabel ke 2 untuk interval waktu 500 (0,5 detik)
B. Membangun aplikasi led hidup 1 buah dan berjalan ke kanan

Lakukan dengan cara yang sama dengan aplikasi A dengan mengganti fungsi SHL
dengan SHR.

Tugas:
Buat aplikasi untuk menggeakkan led dengan bergeser 1 bit ke kiri dan sesampai
diujung kembali bergerak ke kanan 1 bit hingga ujung kanan, dan berulang kembali.

Anda mungkin juga menyukai