DT-51Application Note AN31 – Pencatat Data Percakapan Telepon III (Printer Interfacing) Oleh: Tim IE & Muh. Andi Wicaksono & A. Hadi Syafrudin (Institut Teknologi Sepuluh November)
Aplikasi ini sebenarnya merupakan bagian ketiga dari seri PDPT, namun dapat digunakan terpisah sebagai aplikasi printer interfacing. Bagian ini berfungsi untuk mencetak serangkaian data ke printer. Modul yang digunakan adalah: - 1 modul DT-51 MinSys - 1 keyboard - 1 modul LCD 24 x 2 - 1 printer dot matrix EPSON LQ800
Adapun blok diagram sistem secara keseluruhan adalah sebagai berikut:
Gambar 1 Blok Diagram AN31
Konektor dan susunan kaki keyboard serta printer dapat dilihat pada gambar berikut : •
KEYBOARD Keyboard PC dibangun dengan mikrokontroler MCS48, yang merupakan saudara tua MCS51 tapi jauh lebih sederhana. Konektor yang umum digunakan saat ini adalah tipe PS/2 (Beberapa mungkin masih menggunakan tipe AT). Susunan pin-pinnya terdapat pada gambar 2.
Gambar 2 Konektor Keyboard
Page 1 of 5
Application Note AN31
Komunikasi pada keyboard adalah secara serial dan dibutuhkan 2 bit untuk mengontrol sinyal clock dan sinyal datanya.
Gambar 3 Sinyal Komunikasi Data Serial Dari Keyboard Dari gambar 3 di atas, maka sinyal pengiriman data dari keyboard dapat dijelaskan sebagai berikut : o Data mulai dikirimkan dengan memberikan logika ‘0’ pada Kbd Data sebagai tanda mulai pengiriman (start bit), berapa saat kemudian setelah Kbd Data stabil disusul Kbd Clock berubah menjadi ‘0’ dan kembali ke ‘1’ lagi. Hal ini berarti pengiriman data 1 bit telah selesai. o Setelah mengirim ‘start bit’, dikirimkan bit 0, bit 1 dan seterusnya sampai bit 7. o Menyusul dikirim ‘parity bit’, yaitu bit kontrol yang berguna bagi host penerima data untuk memastikan data yang diterima tidak ada kesalahan. Jika banyaknya bit yang bernilai ‘1’ pada bit 0 sampai bit 7 adalah ganjil, ‘parity bit’ akan bernilai ‘1’. o Sebagai penutup (stop bit) Kbd Data dikembalikan ke keadaan normalnya, yaitu ‘1’. •
PRINTER Printer untuk koneksinya ke PC pada umumnya menggunakan konektor DB-25 seperti tampak pada gambar 4.
Gambar 4 Konektor DB-25 Printer
Page 2 of 5
Application Note AN31
Tabel 1 Konfigurasi Konektor DB-25 dan Konektor Centronics (konektor pada printer) Sebenarnya untuk mengendalikan printer cukup dengan hanya mengontrol pin control-nya saja yang terdiri dari Strobe, Auto-Linefeed, Initialize, dan Select-Printer. Namun agar dapat dikembangkan lebih lanjut maka pin statusnya juga dihubungkan dengan DT-51 MinSys, kecuali pin status error/fault (pin no. 15 DB25). Saat pertama kali printer akan melakukan proses mencetak, pada pin Initialize diberikan sinyal enable (high-low-high) yang berfungsi untuk inisialisasi/me-reset printer. Sedangkan proses untuk mencetak datanya, pada pin Strobe diberikan sinyal high-low-high setiap mencetak satu data. Setelah satu baris selesai dicetak, maka printer akan mencetak baris berikutnya. Agar printer dapat mengenali perintah pindah baris, maka pada printer diberikan data ASCII 0Dh dan 0Ah yang berfungsi untuk pindah baris ke baris berikutnya pada posisi karakter paling kiri.
Hubungan antara DT - 51 MinSys dengan sinyal keyboard adalah sebagai berikut : Sinyal Keyboard Kbd clock Kbd data
DT - 51 MinSys ver 3.0 PORT 1 Pin 15 (Port 1.6) Pin 16 (Port 1.7)
Tabel 2 Hubungan DT-51 MinSys dengan Keyboard
Page 3 of 5
Application Note AN31
Hubungan antara DT - 51 MinSys dengan printer adalah sebagai berikut : PRINTER D0 D1 D2 D3 D4 D5 D6 D7 ACK BUSY PAPER-END SELECT STROBE AUTO-LINEFEED SELECT-PRINTER INITIALIZE
DT - 51 MinSys ver 3.0 PORT A & PORT C Pin 4 (Port A0) Pin 3 (Port A1) Pin 2 (Port A2) Pin 1 (Port A3) Pin 40 (Port A4) Pin 39 (Port A5) Pin 38 (Port A6) Pin 37 (Port A7) Pin 14 (Port C0) Pin 15 (Port C1) Pin 16 (Port C2) Pin 17 (Port C3) Pin 13 (Port C4) Pin 12 (Port C5) Pin 11 (Port C6) Pin 10 (Port C7)
Tabel 3 Hubungan DT-51 MinSys dengan Printer Setelah konektor terhubung dengan benar dan menghubungkan suplay tegangan yang tepat, download-lah program PRINTER.HEX ke dalam DT - 51 MinSys ver 3.0.
Page 4 of 5
Application Note AN31
Flowchart program secara sederhana dapat digambarkan sebagai berikut: Start Inisialisasi Printer Cetak karakter ke LCD Inputkan Data Cetak input ke LCD Cetak 1 karakter ke printer
Jumlah Data 1 baris sudah selesai ?
N
Y Pindah baris N
Jumlah baris sudah habis ? Y Gambar 5 Flowchart Program
Langkah pertama yang dilakukan adalah melakukan proses inisialisasi printer (tentu saja didahului dengan inisialisasi pada PPI). Lalu program akan meminta 2 set input (pada AN ini diwakili oleh nomor dan kota tujuan). Semua input akan ditampilkan pada LCD. Langkah selanjutnya adalah memulai rangkaian proses pencetakan. Pencetakan dilakukan per satu karakter. Jika karakter dalam satu baris sudah selesai dicetak, program akan mengirimkan perintah 0Dh dan 0Ah sebagai perintah untuk pindah baris (Carrier Return dan Line Feed). Proses tersebut akan diulangi hingga semua baris sudah selesai dicetak.
Listing program terdapat pada AN31.ZIP. Selamat berinovasi! AT and PS/2 are trademarks of International Business Machines Corporation.
Page 5 of 5
Application Note AN31