Perancangan Rangkaian Mikrokontroler AT89S51 Perancangan Rangkaian Display Seven segmen

3.4. Perancangan Rangkaian Mikrokontroler AT89S51

Rangkaian mikrokontroler ini berfungsi sebagai pusat kendali dari seluruh rangkaian yang ada pada alat ini. Gambar rangkaian mikrokontroler AT89S51 ditunjukkan pada gambar 3.3 berikut ini : Gambar 3.3. Rangkaian Mikrokontroler AT89S51 Mikrokontroler ini memiliki 32 port IO, yaitu port 0, port 1, port 2 dan port 3. Pin 40 dihubungkan ke sumber tegangan 5 volt. Dan pin 20 dihubungkan ke ground. Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler dalam mengeksekusi suatu perintah tertentu. Pada pin 9 dihubungkan dengan sebuah kapasitor 10 uF yang dihubungkan ke positip dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua komponen ini berfungsi agar programpada mikrokontroler dijalankan beberapa saat setelah power aktip. Lamanya waktu antara aktipnya power pada IC mikrokontroler dan aktipnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Jika dihitung maka lama waktunya adalah : Universitas Sumatera Utara 10 10 1 det t R x C K x F m ik µ = =Ω = Jadi 1 mili detik setelah power aktip pada IC kemudian program aktip. Pin 17 yang merupakan P3.7 dihubungkan dengan transistor dan sebuah LED. Ini dilakukan hanya untuk menguji apakan rangkaian minimum mikrokontroller AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubug ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Namun setelah seluruh rangkaian disatukan, LED yang terhubung ke in 17 ini tidak digunakan lagi.

3.5. Perancangan Rangkaian Display Seven segmen

Untuk menampilkan angka dari setiap penekanan tombol, maka dibutuhkan sebuah display untuk menampilkannya. Pada alat ini, display yang digunakan adalah display seven segmen, yang terdiri dari 4 buah seven segmen, sehingga display ini dapat menampilkan 4 digit bilangan. Display seven segmen ini akan diaktipkan oleh IC 4094 yang merupakan IC serial to paralel serial in paralel out. Jadi data dimasukkan ke dalam IC ini dengan mengirimkan data serial. Keluaran dari IC 4094 ini langsung dihubungkan ke seven segmen, sehingga data serial yang diterima oleh input IC ini akan ditampilkan nilainya pada seven segmen. Universitas Sumatera Utara Rangkaian ini terhubung ke P3.0 dan P3.1, yang mempunyai fungsi khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada display seven segmen akan dapat dikendalikan oleh mikrokontroler AT89S51.

3. 6 Perancangan Rangkaian Password

Rangkaian password terdiri dari 13 tombol, dimana 10 tombol merupakan tombol angka, yaitu dari angka 0 sampai angka 9. Dan tiga tombol yang lainnya merupakan tombol setting, tombol run dan tombol untuk mengganti password. Rangkaian password ini dihubungkan dengan port 1 dan port 2. Pada port 1 terdapat 8 tombol dan pada port 2 terdapat 5 tombol. Dalam kondisi biasa, port 1 dan port 2 mendapatkan logika high 1, saat terjadi penekanan salah satu tombol, maka pin yang terhubung ke tombol tersebut akan terhubung ke ground, sehingga mengirimkan sinyal low 0. Perubahan kondisi dari high 1, menjadi low 0 inilah yang merupakan tanda adanya penekanan pada salah satu tombol. Seterusnya mikrokontroler akan menampilkan nilai dari tombol yang ditekan pada display seven segmen, kemudian membandingkannya dengan nilai password yang benar, jika benar maka pintu akan terbuka. Universitas Sumatera Utara Rangkaian keypad ditunjukkan pada gambar berikut ini : Tbl 1 Tbl 2 Tbl 3 Tbl A P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 Gambar 3.4 Rangkaian keypad Rangkaian keypad yang digunakan adalah rangkaian keypad yang telah ada dipasaran. Keypad ini terdiri dari 13 tombol yang hubungan antara tombol-tombolnya seperti tampak pada gambar di atas. Rangkaian ini dihubungkan ke port 2 mikrokontroler AT89S51. 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. Universitas Sumatera Utara Gambar 3.5 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. 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 P1.1 A T89S51 Tombol Setting Tombol 1 Tombol 2 Tombol 3 Tombol 4 Tombol 5 Tombol 6 Tombol 7 P1.2 A T89S51 P1.3 A T89S51 P1.4 A T89S51 P1.5 A T89S51 P1.6 A T89S51 Tombol 8 Tombol 9 Tombol 0 Tombol Ganti Tombol Run Universitas Sumatera Utara 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 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 Universitas Sumatera Utara 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 Ljmp Cek_Password2 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 Universitas Sumatera Utara 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. 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, Universitas Sumatera Utara 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 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. Universitas Sumatera Utara

3.7 Perancangan Rangkaian Driver Motor Stepper