BAB IV
PENGUJIAN ALAT DAN PROGRAM
4.1 Pengujian Rangkaian Mikrokontroller
Untuk mengetahui apakah rangkaian mikrokontroller telah bekerja dengan baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan program
sederhana pada mikrokontroller. Programnya adalah sebagai berikut:
Loop: Setb P3.7
Acall tunda Clr P3.7
Acall tunda Sjmp Loop
Tunda: Mov r7,255
Tnd: Mov r6,255 Djnz r6,
Djnz r7,tnd Ret
Universitas Sumatera Utara
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P3.7 selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus
menerus. Perintah Setb P3.7 akan menjadikan P3.7 berlogika high yang menyebabkan LED mati. Acall tunda akan menyebabkan LED ini mati selama beberapa saat.
Perintah Clr P3.7 akan menjadikan P3.7 berlogika low yang menyebabkan LED akan nyala. Perintah Acall tunda akan menyebabkan LED ini nyala 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 clock 12 Mhz = 1 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
Tabel 4.1 .Siklus dan waktu eksekusi mneumonic
Tunda: mov r7,255
:2 siklus Tnd: mov r6,255
:2 siklus djnz r6,
:2 siklus djnz r7,tnd
:2 siklus ret
:1 siklus Printah mov r7,255 dan mov r7,255 masing-masing terdiri atas 2 siklus mesin.
Printah djnz juga terdiri dari 2 siklus mesin. Sedangkan printah ret terdiri dari 1 siklus mesin.Printah Djnz r6, maksudnya adalah, mengurangi nilai pada r6 sampai bernilai
0 setelah nilai r6 bernilai 0 maka nilai pada r7 berkurang 1 nilai karena adanya printah djnz r7. Kemudian program akan kembali mengurangi nilai pada r6 sampai 0 kembali
Universitas Sumatera Utara
ke rountine tnd berarti printah djnz r6, pada program diatas dilakukan sebanyak 2x255. Jadi 255x2 = 510
μd dan printah djnz r7 dilakukan sebanyak 1x255 dengan demikian dapat diketahui hasilnya adalah 510x255=130050
μd hasil dari perkalian tersebut kemudian ditambahkan dengan 9 siklus berikutnya mov r6 = 2 siklus, mov
r7 = 2 siklus, djnz masing-masing 2 siklus dan ret = 1 siklus sehingga hasil akhir didapatkan 130050+9 = 130059
μd, jadi waktu pembacaan data adalah 130059 μd = 0.13 detik.
4.2 Pengujian Rangkaian Display Seven Segmen