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 dan terdapat 12 siklus mesin di dalam
mikrokontroller, sehingga 1 siklus mesin membutuhkan waktu = 12
1 12 MHz
=
mikrodetik
Tabel 4.1 Waktu Eksekusi 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
Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroller AT89S51 telah bekerja dengan baik. .
4.3 Pengujian Rangkaian Display Seven Segment
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 segmen akan menyala jika diberi logika 0 dan sebaliknya segmen akan mati jika diberi
logika 1.
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk menampilkan angka desimal adalah sebagai berikut
Tabel 4.2 Data yang Dikirim ke Port Serial
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 3 digit angka yang berbeda pada seven segmen adalah
dengan mengirimkan ke 3 data angka yang akan ditampilkan pada seven segmen. Programnya adalah sebagai berikut :
Loop: mov sbuf,bil1
Jnb ti, Clr ti
sjmp loop Program di atas akan menampilkan angka 1 pada display seven segmen
Universitas Sumatera Utara
4.4 Pengujian Rangkaian Pengirim Data Melalui Infra Merah
Untuk mengetahui apakah rangkaian pengirim data inframerah sudah bekerja dengan baik juga diperlukan suatu pengujian rangkaian. Seperti yang sudah dilakukan penulis
pada prakteknya bahwa pemancar inframerah tidak bekerja sesuai dengan yang diinginkan. Data yang disampaikan oleh pemancar inframerah tidak sama dengan data
yang diterima oleh penerima inframerah.
Setelah dilakukan analisa, ternyata pemancar inframerah tidak dapat bekerja dengan baik karena adanya gangguan dari inframerah yang dipancarkan oleh alam
baik matahari, tumbuhan bahkan tubuh manusia sendiri. Untuk membuktikan kebenaran dari analisa ini, maka pengujian rangkaian dilakukan pada malam hari
dimana tidak ada inframerah yang dipancarkan dari alam. Dan ternyata hasilnya pemancar inframerah dapat mengirimkan data sampai pada jarak maksimum tersebut.
Agar data dapat dikirimkan sampai jarak maksimum tersebut maka LED infra merah harus dipancarkan dengan frekuensi 38 KHz karena frekuensi ini bebas dari
gangguan frekuensi infra merah alam. Jika LED infra merah dipancarkan dengan frekuensi selai 38 KHz, maka pancarannya akan terganggu oleh frekuensi-frekuensi
infra merah dari alam, seperti frekuensi infra merah yang dipancarkan oleh matahari, tumbuhan, bahkan badan manusia. Dengan menggunakan frekuensi 38 KHz, maka
pancaran LED infra merah yang dihasilkan oleh rangkaian tidak terganggu oleh pancaran infra merah alam, sehingga jarak pengiriman data semakin jauh.
Untuk memancarkan frekuensi 38 KHz dari LED infra merah, langkah yang harus dilakukan adalah dengan mengedipkannya menghidupkan dan mematikannya
Universitas Sumatera Utara