de KITS
Application Note
AN45 – Type Another Way Oleh: Daniel Tanoyo (Pemenang Smart & Creative Challenge 1 kategori Serial Port)
Type Another Way akan menampilkan karakter pada de KITS SPC Alphanumeric Display SPC-007 melalui Serial Port Komputer. Salah satu keunggulan aplikasi ini adalah kemampuannya untuk menampilkan hingga 8 modul SPC Alphanumeric Display. Selain itu, disertakan juga sebuah file dll yang secara teori dapat digunakan oleh bahasa pemrograman lain. Modul yang digunakan adalah: - 1 modul de KITS SPC Alphanumeric Display - Rangkaian Level Converter
Adapun blok diagram sistem secara keseluruhan adalah sebagai berikut: Keyboard
Komputer
Serial Port
Level Converter
SPC Alphanumeric Display
Gambar 1 Blok Diagram AN45
Page 1 of 8
Application Note AN45
Hubungan Komputer dengan SPC Alphanumeric Display serta rangkaian Level Converter adalah sebagai berikut:
Gambar 2 Hubungan Komputer dengan de KITS SPC Alphanumeric Display Komponen yang dibutuhkan adalah: - 1 konektor DB9 Female + cover - 6 Resistor 10 K Ohm SMD - 3 Resistor 4K7 Ohm SMD - 3 Transistor 2N3904 SMD - Kabel Serial isi 5 dengan panjang secukupnya - Black Housing isi 4 lengkap dengan pin Page 2 of 8
Application Note AN45
1 2
3
4
5
Gambar 3 Tata Letak dan Gambar Bidang PCB Bagian Atas
9
8
7 6
Gambar 4 Tata Letak dan Gambar Bidang PCB Bagian Bawah
Gambar 5 Hasil Jadi Kabel Serial Karena de KITS SPC Alphanumeric Display tidak memiliki konektor VCC pada J4 (jalur interface Synchronous Serial) maka jalur VCC pada level converter akan dipisah dari kabel yang lain untuk dihubungkan ke VCC SPC Alphanumeric Display (seperti tampak pada gambar 5). Patut diperhatikan bahwa semua komponen menggunakan komponen SMD. Hal ini bertujuan agar level converter dapat dimasukkan ke dalam cover DB9. Aturlah jumper SPC Alphanumeric Display yang dikehendaki. Page 3 of 8
Application Note AN45
Flowchart dari prosedur Cek, Send, dan AphaNumeric (AlpNum.dll dengan source pada AlphaLib.dpr) adalah sebagai berikut: START
A
B
Xdata = data and 128
Xdata = data and 16
Xdata = data and 2
Geser xdata ke kanan 7 kali
Geser xdata ke kanan 4 kali
Geser xdata ke kanan 1 kali
Xdata = 1?
Y
Send 1
Xdata = 1?
Y
Send 1
Xdata = 1?
Y
N
N
N
Send 0
Send 0
Send 0
Xdata = data and 64
Xdata = data and 8
Xdata = data and 1
Geser xdata ke kanan 6 kali
Geser xdata ke kanan 3 kali Xdata = 1?
Xdata = 1?
Y
Send 1
Xdata = 1?
Y
Send 1
Y
Send 1
Send 1
N Send 0
N
N
Send 0
Send 0 END
Xdata = data and 32
Xdata = data and 4
Geser xdata ke kanan 5 kali
Geser xdata ke kanan 2 kali
Xdata = 1?
Y
Send 1
Xdata = 1?
N
N
Send 0
Send 0
A
B
Y
Send 1
Gambar 6 Flowchart Prosedur Cek Meskipun kelihatannya rumit, pada dasarnya prosedur Cek hanya melakukan pemeriksaan per bit mulai dari bit tertinggi (MSB). Jika bit tersebut bernilai 1, maka program akan menjalankan prosedur Send dengan nilai 1. Jika bit tersebut bernilai 0, maka program akan menjalankan prosedur Send dengan nilai 0.
Page 4 of 8
Application Note AN45
START
Y
Biner = 1?
DTR = False RTS = False
N DTR = True
RTS = True
RTS = False
RTS = False
RTS = True RTS = False
END Gambar 7 Flowchart Prosedur Send Pada COM port, pengiriman logika False akan diterima sebagai logika 1 pada SPC Alphanumeric Display. Sedangkan pengiriman logika True akan diterima sebagai logika 0 pada SPC Alphanumeric Display. START P = Addr * 32 + Char Cek P Cek ASCII END Gambar 8 Flowchart Prosedur AlphaNumeric Prosedur Alphanumeric berfungsi untuk menerima data Alamat (Addr), Posisi Karakter (Char), dan Karakter (ASCII). Nilai Alamat berkisar antara 0 – 7. Nilai Posisi Karakter berkisar antara 1 – 7. Nilai Karakter adalah kode ASCII yang akan dikirimkan. Agar sesuai dengan persyaratan pengiriman data SPC Alphanumeric Display, maka nilai data byte pertama didapat dari: Addr dikali dengan 32 lalu dijumlahkan dengan Char. Sedangkan nilai data byte kedua didapat langsung dari ASCII. Prosedur yang diekspor dari AlpNum.dll adalah: - AlphaNumeric(Addr:byte, Char:byte, ASCII:byte) = untuk menampilkan kode ASCII pada posisi Char di modul beralamat Addr - COMopen = untuk membuka COM port - COMclose = untuk menutup COM port - COMDTR(DTR:boolean) = diisi “False” untuk logika 1, diisi “True” untuk logika 0 - COMRTS(RTS:boolean) = diisi “False” untuk logika 1, diisi “True” untuk logika 0 - COMsetport(PortSer:string) = diisi “COM1” atau “COM2” untuk memilih COM port - Reset = untuk melakukan reset pada komunikasi Synchronous Serial jika terjadi kesalahan jumlah bit yang dikirim
Page 5 of 8
Application Note AN45
Flowchart dari Program (deKITS.exe dengan source pada deKITS.dpr) adalah sebagai berikut: START Pilih COM Inisialisasi COM Pilih alamat modul Alphanumeric
Ada input?
E
N
Y
A7 aktif dan isinya <=7 dan dipilih?
Y
Addr = 7 P = posisi terakhir ASCII = tombol yang ditekan
Panggil prosedur Alphanumeric D
N
A6 aktif dan isinya <=7 dan dipilih?
Y
Addr = 6 P = posisi terakhir ASCII = tombol yang ditekan
Panggil prosedur Alphanumeric D
N
A5 aktif dan isinya <=7 dan dipilih?
Y
Addr = 5 P = posisi terakhir ASCII = tombol yang ditekan
Panggil prosedur Alphanumeric D
N
A4 aktif dan isinya <=7 dan dipilih?
Y
Addr = 4 P = posisi terakhir ASCII = tombol yang ditekan
Panggil prosedur Alphanumeric D
N C Gambar 9 Flowchart Program Page 6 of 8
Application Note AN45
C D A3 aktif dan isinya <=7 dan dipilih?
Y
Addr = 3 P = posisi terakhir ASCII = tombol yang ditekan
Panggil prosedur Alphanumeric
Y
Addr = 2 P = posisi terakhir ASCII = tombol yang ditekan
Panggil prosedur Alphanumeric
Y
Addr = 1 P = posisi terakhir ASCII = tombol yang ditekan
Panggil prosedur Alphanumeric
Y
Addr = 0 P = posisi terakhir ASCII = tombol yang ditekan
Panggil prosedur Alphanumeric
Y
Pilih modul berikutnya yang aktif
N
A2 aktif dan isinya <=7 dan dipilih?
N
A1 aktif dan isinya <=7 dan dipilih?
N
A0 aktif dan isinya <=7 dan dipilih?
N
Modul yang dipilih sudah berisi 8 karakter?
N E Gambar 9 (sambungan) Flowchart Program
Page 7 of 8
Application Note AN45
Kolom pengetikan
Inisialisasi
Memilih COM port
Alamat Gambar 10 Tampilan Program
Urutan menjalankan program adalah sebagai berikut: 1. Saat awal, User harus memilih COM Port yang digunakan lalu menekan tombol Initialize. Setelah itu tulisan “Type Here” akan dihapus semua. 2. User dapat mengaktifkan antara A7 hingga A0. Alamat modul tersebut disesuaikan dengan alamat modul SPC Alphanumeric Display yang digunakan. User dapat mengaktifkan lebih dari satu alamat. 3. Penulisan karakter yang diproses adalah karakter yang ditulis pada kolom dibawah alamat yang aktif. 4. Jika hanya ada satu alamat yang aktif, maka penulisan karakter yang diproses adalah karakter pada kolom di bawahnya. Penulisan karakter dimulai dari posisi awal (segmen paling kiri pada SPC Alphanumeric Display). Jika karakter melebihi 8 buah, maka akan diulangi dari posisi karakter awal. Pada gambar 10 diberi contoh alamat yang dipilih adalah alamat 7. Jika User melakukan penulisan pada kolom bawahnya dan melebihi 8 karakter, maka penulisan berikutnya tetap berada pada kolom tersebut dan dimulai dari awal. 5. Jika ada lebih dari satu alamat yang aktif, maka penulisan karakter dapat dilakukan dari kolom mana saja yang alamatnya aktif. Jika karakter dalam satu kolom melebihi 8 buah, maka penulisan selanjutnya akan dimulai pada alamat yang aktif berikutnya. Misalkan alamat 7 dan 5 aktif. User dapat menuliskan 3 karakter pertama pada alamat 7 lalu meng-klik kolom di bawah alamat 5 untuk menuliskan 5 karakter pertama. Jika kolom alamat 7 di-klik, maka tampilan Alphanumeric akan menyambung posisi karakter berikutnya (meskipun pada program deKITS.exe, User tidak memasukkan karakter pada alamat terakhir). Jika alamat 7 dan 5 aktif, penulisan karakter pada satu kolom melebihi 8 karakter akan menyambung ke kolom berikutnya. Misalkan penulisan “Alphanumeric” dimulai pada karakter pertama alamat 7. Maka “Alphanum” akan tampil pada alamat 7 sedangkan “eric” akan tampil pada alamat 5. 6. Untuk memulai dari awal sebuah kolom, hapus isinya dengan tombol “Delete”/”Del”. Hal ini hanya akan mereset posisi karakter. Tampilan pada Alphanumeric tidak akan dihapus. Untuk menghapus tampilan Alphanumeric, isi semua karakter dengan karakter “spasi”. 7. Jika Pengguna tidak ingin menggunakan program ini, Pengguna dapat memanfaatkan prosedur COMDTR (sebagai jalur data) dan COMRTS (sebagai jalur clock).
Listing program terdapat pada AN45.Zip. Selamat berinovasi!
Page 8 of 8
Application Note AN45