Perancangan Program Water Level Indicator Seven Segment Sebagai Display Tingkat Ketinggian Cairan Berbasis Mikrokontroler AT89S51

Pada rangkaian di atas, output dari sensor diumpankan ke Op Amp, di Op Amp tegangan akan dikuatkan sesuai dengan yang diinginkan. Output Op Amp akan diinputkan ke basis dari transistor tipe NPN C945, ini berari untuk membuat transistor tersebut aktip maka tegangan yang keluar dari Op Amp harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika sensor terkena air.

3.10. Perancangan Program

;= = = = = = = = = = = = = = = =; ; water level indicator program ; ;= = = = = = = = = = = = = = = =; ; = = initialisasi angka = = ; bil0 equ 20h bil1 equ 0ech bil2 equ 18h bil3 equ 88h bil4 equ 0c4h bil5 equ 82h bil6 equ 02h Universitas Sumatera Utara ; = = = = = = = = = = = ; ; initialisasi port ; ; = = = = = = = = = = = ; ; = = isi = = ; key1 bit p1.0 key2 bit p1.1 key3 bit p1.2 key4 bit p1.3 key5 bit p1.4 key6 bit p1.5 ; = = kosong = = ; key7 bit p1.6 key8 bit p1.7 key9 bit p3.5 key10 bit p3.6 key11 bit p3.7 key12 bit p3.4 ; = = pompa = = ; pompa1 bit p2.1 pompa2 bit p2.0 Universitas Sumatera Utara ; = = sensor = = ; sensor1 bit p0.0 sensor2 bit p0.1 sensor3 bit p0.2 sensor4 bit p0.3 sensor5 bit p0.4 sensor6 bit p0.5 utama: clr pompa1 clr pompa2 call angka0 call delay call delay call delay jmp start mulai: start: jb key1,cek_key2 ; jika ada penekanan pada tombol 1pada keypet call angka1 ; tampilkan angka 1 pada seven segment call isi_level1 ; isi sampai level 1 call angka1 ; tampilkan angka 1 pada seven segment jmp mulai ; lompat ke alamat selanjutnya Universitas Sumatera Utara cek_key2: jb key2,cek_key3 ; jika ada penekanan pada tombol 2pada keypet call angka2 ; tampilkan angka 2 pada seven segment call isi_level2 ; isi sampai level 2 call angka2 ; tampilkan angka 2 pada seven segment jmp mulai ; lompat ke alamat selanjutnya cek_key3: jb key3,cek_key4 ; jika ada penekanan pada tombol 3 pada keypet call angka3 ; tampilkan angka 3 pada seven segment call isi_level3 ; isi sampai level 3 call angka3 ; tampilkan angka 3 pada seven segment jmp mulai ; lompat ke alamat selanjutnya cek_key4: jb key4,cek_key5 ; jika ada penekanan pada tombol 4 pada keypet call angka4 ; tampilkan angka 4 pada seven segment call isi_level4 ; isi sampai level 4 call angka4 ; tampilkan angka 4 pada seven segment jmp mulai ; lompat ke alamat selanjutnya cek_key5: jb key5,cek_key6 ; jika ada penekanan pada tombol 5 pada keypet call angka5 ; tampilkan angka 5 pada seven segment call isi_level5 ; isi sampai level 5 Universitas Sumatera Utara call angka5 ; tampilkan angka 5 pada seven segment jmp mulai ; lompat ke alamat selanjutnya cek_key6: jb key6,cek_key12 ; jika ada penekanan pada tombol 6pada keypet call angka6 ; tampilkan angka 6 pada seven segment call isi_level6 ; isi sampai level 6 call angka6 ; tampilkan angka 6 pada seven segment jmp mulai ; lompat ke alamat selanjutnya ; = = kosong = = ; cek_key12: jb key12,cek_key7 ; jika ada penekanan pada tombol 0 pada keypet call angka0 ; tampilkan angka 0 pada seven segment call kosong_level1 ; kosongkan sampai level 0 call angka0 ; tampilkan angka 0 pada seven segment jmp mulai ; lompat ke alamat selanjutnya cek_key7: jb key7,cek_key8 ; jika ada penekanan pada tombol 1pada keypet call angka1 ; tampilkan angka 1 pada seven segment call kosong_level1 ; kosongkan sampai level 1 call angka1 ; tampilkan angka 1 pada seven segment jmp mulai ; lompat ke alamat selanjutnya Universitas Sumatera Utara cek_key8: jb key8,cek_key9 ; jika ada penekanan pada tombol 2 pada keypet call angka2 ; tampilkan angka 2 pada seven segment call kosong_level2 ; kosongkan sampai level 2 call angka2 ; tampilkan angka 1 pada seven segment jmp mulai ; lompat ke alamat selanjutnya cek_key9: jb key9,cek_key10 ; jika ada penekanan pada tombol 3pada keypet call angka3 ; tampilkan angka 3 pada seven segment call kosong_level3 ; kosongkan sampai level 3 call angka3 ; tampilkan angka 3 pada seven segment jmp mulai ; lompat ke alamat selanjutnya cek_key10: jb key10,cek_key11 ; jika ada penekanan pada tombol 4pada keypet call angka4 ; tampilkan angka 4 pada seven segment call kosong_level4 ; kosongkan sampai level 4 call angka4 ; tampilkan angka 1 pada seven segment jmp mulai ; lompat ke alamat selanjutnya Universitas Sumatera Utara cek_key11: jb key11,balik_mulai ; jika ada penekanan pada tombol 5pada keypet call angka5 ; tampilkan angka 5 pada seven segment call kosong_level5 ; kosongkan sampai level 5 call angka5 ; tampilkan angka 5 pada seven segment jmp mulai ; lompat ke alamat selanjutnya balik_mulai: ljmp mulai ret ; = =pompa isi = =; isi_level1: setb pompa2 ; hidupkan pompa isi jb sensor1,isi_level1 ; isi hingga level 1 clr pompa2 ; matikan pompa isi ret ; kembali keawal Universitas Sumatera Utara isi_level2: setb pompa2 ; hidupkan pompa isi jb sensor2,isi_level2 ; isi hingga level 2 clr pompa2 ; matikan pompa isi ret ; kembali keawal isi_level3: setb pompa2 ; hidupkan pompa isi jb sensor3,isi_level3 ; isi hingga level 3 clr pompa2 ; matikan pompa isi ret ; kembali keawal isi_level4: setb pompa2 ; hidupkan pompa isi jb sensor4,isi_level4 ; isi hingga level 4 clr pompa2 ; matikan pompa isi ret ; kembali keawal isi_level5: setb pompa2 ; hidupkan pompa isi jb sensor5,isi_level5 ; isi hingga level 5 clr pompa2 ; matikan pompa isi ret ; kembali keawal Universitas Sumatera Utara isi_level6: setb pompa2 ; hidupkan pompa isi jb sensor6,isi_level6 ; isi hingga level 6 clr pompa2 ; matikan pompa isi ret ; kembali keawal ; = = pompa kosong = = ; kosong_level1: setb pompa1 ; hidupkan pompa kosong jnb sensor1,kosong_level1 ; kosongka hingga level 1 clr pompa1 ; matikan pompa kosong ret ; kembali keawal kosong_level2: setb pompa1 ; kembali keawal jnb sensor2,kosong_level2 ; kosongka hingga level 2 clr pompa1 ; matikan pompa kosong ret ; kembali keawal Universitas Sumatera Utara kosong_level3: setb pompa1 ; kembali keawal jnb sensor3,kosong_level3 ; kosongka hingga level 3 clr pompa1 ; matikan pompa kosong ret ; kembali keawal kosong_level4: setb pompa1 ; kembali keawal jnb sensor4,kosong_level4 ;kosongka hingga level 4 clr pompa1 ; matikan pompa kosong ret ; kembali keawal kosong_level5: setb pompa1 ; kembali keawal jnb sensor5,kosong_level5 ;kosongka hingga level 1 clr pompa1 ; matikan pompa kosong ret ; kembali keawal angka0: mov sbuf,bil0 ; tampilkam angka 0 pada seven segment jnb ti, ; lomapt kalamat tertentu clr ti ; hapus angka 0 ret ; kembali keawal Universitas Sumatera Utara angka1: mov sbuf,bil1 ; tampilkam angka 1pada seven segment jnb ti, ; lomapt kalamat tertentu clr ti ; hapus angka 1 ret ; kembali keawal angka2: mov sbuf,bil2 ; tampilkam angka 2 pada seven segment jnb ti, ; lomapt kalamat tertentu clr ti ; hapus angka 2 ret ; kembali keawal angka3: mov sbuf,bil3 ; tampilkam angka 3 pada seven segment jnb ti, ; lomapt kalamat tertentu clr ti ; hapus angka 3 ret ; kembali keawal angka4: mov sbuf,bil4 ; tampilkam angka 4 pada seven segment jnb ti, ; lomapt kalamat tertentu clr ti ; hapus angka 4 ret ; kembali keawal Universitas Sumatera Utara angka5: mov sbuf,bil5 ; tampilkam angka 5 pada seven segment jnb ti, ; lomapt kalamat tertentu clr ti ; hapus angka 5 ret ; kembali keawal angka6: mov sbuf,bil6 ; tampilkam angka 6 pada seven segment jnb ti, ; lomapt kalamat tertentu clr ti ; hapus angka 5 ret ; kembali keawal delay: mov r7,0ffh ; masukan nilai ff keregister 7 djnz r7, ; untuk mengurangi nilai register tertentu ret ; kembali keawal end Universitas Sumatera Utara BAB 4 PENGUJIAN RANGKAIAN DAN SENSOR

4.1. Pengujian Rangkaian Power Supplay PSU