HASIL DAN PEMBAHASAN
4.5 Rangkaian pengendali kipas
pengujian rangkaian pengendali kipas dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan mengaktipkan relay. Pada rangkaian ini relay digunakan untuk memutuskan hubungan kipas dengan sumber tegangan 12 volt, dimana hubungan yang digunakan adalah normally close(NO), dengan demikian jika relay aktip maka hubungan kipas ke sumber tegangan akan terhubung, sebaliknya jika relay tidak aktip, maka hubungan kipas ke sumber tegangan akan terputus.
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan kipas menyala, maka rangkaian ini telah berfungsi dengan baik.
Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroler pada P0.7
kemudian memberikan program sederhana pada mikrokontroler AT89S51. Program yang diberikan adalah sebagai berikut:
Setb P0.7
. . .
Perintah di atas akan memberikan logika high pada P0.0, sehingga P0.0 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga menjadi aktip dan kipas menyala. Berikutnya memberikan program sederhana untuk menonaktipkan relay. Programnya sebagai berikut:
Clr P0.7
. . .
Perintah di atas akan memberikan logika low pada P0.7, sehingga P0.7 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay juga menjadi tidak aktip dan kipas tidak menyala.
; = = = = = = = = = = = = =
= = = ;
; list.program LPG detector
;
; = = = = = = = = = = = = =
= = = ;
; = = initialisasi port =
= ;
rs bit p2.2 rw bit p2.1 en bit p2.0
kipas1 bit p0.0 kipas2 bit p0.1 alarm bit p0.2 intrupt bit p2.7
; = = = scan dulu = = = ; start:
clr alarm setb kipas1 setb kipas2
acall tunda_5detik clr kipas1
clr kipas2 clr alarm
;=tampil pesan pembuka=;
mov a,#38h
acall data_scan acall data_penampil acall polmed
acall kristina acall juli mulai:
clr Intrupt
acall tadc setb Intrupt
utama:
jb Intrupt,$
acall tadc mov a,p1 mov 62h,a mov a,62h
cjne
a,#255,udara_clean
acall clear_screen acall pesan1
setb kipas2 setb alarm
jmp utama udara_clean:
acall pesan2 clr kipas1 clr kipas2
clr alarm jmp utama polmed:
mov a,#'P'
acall kirim_data acall delay
mov a,#'O'
acall kirim_data acall delay
mov a,#'L'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#'T'
acall kirim_data acall delay
mov a,#'E'
acall kirim_data acall delay
mov a,#'K'
acall kirim_data acall delay
mov a,#'N'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#'K'
acall kirim_data acall delay
;= = = tulis baris bawah = =
=;
mov a,#0c2h acall data_scan
; = = = = = = = = = = = = =
= ; mov a,#'N'
acall kirim_data acall delay
mov a,#'E'
acall kirim_data acall delay
mov a,#'G'
acall kirim_data acall delay
mov a,#'E'
acall kirim_data acall delay
mov a,#'R'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#' '
acall kirim_data acall delay
mov a,#'M'
acall kirim_data acall delay
mov a,#'E'
acall kirim_data acall delay
mov a,#'D'
acall kirim_data acall delay
mov a,#'A'
acall kirim_data acall delay
mov a,#'N'
acall kirim_data acall delay
acall tunda_5detik acall clear_screen ret
kristina:
acall data_penampil2 acall delay
mov a,#'K'
acall kirim_data acall delay
mov a,#'R'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#'S'
acall kirim_data acall delay
mov a,#'T'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#'N'
acall kirim_data acall delay
mov a,#'A'
acall kirim_data acall delay
mov a,#' '
acall kirim_data acall delay
mov a,#'S'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#'R'
acall kirim_data acall delay
mov a,#'E'
acall kirim_data acall delay
mov a,#'G'
acall kirim_data acall delay
mov a,#'A'
acall kirim_data acall delay
mov a,#'R'
acall kirim_data acall delay
;= = = tulis baris bawah = =
=;
mov a,#0c0h acall data_scan
; = = = = = = = = = = = = =
= ;
mov a,#'N'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#'M'
acall kirim_data
acall delay mov a,#' '
acall kirim_data acall delay
mov a,#':'
acall kirim_data acall delay
mov a,#' '
acall kirim_data acall delay
mov a,#'0'
acall kirim_data acall delay
mov a,#'6'
acall kirim_data acall delay
mov a,#'2'
acall kirim_data acall delay
mov a,#'3'
acall kirim_data acall delay
mov a,#'0'
acall kirim_data acall delay
mov a,#'4'
acall kirim_data acall delay
mov a,#'1'
acall kirim_data acall delay
mov a,#'7'
acall kirim_data acall delay
mov a,#'9'
acall kirim_data acall delay
acall tunda_5detik acall clear_screen ret
juli:
acall data_penampil2 acall delay
mov a,#'J'
acall kirim_data acall delay
mov a,#'U'
acall kirim_data acall delay
mov a,#'L'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#'A'
acall kirim_data acall delay
mov a,#'N'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#' '
acall kirim_data acall delay
mov a,#'T'
acall kirim_data acall delay
mov a,#'A'
acall kirim_data acall delay
mov a,#'M'
acall kirim_data acall delay
mov a,#'B'
acall kirim_data acall delay
mov a,#'U'
acall kirim_data acall delay
mov a,#'N'
acall kirim_data acall delay
mov a,#'A'
acall kirim_data acall delay
mov a,#'N'
acall kirim_data acall delay
;= = = tulis baris bawah = =
=;
mov a,#0c0h acall data_scan
; = = = = = = = = = = = = =
= ;
mov a,#'N'
acall kirim_data acall delay
mov a,#'I'
acall kirim_data acall delay
mov a,#'M'
acall kirim_data
acall delay mov a,#' '
acall kirim_data acall delay
mov a,#':'
acall kirim_data acall delay
mov a,#' '
acall kirim_data acall delay
mov a,#'0'
acall kirim_data acall delay
mov a,#'6'
acall kirim_data acall delay
mov a,#'2'
acall kirim_data acall delay
mov a,#'3'
acall kirim_data acall delay
mov a,#'0'
acall kirim_data acall delay
mov a,#'4'
acall kirim_data acall delay
mov a,#'1'
acall kirim_data acall delay
mov a,#'7'
acall kirim_data acall delay
mov a,#'8'
acall kirim_data acall delay
acall tunda_5detik acall clear_screen ret
pesan1:
; = = = kirim karakter = = =
;
acall data_penampil2 mov b,#'P'
acall kirim_data acall delay
mov b,#'E'
acall kirim_data acall delay
mov b,#'R'
acall kirim_data acall delay
mov b,#'I'
acall kirim_data acall delay
mov b,#'N'
acall kirim_data acall delay
mov b,#'G'
acall kirim_data acall delay
mov b,#'A'
acall kirim_data acall delay
mov b,#'T'
acall kirim_data acall delay
mov b,#'A'
acall kirim_data acall delay
mov b,#'N'
acall kirim_data acall delay
acall tunda_5detik acall clear_screen mov b,#38h
acall data_scan acall data_penampil mov b,#'T'
acall kirim_data acall delay
mov b,#'e'
acall kirim_data acall delay
mov b,#'l'
acall kirim_data acall delay
mov b,#'a'
acall kirim_data acall delay
mov b,#'h'
acall kirim_data acall delay
mov b,#' '
acall kirim_data acall delay
mov b,#'t'
acall kirim_data acall delay
mov b,#'e'
acall kirim_data acall delay
mov b,#'r'
acall kirim_data acall delay
mov b,#'j'
acall kirim_data acall delay
mov b,#'a'
acall kirim_data acall delay
mov b,#'d'
acall kirim_data acall delay
mov b,#'i'
acall kirim_data acall delay
;= = = tulis baris bawah = =
=;
mov b,#0c0h acall data_scan
; = = = = = = = = = = = = =
= ; mov b,#'K'
acall kirim_data acall delay
mov b,#'e'
acall kirim_data acall delay
mov b,#'b'
acall kirim_data acall delay
mov b,#'o'
acall kirim_data acall delay
mov b,#'c'
acall kirim_data acall delay
mov b,#'o'
acall kirim_data acall delay
mov b,#'r'
acall kirim_data acall delay
mov b,#'a'
acall kirim_data acall delay
mov b,#'n'
acall kirim_data acall delay
mov b,#' '
acall kirim_data acall delay
mov b,#'G'
acall kirim_data acall delay
mov b,#'a'
acall kirim_data acall delay
mov b,#'s'
acall kirim_data acall delay
acall clear_screen ret
pesan2:
acall data_penampil3 acall delay
mov a,#'t'
acall kirim_data acall delay
mov a,#'i'
acall kirim_data acall delay
mov a,#'d'
acall kirim_data acall delay
mov a,#'a'
acall kirim_data acall delay
mov a,#'k'
acall kirim_data acall delay
mov a,#' '
acall kirim_data acall delay
mov a,#'a'
acall kirim_data acall delay
mov a,#'d'
acall kirim_data acall delay
mov a,#'a'
acall kirim_data acall delay
mov a,#' '
acall kirim_data acall delay
;= = = tulis baris bawah = =
=;
mov a,#0c1h acall data_scan
; = = = = = = = = = = = = =
= ;
mov a,#'k'
acall kirim_data acall delay
mov a,#'e'
acall kirim_data acall delay
mov a,#'b'
acall kirim_data acall delay
mov a,#'o'
acall kirim_data acall delay
mov a,#'c'
acall kirim_data acall delay
mov a,#'o'
acall kirim_data acall delay
mov a,#'r'
acall kirim_data acall delay
mov a,#'a'
acall kirim_data acall delay
mov a,#'n'
acall kirim_data acall delay
mov a,#' '
acall kirim_data acall delay
mov a,#'g'
acall kirim_data acall delay
mov a,#'a'
acall kirim_data acall delay
mov a,#'s'
acall kirim_data acall delay
ret
data_penampil:
mov a,#0ch
acall data_scan mov a,#06h
acall data_scan mov a,#83h
acall data_scan ret
data_penampil2:
mov a,#0ch
acall data_scan mov a,#06h
acall data_scan mov a,#80h
acall data_scan ret
data_penampil3:
mov a,#0ch
acall data_scan mov a,#06h
acall data_scan mov a,#83h
acall data_scan ret
data_scan:
mov p3,A clr rs clr rw setb en acall delay clr en
acall delay ret
kirim_data:
mov p3,A setb rs clr rw setb en acall delay clr en
acall delay ret
clear_screen:
mov a,#01h
acall data_scan ret
tunda_5detik:
mov r7,#140 td5dtk:
mov r6,#100 td5:
mov r5,#100 djnz r5,$
djnz r6,td5 djnz r7,td5dtk ret
delay:
mov r7,#100 dly:
mov r6,#200 djnz r6,$
djnz r7,dly ret
tadc:
mov r7,#80h adc: mov r6,#50h djnz r6,$
djnz r7,adc ret
end
TIDAK
YA OFF Alarm
ON Kipas
Tunda 5 detik
OFF Alarm &
Kipas
Tampil pesan
"POLMED"
Pesan
"JULI"
Pesan
"KRISTINA"
Ambil data ADC
Tampil pesan
"AMAN"
OFF Kipas Matikan Alarm
Tampil pesan
"Peringatan"
ON Alarm ON Kipas Ada GAS ???
START