4.2 Pengujian Rangkaian Mikrokontroler AT89S51
Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan
program sederhana pada mikrokontroler AT89S51. Programnya adalah sebagai berikut:
Loop: Setb P0.0
Acall tunda Clr P0.0
Acall tunda Sjmp Loop
Tunda: 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 mati. Acall tunda akan menyebabkan LED ini mati selama beberapa saat.
Perintah Clr P0.0 akan menjadikan P0.0 berlogika low yang menyebabkan LED akan nyala. Perintah Acall tunda akan menyebabkan LED ini nyala selama beberapa saat.
Universitas Sumatera Utara
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, untuk 2 siklus dihitung dengan cara yang sama
sehingga diperoleh harga sebagai berikut: 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
Dari table diatas, maka dapat dibuat program sebagai berikut: Tunda:
mov r7,255 2
Tnd: mov r6,255 2 djnz r6, 255 x 2 = 510 x 255 = 131.070 = 131.073
2 1
djnz r7,loop3 ret
Universitas Sumatera Utara
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 131.073 μdetik atau 0,131073 detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut diisikan ke mikrokontroler AT89S51, kemudian mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroler AT89S51 telah bekerja dengan baik.
4.3 Pengujian Rangkaian Display Seven Segmen