Frengky Saut P. Sinurat : Perancangan Ranggkaian Running Text Dalam Penggunaan Pintu Otomatis Berbasis Mikrokontroler AT89S51, 2007.
USU Repository © 2009
42 1
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah
130.059
detik atau 0,
130059
detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroller AT89S51 telah bekerja dengan normal.
4.2 Rangkaian Password
Untuk membuka pintu, maka password yang diberikan harus benar, jika tidak benar, maka pintu tidak akan terbuka. Rangkaian password ini terdiri dari 13 tombol, seperti
gambar di bawah ini :
P1.7 A T89S51 P2.4 A T89S51
P2.3 A T89S51 P2.2 A T89S51
P2.1 A T89S51 P2.0 A T89S51
P1.0 A T89S51 Tombol Setting
Tombol 1 Tombol 2
Tombol 3 Tombol 4
Tombol 5 Tombol 6
Frengky Saut P. Sinurat : Perancangan Ranggkaian Running Text Dalam Penggunaan Pintu Otomatis Berbasis Mikrokontroler AT89S51, 2007.
USU Repository © 2009
43
Gambar 4.1 Rangkaian Password
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
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.
Frengky Saut P. Sinurat : Perancangan Ranggkaian Running Text Dalam Penggunaan Pintu Otomatis Berbasis Mikrokontroler AT89S51, 2007.
USU Repository © 2009
44 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
Frengky Saut P. Sinurat : Perancangan Ranggkaian Running Text Dalam Penggunaan Pintu Otomatis Berbasis Mikrokontroler AT89S51, 2007.
USU Repository © 2009
45 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,
Frengky Saut P. Sinurat : Perancangan Ranggkaian Running Text Dalam Penggunaan Pintu Otomatis Berbasis Mikrokontroler AT89S51, 2007.
USU Repository © 2009
46 Acall Tunda
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.
Frengky Saut P. Sinurat : Perancangan Ranggkaian Running Text Dalam Penggunaan Pintu Otomatis Berbasis Mikrokontroler AT89S51, 2007.
USU Repository © 2009
47
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
Frengky Saut P. Sinurat : Perancangan Ranggkaian Running Text Dalam Penggunaan Pintu Otomatis Berbasis Mikrokontroler AT89S51, 2007.
USU Repository © 2009
48 kedua. Kemudian program akan memasukkan nilai
bil1 ke alamat 60h agar tampil
di 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.3 Rangkaian Penampil Nilai Password