mov sbuf,63h jnb ti,
clr ti ret
Program di atas akan menampilkan nilai 1234 pada display seven segmen. Dan nilai berapapun yang diisikan ke alamat 60h, 61h, 62h dan 63h akan
ditampilkan pada display seven segmen.
4.4 Pengujian Rangkaian Password
Untuk membuka pintu, maka password yang diberikan harus benar sesuai dengan programnya supaya pintu dapat terbuka. Jika tidak benar, maka pintu tidak akan
terbuka. Rangkaian password ini terdiri dari 13 tombol, dimana tombol 1 sampai dengan 9 untuk penekanan password yang dapat diganti jika pemilik merasa kurang
tepat dengan password sebelumnya dengan mengganti nilai pada program. Angka yang lain untuk setting dan runnya yang ditekan setelah penekanan kode sehingga
pintu dapat terbuka.
Rangkaian password ini terhubung ke Port 2 dan port 1, dimana P1.7 merupakan tombol setting, P2.4 merupakan tombol 1, P2.3 merupakan tombol 2, P2.2
merupakan tombol 3, P2.1 merupakan tombol 4, P2.0 merupakan tombol 5, P1.0 merupakan tombol 6, P1.1 merupakan tombol 7, P1.2 merupakan tombol 8, P1.3
merupakan tombol 9, P1.4 merupakan tombol 0, P1.5 merupakan tombol untuk mengganti password, P1.6 merupakan tombol Run. Jika tombol setting ditekan maka
Universitas Sumatera Utara
P1.7 akan terhubung ke ground, menyebabkan P1.7 mendapatkan sinyal low. Sinyal low inilah yang merupakan indikasi bahwa ada penekanan pada tombol setting. Cara
kerja yang sama juga berlaku pada ketiga belas tombol lainnya.
Program untuk mengetahui penekanan pada tombol password adalah sebagai berikut :
Tbl_Setting Bit P1.7 Tbl_1 Bit P2.4
Tbl_2 Bit P2.3 Tbl_3 Bit P2.2
Tbl_4 Bit P2.1 Tbl_5 Bit P2.0
Tbl_6 Bit P1.0 . . . . .
Tbl_Ganti Bit P1.5 Tbl_Run Bit P1.6
Di awal program dibuat inisialisasi tombol, dimana inisialisasi ini akan berguna untuk mempermudah mengingat hubungan tiap-tiap tombol dengan pin pada mikrokontroler.
Jb Tbl_Setting, Perintah di atas akan merupakan perintah untuk menunggu penekanan pada tombol
setting dan akan terus menunggu sampai ada penekanan pada tombol setting.
mov 60h,Bil0 mov 61h,Bil0
mov 62h,Bil0
Universitas Sumatera Utara
mov 63h,Bil0 Acall Display
Perintah-perintah di atas akan memasukkan nilai 0 ke alamat 60h yang merupakan alamat untuk mengisi nilai ribuan, memasukkan nilai 0 ke alamat 61h
yang merupakan alamat untuk mengisi nilai ratusan, memasukkan nilai 0 ke alamat 62h yang merupakan alamat untuk mengisi nilai puluhan dan memasukkan nilai nol ke
alamat 63h yang merupakan alamat untuk mengisi nilai satuan. Sehingga dengan demikian akan tampil pada display nilai 0000.
Cek_no11: Jb Tbl_1,Cek_no21
mov 70h,1 mov 60h,bil1
Acall Display Jnb Tbl_1,
Acall Tunda Ljmp Cek_Password2
Cek_no21: Jb Tbl_2,Cek_no31
mov 70h,2 mov 60h,bil2
Acall Display Jnb Tbl_2,
Acall Tunda
Universitas Sumatera Utara
Ljmp Cek_Password2 . . . .
. . . . . . . . Dst
Program di atas akan mengecek penekanan pertama dari masing-masing tombol password, yaitu penekanan pada tombol 1, tombol 2, tombol 3 sd tombol 0.
Jika tidak ada penekanan pada tombol 1, maka program akan mengecek tombol 2, jika tombol 2 juga tidak ditekan, maka program akan mengecek tombol 3, dan seterusnya.
Jika terjadi penekanan pada tombol 1, maka program akan memasukkan nilai 1 ke alamat 70h. Nilai ini yang nantinya akan dibandingkan dengan nilai password yang
benar untuk nilai password pertama. Kemudian program akan memasukkan nilai bil1
ke alamat 60h agar tampil di display angka 1. Selanjutnya program akan melanjutkan untuk mengecek penekanan kedua dari tombol password
Namun jika tombol yang ditekan adalah tombol 2, maka program akan memasukkan nilai 2 ke alamat 70h. Nilai ini yang nantinya akan dibandingkan
dengan nilai password yang benar untuk nilai password pertama. Kemudian program akan memasukkan nilai bil2 ke alamat 60h agar tampil di display angka 2.
Selanjutnya program akan melanjutkan untuk mengecek penekanan kedua dari tombol password
Demikian juga halnya yang terjadi jika tombol yang ditekan adalah tombol 3, 4, 5 dan seterusnya.
Universitas Sumatera Utara
Cek_Password2: Jb Tbl_1,Cek_no22
mov 71h,1 mov 61h,bil1
Acall Display1 Jnb Tbl_1,
Acall Tunda Ljmp Cek_Password3
Cek_no22: Jb Tbl_2,Cek_no32
mov 71h,2 mov 61h,bil2
Acall Display1 Jnb Tbl_2,
Acall Tunda Ljmp Cek_Password3
Program di atas akan mengecek penekanan password kedua dari masing- masing tombol password. Sama seperti sebelumnya, jika tidak ada penekanan pada
tombol 1, maka program akan mengecek tombol 2, jika tombol 2 juga tidak ditekan, maka program akan mengecek tombol 3, dan seterusnya. Jika terjadi penekanan pada
tombol 1, maka program akan memasukkan nilai 1 ke alamat 70h. Nilai ini yang nantinya akan dibandingkan dengan nilai password yang benar untuk nilai password
kedua. Kemudian program akan memasukkan nilai bil1 ke alamat 60h agar tampil di
Universitas Sumatera Utara
display angka 1. Selanjutnya program akan melanjutkan untuk mengecek penekanan ketiga dari tombol password
Namun jika tombol yang ditekan adalah tombol 2, maka program akan memasukkan nilai 2 ke alamat 70h. Nilai ini yang nantinya akan dibandingkan
dengan nilai password yang benar untuk nilai password kedua. Kemudian program akan memasukkan nilai bil2 ke alamat 60h agar tampil di display angka 2.
Selanjutnya program akan melanjutkan untuk mengecek penekanan ketiga dari tombol password
Demikian juga halnya yang terjadi jika tombol yang ditekan adalah tombol 3, 4, 5 dan seterusnya. Dan juga penekanan untuk penekanan ketiga dan keempat dari
tombol password.
4.5 Pengujian Rangkaian Sensor Buka Pintu dan Tutup Pintu