SOFTWARE PENGAMAN KEBAKARAN BERBASIS PC

<~~~DENGAN BORLAND DELPHI 5.0~~~>

 

Penting ! Sebelum Anda mencoba program dibawah ini, diharapkan Anda sudah memahami seluruh pembahasan pada homepage ini ...

 

LISTING PROGRAM DENGAN BORLAND DELPHI 5.0

Bentuk Formnya dapat melihat gambar berikut :

Silahkan beri nama masing-masing komponen pada form diatas sesuai dengan listing program dibawah ini.

( Jika bingung silahkan dikira-kira sendiri ya ... )

 

Programnya adalah :

unit Pendeteksi_Kebakaran_pas;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Tabnotbk, ExtCtrls, Grids, Calendar, Menus, Spin;

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
CheckBox1: TCheckBox;
GroupBox5: TGroupBox;
Edit3: TEdit;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
GroupBox6: TGroupBox;
Edit2: TEdit;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label24: TLabel;
MainMenu1: TMainMenu;
File1: TMenuItem;
Exit2: TMenuItem;
GroupBox4: TGroupBox;
Label23: TLabel;
Edit1: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Button1: TButton;
Edit8: TEdit;
Label1: TLabel;
Label2: TLabel;


function inport(address:word):byte;
procedure outport(address:word;dataport:byte);
procedure delay(tunda:longint);
procedure aktifadc1;
procedure aktifadc2;
procedure CheckBox1Click(Sender: TObject);
procedure Exit2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

function Tform1.inport(Address:word):byte;
asm
push dx
mov dx,address
in al,dx
pop dx
end;

procedure Tform1.outport(address:word;dataport:byte);
asm
push ax
push dx
mov al,dataport
mov dx,address
out dx,al
pop dx
pop ax
end;

procedure Tform1.delay(tunda:longint);
var waktu: longint;
begin
waktu := GetTickCount;
repeat
Application.ProcessMessages;
until ((GetTickCount-waktu) >= tunda)
end;

procedure Tform1.aktifadc1;
begin
outport($302,$3);delay(10);outport($302,$2);delay(10);
outport($302,$3);delay(10);outport($302,$1);delay(10);
end;

procedure Tform1.aktifadc2;
begin
outport($302,$7);delay(10);outport($302,$6);delay(10);
outport($302,$7);delay(10);outport($302,$5);delay(10);
end;

{=== PROGRAM UTAMA DIMULAI DARI SINI ===}

procedure TForm1.CheckBox1Click(Sender: TObject);

var
s, k, x, y, sa, sb, aa, ab : integer;
s1, s2, s3, k1, k2, k3 : real;

label adc1, adc2, on1, on2, on3, on4, on5, on6, status, akhir, tutup ;

begin

sa := strtoint(edit4.text);
sb := strtoint(edit5.text);
aa := strtoint(edit6.text);
ab := strtoint(edit7.text);

adc1:
if checkbox1.checked = false then goto tutup;
aktifadc1;
s1 := inport($301);
s2 := (s1 * 0.02);
s3 := (s2 / 0.01);
s:=trunc(s3);
edit1.text := inttostr(s);

if (s<sb) then goto on1;
if (s>=sb) and (s<=sa) then goto on2;
if (s>sa) then goto on3;

adc2:
aktifadc2;
k1 := inport($301);
k2 := (k1 * 0.02);
k3 := (k2 / 0.1);
k:=trunc(k3);
edit2.text := inttostr(k);

if (k<ab) then goto on4;
if (k>=ab) and (k<=aa) then goto on5;
if (k>aa) then goto on6;

on1 : x:=$04; edit3.text:= 'Aman' ; goto adc2;
on2 : x:=$11; edit3.text:= 'Hati-hati!'; goto adc2;
on3 : x:=$09; edit3.text:= 'Berbahaya!'; goto adc2;

on4 : y:=$20; edit8.text:= 'Aman' ;goto akhir;
on5 : y:=$81; edit8.text:= 'Hati-hati!' ;goto akhir;
on6 : y:=$41; edit8.text:= 'Berbahaya!' ;goto akhir;

akhir:
x:= x or y;
if (x=$91) then outport($300,$93);
if (x<>$91) then outport($300,x);
goto adc1;

tutup:
close ;
end;

procedure TForm1.Exit2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Application.MessageBox ('Hubungkan PortB PPI 8255 anda ke jalur data dari ADC 0808, lalu PortC ke jalur pengaktifan ADC, kemudian hubungkan PortA ke 8led. Masukkan keluaran sensor suhu ke Vin0 dan sensor asap ke Vin1 kemudian lihat perubahan yang terjadi pada 8led tersebut.',
'iNfOrMaSi',
mb_ok or mb_iconinformation);
end;

initialization
asm
push ax
push dx
mov al,$82
mov dx,$303
out dx,al
pop dx
pop ax
end;

end.


Seluruh program diatas Insya Alloh dijamin jalan. Jika tidak jalan maka Anda dapat mengecek seluruh rangkaian hardware yang berhubungan, seperti pada PPI8255-nya ataupun ADC0808-nya. Anda dapat mendownload gratis program tester PPI8255 dan ADC0808 disini. O,ya...Sebelumnya diharapkan Anda sudah memahami seluruh pembahasan pada homepage ini. Selamat Mencoba ! Jika berhasil jangan lupa kirim saya oleh-oleh dan hadiahnya ya ...


.:: OPI-Homepage ::.