
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 ::.