Pengujian Rangkaian Mikrokontroller AT89S52 Pengujian Rangkaian Display Seven Segmen

agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan LM7805CT tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda. Tegangan ini digunakan untuk mensupplay tegangan ke kipas yang butuh tegangan 12 volt.

4.2 Pengujian Rangkaian Mikrokontroller AT89S52

Untuk mengetahui apakah rangkaian mikrokontroller AT89S52 telah bekerja dengan baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroller AT89S52. Programnya adalah sebagai berikut: Loop: Setb P0.0 Acall tunda Clr P0.0 Acall tunda Sjmp Loop Tunda: Universitas Sumatera Utara Mov r7,255 Tnd: Mov r6,255 Djnz r6, Djnz r7,tnd Ret Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0 selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus menerus. Perintah Setb P0.0 akan menjadikan P0.0 berlogika high yang menyebabkan LED menyala. Acall tunda akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0 berlogika low yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip. Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut : Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin membutuhkan waktu = 12 1 12 MHz = mikrodetik. Mnemonic Siklus Waktu Eksekusi MOV Rn,data 2 2 x 1 μd = 2 μd DJNZ 2 2 x 1 μd = 2 μd RET 1 1 x 1 μd = 1 μd Universitas Sumatera Utara Tunda: mov r7,255 2 Tnd: mov r6,255 2 djnz r6, 55 x 2 = 510 x 255 = 130.054 = 130.058 = 130.059 μd djnz r7,loop3 2 djnz r2,loop8 2 ret 130.059 μdetik atau 0,130059 detik dan dapat dibulatkan menjadi 0,13 detik. Jika program tersebut diisikan ke mikrokontroller AT89S52, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroller AT89S52 telah bekerja dengan baik.

4.3 Pengujian Rangkaian Display Seven Segmen

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian mikrokontroler, kemudian memberikan data tertentu pada port serial dari mikrokontroler. Seven segmen yang digunakan adalah common anoda, dimana semen akan menyala jika diberi logika 0 dan sebaliknya segmen akan mati jika diberi logika 1. Universitas Sumatera Utara Gambar 4.2 Kombinasi Rangkaian Mikrokontroler, ADC dan Display Seven Segmen Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk menampilkan angka desimal adalah sebagai berikut: Angka Data yang dikirim 1 0ECH 2 18H 3 88H 4 0C4H 5 82H 6 02H 7 0E8H 8 0h 9 80H 20H Universitas Sumatera Utara Program yang diisikan pada mikrokontroler untuk menampilkan nilai-nilai tersebut adalah sebagai berikut: bil0 equ 20h bil1 equ 0ech bil2 equ 18h bil3 equ 88h bil4 equ 0c4h bil5 equ 82h bil6 equ 02h bil7 equ 0e8h bil8 equ 0h bil9 equ 80h Loop: mov sbuf,bil0 Jnb ti, Clr ti sjmp loop Program di atas akan menampilkan angka 0 pada semua seven segmen. Sedangkan untuk menampilkan 4 digit angka yang berbeda pada seven segmen adalah dengan mengirimkan ke 4 data angka yang akan ditampilkan pada seven segmen. Programnya adalah sebagai berikut : Loop: mov sbuf,bil1 Jnb ti, Clr ti mov sbuf,bil2 Jnb ti, Universitas Sumatera Utara Clr ti mov sbuf,bil3 Jnb ti, Clr ti Mov sbuf,bil4 Jnb ti, Clr ti sjmp loop Program di atas akan menampilkan angka 1, angka 2, angka 3 dan angka 4 pada seven segmen.

4.4 Pengujian Rangkaian ADC