Tunda: mov r7,255
Tnd: mov r6,255 djnz r6, 255 x 2 = 510x 255 = 130.054
djnz r7,tnd ret
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah
130.057
detik atau 0,
130057
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 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.
Gambar 4.1 Pengujian Rangkaian Display Seven Segment
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk menampilkan angka desimal adalah sebagai berikut:
Tabel 4.2 Data Hasil Pengujian Rangkaian Display Seven Segment
Angka Data yang dikirim
1 0ECH
2 18H
3 88H
4 0C4H
5 82H
6 02H
7 0E8H
8 0h
9 80H
20H
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
mov sbuf,bil2 Jnb ti,
Clr ti mov sbuf,bil3
Jnb ti, Clr ti
sjmp loop
Program di atas akan menampilkan angka 1 pada seven segmen ketiga, angka 2 pada seven segmen kedua dan angka 3 pada seven segmen pertama.
4.4 Pengujian Rangkaian Pengirim Data Melalui Infra Merah
Untuk pengiriman data agar data dapat dikirimkan dari jarak yang jauh, 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 selain 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 dengan
frekuensi tersebut, yaitu dengan memberikan logika high dan low pada P3.7 dengan selang waktu perioda :
3
1 1
1 0, 0000263
26, 3 38
38 10 T
s s
f KHz
x Hz
µ = =
= ==
Mikrokontroler AT89S51 memerlukan 12 Clock setiap satu siklus mesin. Dengan demikian, jika digunakan kristal 12 MHz, maka waktu yang diperlukan untuk satu siklus mesin adalah :
s sekon
x MHz
Clock µ
1 10
1 12
12
6
= =
−
6 6
1 1
1 1 10
38461 38, 461
26 26 10
26 x
f Hz
KHz T
s x
s µ
−
= = =
= =
=
Ketika penerima infra merah menerima pancaran infra merah dengan frekuensi 38 KHz dari rangkaian pemancar, maka output dari penerima akan berlogika high 1, jika pancaran
infra merah ini dihen tikan, maka penerima akan mendapatkan logika low 0 sesaat ± 1200 s
kemudian berubah menjadi high 1 kembali walaupun tidak ada pancaran infra merah dengan frekuensi 38 KHz. Ini sudah merupakan karakteristik dari penerima infra merah yang
digunakan TSOP 1738. Pada alat ini, logika high setelah logika low sesaat, itulah yang dijadikan sebagai data, sehingga dengan mengatur lebar pulsa high 1 tersebut dengan suatu
nilai tertentu dan menjadikan nilai tersebut sebagai datanya, maka pengiriman data dapat dilakukan.
Pada alat ini, data yang dikirimkan sebanyak 3 data, yaitu data untuk nilai ratusan, nilai puluhan dan nilai satuan. Setiap pengiriman masing-masing data dari ketiga data tersebut,
didahului dengan pengiriman sinyal low, jadi ada 3 sinyal low dan ada 3 data. Akan terjadi masalah jika pengiriman data dilakukan seperti ini, yaitu data yang diterima urutannya tidak
sesuai dengan data yang dikirimkan. Misalnya 3 data yang dikirimkan adalah 567, kemungkinan data yang diterima adalah 675 dan 756. Sehingga hanya 13 kemungkinannya
data yang dikirimkan benar. Kesalahan pengambilan data oleh penerima disebabkan karena adanya penghalang
atau karena kesalahan pengambilan data ketika alat pertama kali dihidupkan. Seharusnya penerima mengambil sinyal low dari data yang pertama, kemudian mengambil data pertama,
setelah itu mengambil sinyal low dari data kedua, kemudian mengambil data kedua, dan demikian seterusnya, sehingga data tersebut sesuai dengan urutannya. Namun jika ada
penghalang sesaat atau ketika pertama kali dihidupkan terjadi kesalahan pengambilan sinyal low, maka pengambilan data seterusnya akan salah. Misalnya jika ada penghalang sesaat,
sehingga sinyal low yang diterima adalah sinyal low yang kedua, maka data kedua akan dianggap sebagai data pertama, dan data ketiga akan dianggap sebagai data kedua, demikian
seterusnya, sehingga urutan data menjadi salah. Untuk menghindari kesalahan dalam pengambilan data, maka pada alat ini
ditambahkan satu data yang berfungsi sebagai startbit atau data awal. Data awal ini mempunyai nilai tertentu, jadi ketika penerima mendapatkan sinyal low, penerima akan
mengambil 1 data setelah sinyal low tersebut, dan membandingkannya apakah sesuai dengan data awal atau tidak. Jika tidak sama, maka penerima akan mengambil data berikutnya ,
kemudian membandingkan lagi sesuai atau tidak dengan data awal. Langkah ini dilakukan terus sampai didapat data awal. Ketika penerima mendapatkan data yang sesuai dengan data
awal, maka penerima akan mengambil data pertama setelah data awal sebagai data pertama, data kedua setelah data awal sebagai data kedua, dan seterusnya hingga data ketiga. Dengan
demikian tidak akan terjadi kesalahan urutan data, walaupun ada penghalang sesaat.
4.5 Pengujian Rangkaian Penerima Infra Merah