Académique Documents
Professionnel Documents
Culture Documents
Melindungi telepon rumah agar tidak disalahgunakan oleh orang yang tidak berwenang,
merupakan idaman semua pemilik telepon. Pada jaman telepon analog dulu banyak dijual
alat anti interlokal, tapi setelah menginjak jaman telepon digital alat semacam itu justru
jarang dijumpai lagi, hal ini disebabkan diperlukan tehnologi yang lebih tinggi untuk
membuat alat tersebut.
Alat Anti Interlokal dan Pemantau nada DTMF ini disambungkan di antara pesawat
telepon dan saluran telepon melalui konektor JP1 dan JP2. JP1 dihubungkan ke pesawat
telepon dan JP2 dihubungkan ke saluran telepon dari Telekom.
Alat ini memantau sinyal yang ada di saluran telepon, nada DTMF yang ada di saluran
telepon dikenali dan diubah bentuk menjadi kode biner. Kode biner yang diterima diubah
menjadi kode ASCII dan ditampilkan di Tampilan LCD SED-1200, di samping itu kode
biner tersebut diperiksa untuk menentukan apakah nomor telepon yang dituju adalah
nomor telepon lokal, jika tidak maka hubungan antara pesawat telepon dan saluran
telepon diputus.
Pembahasan rangkaian
Rangkaian alat ini terlihat di Gambar 1, ditinjau dari fungsinya bisa dibagi menjadi tiga
bagian. Bagian pertama adalah AT89C2051 sebagai pusat pengendali alat, bagian kedua
adalah Tampilan LCD SED-1200 sebagai penamping nomor telepon, dan bagian ketiga
adalah sisa rangkaian yang berfungsi sebagai rangkaian interface saluran telepon.
Rangkaian Mikrokontroler
Tampilan LCD SED-1200 di bagian kedua dikendalikan langsung dengan jalur-jalur Port
1 (P1.0 ..P1.7) dari AT89C2051, sebagian dari jalur-jalur ini dipakai juga untuk IC
MT8870. Cara mengendalikan SED1200 sudah dibahas dalam artikel Teknik Interface
(2) - Epson SED1200 LCD Module.
Dalam rangkaian ini, data mengalir dari AT89C2051 ke SED1200 dan dari MT8870 ke
AT89C2051, aliran data ini semuanya melalui D0..D3 yang terhubung ke
P1.0..P1.3 (kaki 12 sampai 15 AT89C2051). Jalur SELECT yang dikendalikan oleh
kaki P1.5 (kaki 17 AT89C2051) untuk mengaktipkan SED1200 atau MT8870,
SELECT=’0’ membuat SED1200 siap menerima data dari D0..D3, sedangkan
SELECT=’1’ menghubungkan jalur data MT8870 ke D0..D3.
• bagian pendeteksi gagang telepon dibentuk dengan diode bridge D3, Zener diode 12 V
(D4), Opto Isolator ISO1 4N35 dan resistor R8,
• bagian pemutus saluran telepon dibentuk dengan resistor R9, tansistor NPN (Q1), dan
relay K1 yang Normally Close (NC).
Rangkaian penerima nada DTMF dihubungkan ke saluran telepon lewat kapasitor C4, hal
ini dimaksud untuk membendung arus searah dan hanya arus bolak-balik saja yang
masuk ke MT8870. Zener Diode D1 dan D2 berfungsi untuk membatasi sinyal bolak
balik yang masuk tidak lebih dari ± 3.3 Volt, mengingat sinyal bel merupakan sinyal
bolak-balik yang amplitudonya puluhan Volt dan bisa merusak MT8870. Resistor R4
dan R5 dipakai untuk menentukan penguatan sinyal, karena kedua resistor ini nilainya
sama (100 Kohm) maka faktor penguatannya 1. Konstanta waktu yang ditentukan dengan
C5 dan R7Y2 (3.579545 MHz) dipakai sebagai pembentuk frekuensi standar untuk
mengenali frekuensi-frekuensi DTMF. dipakai untuk menentukan waktu minimum nada
DTMF sebelum nada itu dikenali sebagai nada DTMF yang benar. Kristal
Cara kerja MT8870 bisa dipelajari dari artikel Teknik Interface (3) - Dual Tone Multiple
Frequency.
Rangkaian pendeteksi gagang telepon mendeteksi letak gagang telepon. Rangkaian ini
dihubungkan langsung ke saluran telepon mengingat rangkaian ini tugasnya memantau
tegangan searah di saluran telepon. Saat gagang telepon tidak diangkat tegangan searah di
saluran telepon bisa mencapat 48 Volt, tegangan tersebut turun menjadi sekitar 6 Volt
begitu gagang telepon diangkat.
Dipakai diode bridge untuk memudahkan pemasangan kabel antara alat ini dan sistem
telepon (kabel bisa dipasang terbalik), diode Zener 12 V (D4) dipakai untuk mendeteksi
tegangan searah, saat gagang telepon diangkat tegangan saluran yang hanya sekitar 6
Volt tidak akan mampu menembus diode Zener yang dipasang secara berlawanan arah,
sehingga tidak ada arus yang mengalir melalui diode di dalam Opto Isolator 4N35 (ISO1)
akibatnya transistor dalam ISO1 tidak mengalirkan arus dan tegangan di kaki
INT0/P3.2 (kaki 6 AT89C2051) menjadi ‘0’ lewat tahanan R6. Tegangan saluran
telepon yang 48 Volt pada saat gagang tidak diangkat akan mengakibatkan transistor
dalam ISO1 mengalirkan arus dan tegangan di kaki INT0/P3.2 menjadi ‘1’.
Saat gagang telepon diangkat, tegangan INT0/P3.2 berubah dari ‘1’ menjadi ‘0’,
perubahan tegangan ini merupakan siinyal permintaan interupsi bagi AT89C2051. Begitu
menerima permintaan interupsi ini AT89C2051 akan menjalankan program layanan
interupsi yang harus diletakkan di memori program nomor 3.
Pembahasan alat
Di samping rangkaian di atas, kerja alat ini sepenuhnya ditangani dengan perangkat
lunak, Gambar 2 memperlihatkan diagram alir program yang membentuk alat ini.
Terlihat dari Gambar 2, pada alat kecil ini sesungguhnya bekerja dua buah program yang
berlainan, program pertama (bagian kiri dari gambar) merupakan program utama,
program ini dijalankan begitu AT89C2051 mendapat catu daya dan bekerja terus tanpa
henti. Program yang kedua adalah program layanan interupsi INT0 (bagian kanan dari
gambar), program ini dijalankan pada saat gagang telepon diangkat, setelah selesai
mengerjakan program ini AT89C2051 akan kembali mengerjakan program utama.
Gambar 2 Diagram alir
Persiapan
• pertama-tama relay dimatikan untuk menjamin saluran telepon tidak diputus oleh alat
ini (baris 2 Potongan Program 1)
• diatur tata kerja SED1200 dan menghapus layar tampilan LCD (baris 3)
• setelah itu AT89C2051 sendiri diatur agar bisa menerima permintaan interupsi dari
INT0, sehingga begitu gagang telepon diangkat AT89C2051 bisa menanggapinya
dengan program layanan interupsi di memori program nomor 3
o yang dianggap sebagai permintaan interupsi adalah perubahan tegangan ‘1’ menjadi ‘0’
di kaki INT0 (baris 6)
01:DTMFmonitor:
04:
Berikutnya alat ini menunggu angka dari tombol telepon yang dipencet, selama tidak ada
nada DTMF ATM89C2051 akan menunggu terus di sini, memang pada saat ini tidak ada
pekerjaan lain yang perlu dilakukan.
• Proses pengambilan data DTMF dari MT8870 digambarkan di Gambar 3, hal ini
dimaksud agar AT89C2051 hanya satu kali saja mengambil dari MT8870 setiap kali ada
tombol yang dipencet
o Pada saat tidak ada tombol dipencet kaki StD dari MT8870 yang terhubung ke P3.7
AT89C2051 (sinyal ini dinamakan sebagai NewData) =’0’. AT89C2051 menunggu
ada tombol yang dipencet dengan instruksi JNB NewData,* (baris 3), artinya selama
P.3.7 masih =’0’ AT89C2051 yang berputar terus di baris 3.
o Setelah ada data DTMF baru, Port 1 dipastikan menjadi input (baris 4) dan data dari
MT8870 diambil di baris 5, karena yang dipakai hanya data dari P1.0..P1.3 maka
bagian yang dipakai dibuang di baris 6.
o Untuk memastikan data dari MT8870 hanya diambil satu kali saja, AT89C2051
menunggu sinyal NewData menjadi ‘0’ dengan instruksi JB NewData,* di baris 7.
• Baris 2 menyatakan Ram yang dipakai mulai nomor $30 (heksadesimal 30)
Tampilan angka di SED1200 dibuat seperti tampilan angka di kalkulator, yakni sebelum
menampilkan satu angka baru, angka-angka lama di tampilan digeser dulu satu posisi ke
kiri, setelah itu angka baru diisikan di posisi paling kanan seperti digambarkan di Gambar
5. Proses ini dilakukan dengan Potongan Program 4 :
• Di baris 2 isi akumulator A yang berisi angka baru dari MT8870 disimpan dulu ke R6,
karena dalam baris-baris berikutnya A akan aktip dipakai.
• Jumlah byte yang dipindahkan sebanyak 19, hal ini diatur di baris 5 dan baris 11
• Tadi yang disimpan di R6 dikembalikan ke A (baris 13) dan dijadikan ASCII di baris
14 kemudian di baris 15 disimpan ke posisi paling kanan
01:IsikanAngka:
06:Pindah:
10: INC R1
Tugas program berikutnya adalah mengenali apakah nomor pembicaraan yang diminta
adalah nomor telepon lokal, jika nomor lokal maka AT89C2051 meneruskan tugas
menunggu tombol nomor telepon dipencet, jika ternyata nomor telepon interlokal maka
relay normally close diaktipkan dan saluran telepon diputus, setelah itu progam kembali
mengerjakan program dari bagian paling awal.
Nomor telepon lokal atau bukan dibedakan dengan jumlah digit yang dipencet, jika
ditekan lebih dari 7 digit dianggap sebagai nomor interlokal. Untuk keperluan ini dipakai
bantuan dari variabel Counter. Potongasn Program 5 dijelaskan sebagai berikut :
• Program masuk ke baris 7 kalau ternyata nomor yang diminta adalah nomor interlokal,
saat itu relay diaktipkan sehingga saluran telepon putus. Untuk memastikan hubungan ke
kantor telepon benar-benar sudah terputus relay diaktipkan sekitar 2 detik lamanya,
waktu tunggu 2 detik ini ditentukan di baris 7 sampai 13.
• Setelah itu AT89C2051 diarahkan menjalakan DTMFmonitor, yakni bagian pertama dari
program setelah reset.
05:;
06: SETB Relay ; aktipkan relay, saluran terputus
10:Sebentar:
Begitu gagang telepon diangkat, AT89C2051 akan menanggapi dengan rutin layanan
interupsi INT0 di memori program nomor 3, seperti terlihat di Potongan Program 6.
• Baris 1 meletakkan rutin layanan interupsi ini di memori program nomor 3, yakni
tempat yang disediakan untuk rutin layanan interupsi INT0.
03: RETI