Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009 P3.7 AT89S51
5V VCC
100
10uF
i _1
i
i _1
i
Djnz r7,pls Mov r7,50
Djnz r7, Ret
Demikian juga seterusnya jika yang dikirimkan data 1 sd data 9, maka data ini akan ditambah dengan nilai 1, dan kemudian hasil penjumlahannya digunakan sebagai banyaknya
perulangan dalam pengiriman pulsa. Sebagai contoh jika data yang dikirimkan adalah data 1, maka data ini akan
ditambahkan 1 sehingga hasilnya menjadi 2. 2 inilah yang merupakan banyaknya perulangan pengiriman pulsa. Jadi lebar pulsa untuk data satu ± 2 x 1.131 s = 2.262 s. Demikian pula
untuk data-data yang lainnya.
3.1.6 Rangkaian Penerima Infra Merah
IC yang digunakan sebagai penerima infra merah adalah IC TSOP 1738. IC ini sering digunakan sebagai penerimareceiver remote control dari TV atau VCD. Rangkaiannya
tampak seperti dibawah ini:
TSOP1738
Gambar 3.6 Rangkaian Penerima Infra Merah
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
Pada rangkaian diatas digunakan resistor 100 ohm untuk membatasi arus yang masuk pada rangkaian, sedangkan kapasitor 10 F digunakan agar arus yang masuk ke IC TSOP 1738
lebih stabil. IC ini mempunyai karakteristik yaitu akan mengeluarkan logika high 1 atau
tegangan ± 4,5 volt pada outputnya jika IC ini mendapatkan pancaran sinar infra merah dengan frekuensi antara 38 – 40 KHz, dan IC ini akan megeluarkan sinyal low 0 atau
tegangan ± 0,109 volt jika pancaran sinar infra merah dengan frekuensi antara 38 – 40 KHz berhenti, namun logika low tersebut hanya sesaat yaitu sekitar 1200 s, setelah itu outputnya
kan kembali menjadi high. Sifat inilah yang dimanfaatkan sebagai pengiriman data. Output dari IC ini dihubungkan ke P3.7 pada mikrokontroler, sehingga setiap kali IC
ini mengeluarkan logika low atau hing pada outputnya, maka mikrokontroller dapat langsung mendeteksinya. Programnya sebagai berikut :
Utama: mov 60h,0h
jb P3.7, nop
jnb P3.7, nilai:
inc 60h acall hitung
jb P3.7,nilai mov a,60h
mov b,10 div ab
dec a cjne a,10,Utama
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
Awalnya mikrokontroler akan memasukkan nilai 0 pada alamat 60h, kemudian menunggu sinyal low dari P3.7 yang terhubung ke output dari IC TSOP 1738. Jika ada sinyal low, itu
berarti ada data yang akan dikirim oleh pemancar, kemudian mikrokontroler akan mengabaikan sinyal low tersebut sampai datang sinyal high, sinyal high inilah yang dihitung
oleh mikrokontroller sebagai data yang masuk. Data yang masuk akan dibagikan dengan nilai 10. Hal ini dilakukan karena lebar data pengirim 10 kali lebih besar daripada lebar data
penerima, sehingga harus dibagi dengan 10. Kemudian hasilnya akan dikurangi dengan 1, hal ini karena pada saat pengiriman, setiap data telah ditambah dengan nilai satu. Selanjutnya
lebar data akan dibandingkan, apakah sama dengan 10 atau tidak, jika sama dengan 10 maka data ini merupakan data startbit, dengan demikian 3 data setelah ini adalah merupakan data
temperatur, dan akan diambil untuk ditampilkan nilainya. Namun jika data tersebut tidak sama dengan 10, maka data ini bukan merupakan data startbit, program akan kembali ke awal
sampai mendapatkan startbit. Setelah mendapatkan data startbit, maka mikrokontroler akan mengambil 3 data
setelah data startbit tersebut, yang merupakan dara dari nilai temperatur yang dikirimkan oleh pemancar. Programnya sebagai berikut :
mov 61h,0h jb P3.7,
nop jnb P3.7,
nilai1: inc 61h
acall hitung jb P3.7,nilai1
mov 62h,0h jb P3.7,
nop
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
jnb P3.7, nilai2:
inc 62h acall hitung
jb P3.7,nilai2 mov 63h,0h
jb P3.7, nop
jnb P3.7, nilai3:
inc 63h acall hitung
jb P3.7,nilai3
Pada program di atas data nilai satuan akan disimpan di alamat 61h, data untuk nilai puluhan akan disimpan pada alamat 62h, sedangkan data untuk nilai ratusan akan disimpan pada
alamat 63h . Kemudian data ini akan masing-masing akan dibagi dengan nilai 10 dan dikurangi dengan 1 seperti data pada starbit, kemudian ditampilkan pada display.
3.1.7 Rangkaian ADC