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