Rabu, 29 Juni 2011

Alarm System Fire Detection Menggunakan VB 6.0 Berbasis Mikro Controler AT89S52


1. Blok Diagram
Rancangan tampilan dengan menggunakan mikrokontroler AT89S52 pada intinya menggunakan tiga bagian utama yaitu: indikator, mikrokontroler AT89S52 dan tampilan sebagai media penunjuk. Rancangan ini berfungsi sebagai alat tambahan penunjukan ruangan yang lebih spesifik, apabila terjadi kebakaran disalah satu ruangan tampilan yang terdapat pada monitor akan menunjukkan ruangan dan nama ruangan yang terbakar. 
2. IC Mikrokontroler AT89S52
Mikrokontroler AT89S52 merupakan mikrokomputer CMOS 8 bit dengan 8 Kbyte Flash Programmable and Erasable Read Only Memory. Mikrokontroler ini berteknologi memori non volatile kerapatan tinggi dari Atmel yang kompatibel dengan mikrokontroler standar industri MCS-51 baik pin kaki IC maupun set instruksinya serta harganya yang cukup murah.
AT89S52 mempunyai empat buah port yang masing-masing mempunyai 8 jalur data, yaitu P0, P1, P2 dan P3. Tersedia dalam beberapa macam bentuk fisik, antara lain; TQFP, PLCC, PDIP 40 Kaki, dan PDIP 42 kaki. Pada IC mikrokontoler diatas, penulis mengambil bentuk fisik yang secara umum sering dipergunakan, yaitu PDIP 40 kaki.  Fungsi dari tiap-tiap kaki AT89S52 adalah sebagai berikut :
  • VCC (40)
Tegangan catu daya (5 Volt)
  • GND (20)
Ground
  • • Port 0 (39-32)
Port 0 merupakan sebuah port 8 bit, bersifat open drain dan dapat digunakan untuk masukan dan keluaran. Port 0 dapat digunakan sebagai high input impedance, ketika logika 1 diberikan ke kaki port tersebut. P0 mempunyai internal pull-ups.
  • • Port 1 (1-8)
Port ini merupakan 8 bit jalur I/O dengan internal pull-ups. Keluaran Port 1 dapat dihubungkan ke empat buah TTL. Port 1 juga dapat menerima alamat dan data selama penulisan dan pembacaan flash.
  • • Port 2 (21-28)
Port ini merupakan 8 bit jalur I/O, dengan internal pull-ups. Keluaran Port 2 dapat dihubungkan ke empat buah TTL. Port 2 mengeluarkan alamat data tinggi selama pengambilan data menuju external memory. Selama pengaksesan ke external memorymenggunakan 16 bit alamat (MOVX @DPTR).
  • • Port 3 (10-17)
Mempunyai 8 bit saluran I/O dengan internal pull-ups. Port 3 mempunyai fungsi sampingan, yaitu
Tabel 1. Fasilitas Spesial Port 3 AT89S52
Port PinFungsi sampingan
P3.0RXD (serial input port)
P3.1TXD (serial output port)
P3.2INT0 (external interrupt 0)
P3.3INT1 (external interrupt 1)
P3.4T0 (timer 0 external input)
P3.5T1 (timer 1 external input)
P3.6WR (external data memory write strobe)
P3.7RD (external data memory read strobe)
  • • RST (9)
Aktif selama dua siklus pada kondisi high
  • • ALE/PROG(3)
Pada pelaksanaan instruksi.ALE, digunakan untuk menahan alamat external memoryakan aktif hanya selama perintah MOVX atau MOVC.
  • • PSEN (29)
Program Store Enable (PSEN), berfungsi untuk mengesekusi external memory.
  • • EA/VPP (31)
External Access Enable (EA). Mikrokontroler akan menjalankan instruksi-instruksi yang berada pada memory external yang terletak pada alamat 0000H-FFFFH pada kondisilow. Dan menjalankan instruksi internal saat kaki ini diberi high.
  • • XTAL 2 (18)
Sebagai masukan dari oscilator
  • • XTAL 1 (19)
Sebagai keluaran dari oscilator
Mikrokontroler AT89S52 memiliki lima teknik pengalamatan, yang menunjukkan cara pengisian suatu lokasi memori, yaitu:
  1. 1). Pengalamatan Langsung
Teknik pengalamatan langsung dilakukan dengan memberikan nilai ke suatu registersecara langsung. Untuk melaksanakan teknik pengalamatan langsung digunakan tanda #.
Contoh instruksi :
MOV A,#25H (Mengisi akumulator dengan bilangan 25H).
  1. 2). Pengalamatan Tak Langsung
Teknik pengalamatan tidak langsung menunjuk ke sebuah register yang berisi lokasi alamat memori yang akan digunakan dalam operasi. Lokasi yang sebenarnya tergantung pada isi register saat perintah dijalankan. Untuk melaksanakan pengalamatan tidak langsung digunakan simbol @.
Contoh instruksi:
ADD A,@R1 (menambahkan isi RAM yang lokasinya ditunjukkan   oleh register R1 ke akumulator).
3). Pengalamatan Bit
Teknik pengalamatan bit adalah penunjukkan alamat lokasi bit baik dalam RAM internalatau perangkat keras. Untuk melakukan pengalamatan bit digunakan simbol titik (.), misalnya FLAGS.3, 40.5, 21H.5, dan ACC.7.
Contoh instruksi:
SETB TR1 (mengaktifkan TR1atau timer 1 on).
  1. 4). Pengalamatan data
Terjadi pada perintah saat nilai operand merupakan alamat dari data yang akan diproses.
Contoh instruksi:
Mov  A, 00100010b (isi akumulator dengan data yang ada)
  1. 5). Pengalamatan kode
Merupakan pengalamatan yang terjadi ketika operand berfungsi sebagai alamat dari perintah JUMP dan CALL.
3. Rangkaian Penguat Sensor
Rangkaian ini terdiri dari empat buah LED sebagai pemberi sinyal pada LDR serta sebagai indikator dan empat buah LDR (Light Emited Diode) yang berada ditiap-tiap ruangan / gedung dan satu buah potensio meter 20 KΩ yang berfungsi sebagai pengatur sensitifitas sensor tersebut.
Rangakaian ini berfungsi sebagai potensio logika untuk masukan rangkaian ke mikrokontroler AT89S52. Dengan cara apabila potensio meter ini di putar ke kanan searah jarum jam, maka potensio ini akan menghasilkan tegangan yang apabila tegangan tersebut melebihi tegangan yang sudah diatur sensitifitasnya oleh potensio meter, karena tegangan yang dihasilkan oleh sensor sangat kecil  maka digunakan IC LM 324 yang berfungsi sebagai comparator tegangan yang dihasilkan dari sensor tersebut.
Indikator ini akan terhubung ke Port 0 mikrokontroler yaitu:
    • • Port 0.0 menunjukan nama ruangan/lokasi Ruang 1
    • • Port 0.1 menunjukan nama ruangan/lokasi Ruang 2
    • • Port 0.2 menunjukan nama ruangan/lokasi Ruang 3
    • • Port 0.3 menunjukan nama ruangan/lokasi Ruang 4
Pin 0 sampai pin 3 yang dijadikan sebagai masukan berlogika satu (High), dan pin 4 sampai pin 8 tidak digunakan maka port ini dihubungkan ke ground.
4. Rangkaian Kontrol
Sistem kontrol pada rangkaian ini menggunakan mikrokontroler AT89S52 yang merupakan tempat pengolahan data dan pengoperasian alat. Mikrokontroler ini mempunyai delapan buah port, tetapi disini hanya digunakan empat buah port yang dipakai sebagai simulasi. Empat buah port ini digunakan untuk menampung masukan atau keluaran data.
Tabel 2. Data Inputan Mikrokontroler
NOINPUT BINERINPUT HEX
1.0000.1111A
2.0000.1110B
3.0000.1101C
4.0000.1100D
5.0000.1011E
6.0000.1010F
7.0000.1001G
8.0000.1000H
NOINPUTAN BINERINPUTAN HEX
9.0000.0111I
10.0000.0110J
11.0000.0101K
12.0000.0100L
13.0000.0011M
14.0000.0010N
15.0000.0001N
160000.0000O
5. Tampilan
Pada tampilan ini digunakan bahasa pemograman Visual Basic 6.0 sebagai penampil lokasi kebakaran yang dikirim oleh sensor. Bagian ini berfungsi untuk menampilkan status sensor, apakah sensor dalam kondisi normal atau dalam kondisi alarm.
6. Program Penguji
Untuk dapat member jalur hubungan antara PC dengan dunia luar diperlukan suatu interface, dimana interface tersebut dijalankan dengan bantuan sebuah program, sehingga hanya dengan program yang diberikan tersebut suatu interface dapat bekerja  sesuai rencana.
PROGRAM ASSEMBLY:
MOV A,SBUF
CLR RI
MOV A,#’0′
CLR TI
MOV SBUF,A
CEK_0:
JNB TI,CEK_0
MOV A,P0
CJNE A,#0F0H,CEK_1
MOV A,#’a’
CLR TI
MOV SBUF,A
CEK_1:
JNB TI,CEK_1
CJNE A,#0F1H,CEK_2
MOV A,#’b’
CLR TI
MOV SBUF,A
CEK_2:
JNB TI,CEK_2
CJNE A,#0F2H,CEK_3
MOV A,#’c’
CLR TI
MOV SBUF,A
CEK_3:
JNB TI,CEK_3
CJNE A,#0F3H,CEK_4
MOV A,#’d’
CLR TI
MOV SBUF,A
CEK_4:
JNB TI,CEK_4
CJNE A,#0F4H,CEK_5
MOV A,#’e’
CLR TI
MOV SBUF,A
CEK_5:
JNB TI,CEK_5
CJNE A,#0F5H,CEK_6
MOV A,#’f’
CLR TI
MOV SBUF,A
CEK_6:
JNB TI,CEK_6
CJNE A,#0F6H,CEK_7
MOV A,#’g’
CLR TI
MOV SBUF,A
CEK_7:
JNB TI,CEK_7
CJNE A,#0F7H,CEK_8
MOV A,#’h’
CLR TI
MOV SBUF,A
CEK_8:
JNB TI,CEK_8
CJNE A,#0F8H,CEK_9
MOV A,#’i’
CLR TI
MOV SBUF,A
CEK_9:
JNB TI,CEK_9
CJNE A,#0F9H,CEK_10
MOV A,#’j’
CLR TI
MOV SBUF,A
CEK_10:
JNB TI,CEK_10
CJNE A,#0FAH,CEK_11
MOV A,#’k’
CLR TI
MOV SBUF,A
CEK_11:
JNB TI,CEK_11
CJNE A,#0FBH,CEK_12
MOV A,#’l’
CLR TI
MOV SBUF,A
CEK_12:
JNB TI,CEK_12
CJNE A,#0FCH,CEK_13
MOV A,#’m’
CLR TI
MOV SBUF,A
CEK_13:
JNB TI,CEK_13
CJNE A,#0FDH,CEK_14
MOV A,#’n’
CLR TI
MOV SBUF,A
CEK_14:
JNB TI,CEK_14
CJNE A,#0FEH,CEK_15
MOV A,#’o’
CLR TI
MOV SBUF,A
CEK_15:
JNB TI,CEK_15
CJNE A,#0FFH,CEK_16
MOV A,#’p’
CLR TI
MOV SBUF,A
CEK_16:
JNB TI,CEK_16
CLR TI
MOV A,R1
MOV SBUF,A
RETI
END
PROGRAM VISUAL BASIC :
Public Sub Get_Connect()
On Error GoTo Handle_Error
MSComm1.PortOpen = True
Mn_Dis.Checked = False
Mn_Dis.Enabled = True
Mn_Con.Checked = True
Mn_Con.Enabled = False
Timer4.Enabled = True
Timer3.Enabled = True
StatusBar1.Panels(“Status”).Text = “Status : On Line”
StatusBar1.Panels(“Setting”).Text = “Setting : COM” & MSComm1.CommPort & “,” & MSComm1.Settings
Exit Sub
Handle_Error:
MsgBox Error$, 48, “Konfirmasi Kesalahan Setting”
End Sub
Program diatas untuk mengaktifkan komponen MSComm1 pada form main, agar dapat berfungsi untuk membuka port serial komputer dan mengatur karakteristik komunikasi port serial tersebut.untuk menjalankan fungsinya, maka property pada MSComm1 harus diatur dalam kondisi:
    • • Mempunyai kecepatan komunikasi data sebesar 9600 bit data per detik.
    • • Tidak menggunakan mode parity bit (n).
    • • Kemampuan komunikasi dengan 8 bit data.
    • • Menggunakan 1 stop bit untuk mengakhiri suatu komunikasi data.
If Text1.Text = “a” Then
Shp_Area1.BackColor = &HC0C0C0
Shp_Area2.BackColor = &HC0C0C0
Shp_Area3.BackColor = &HC0C0C0
Shp_Area4.BackColor = &HC0C0C0
Shp_Normal(0).BackColor = vbGreen
Shp_Normal(1).BackColor = vbGreen
Shp_Normal(2).BackColor = vbGreen
Shp_Normal(3).BackColor = vbGreen
Shp_Alarm(0).BackColor = vbWhite
Shp_Alarm(1).BackColor = vbWhite
Shp_Alarm(2).BackColor = vbWhite
Shp_Alarm(3).BackColor = vbWhite
Lbl_ASFD.BackColor = vbWhite
Program diatas berfungsi untuk menunjukan kondisi sensor asap pada saat normal di beri tanda dengan warna hijau yang berarti bahwa tidak ada kebakaran di semua ruangan.
Private Sub Command1_Click()
Timer1.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Form_Warning.Visible = False
Text1.Text = “”
Dim a, b As Integer
For a = 0 To 3
Shp_Alarm(a).BackColor = vbWhite
Next a
For b = 0 To 3
Shp_Normal(b).BackColor = vbWhite
Next b
Shp_Area1.BackColor = &HC0C0C0
Shp_Area2.BackColor = &HC0C0C0
Shp_Area3.BackColor = &HC0C0C0
Shp_Area4.BackColor = &HC0C0C0
Lbl_ASFD.BackColor = vbBlack
Call Mn_Dis_Click
End Sub
Program diatas berfungsi sebagai reset yaitu mematikan alarm dan mengembalikan kondisi normal.
◄ Newer Post Older Post ►