DT-BASIC Application ote A87 BASIC Alphanumeric Animation Oleh: Tim IE Sama seperti A86, A ini juga akan membuat animasi moving sign pada tampilan dan tentunya juga dengan bantuan sehingga aplikasi ini tetap sederhana dan mudah. Tetapi kali ini modul pengendali yang digunakan adalah si imut DT-BASIC ano / Micro / Mini dengan bahasa pemrograman PBASIC (menggunakan BASIC Stamp Editor ) yang mirip bahasa BASIC standar. Pada aplikasi ini akan berkomunikasi dengan modul DT-BASIC ano / Micro / Mini secara I C maupun serial synchronous. Komponen yang diperlukan: - DT-BASIC ano / Micro / Mini - Adapun blok diagram sistem secara keseluruhan adalah sebagai berikut: DT-BASIC ano / Micro / Mini Gambar Blok Diagram A87 Hubungan antara modul-modul tersebut adalah sebagai berikut: DT-BASIC ano / Micro / Mini GD 5VDC GD (J5) +5V (J5) P4* SDA (J) P5* SCL (J) Tabel Hubungan DT-BASIC ano / Micro / Mini dengan secara I C DT-BASIC ano / Micro / Mini GD 5VDC GD (J5) +5V (J5) P0* S (J4 pin 3) P* S3 (J4 pin 4) P* S (J4 pin ) Tabel Hubungan DT-BASIC ano / Micro / Mini dengan secara Synchronous Serial Page of 5 Application ote A87
Pasang jumper SDA & SCL (J) untuk memberi resistor pull up pada jalur I C. Pasang jumper A (J3) dan lepas jumper A & A0 (J3) untuk menetapkan alamat terprogram pada alamat 3. Pin I/O yang diberi tanda * (P0, P, P, P4, dan P5) tidak mutlak dan dapat diganti dengan pin lain tetapi juga harus mengubah pin yang digunakan pada program. Gunakan kabel serial DT-BASIC ano / Micro / Mini untuk menghubungkan modul DT-BASIC ano / Micro / Mini dengan komputer. Kabel ini digunakan untuk men-download program PBASIC yang telah dibuat ke modul DT-BASIC ano / Micro / Mini melalui program BASIC Stamp Editor. Setelah semua rangkaian dan sumber tegangan terhubung dengan tepat, programlah ALPHA_IC.BSX (untuk komunikasi secara I C) ke DT-BASIC Micro atau ALPHA_SS.BS (untuk komunikasi secara serial synchronous) ke DT-BASIC ano dengan menekan tombol F9 atau CTRL+R pada program BASIC Stamp Editor. Jika menggunakan modul DT-BASIC lainnya ubahlah STAMP Directive pada baris pertama program ALPHA_IC.BSX atau ALPHA_SS.BS sesuai dengan modul DT-BASIC yang digunakan, yaitu: '{$STAMP BS} untuk DT-BASIC ano, '{$STAMP BSsx} untuk DT-BASIC Micro, '{$STAMP BSp} untuk DT-BASIC Mini. Untuk komunikasi secara I C (program ALPHA_IC.BSX) disarankan untuk menggunakan DT-BASIC Micro / Mini agar tampilan tidak terlalu kelihatan berkedip (karena pengiriman data ke lebih cepat jika dibandingkan dengan DT-BASIC ano ) pada saat tampilan berubah. Program utama (ALPHA_IC.BSX) akan diproses sebagai berikut:. Proses yang pertama kali dilakukan adalah menentukan definisi pin I/O SDA dan SCL untuk komunikasi serial I C. Dan kemudian deklarasi konstanta SPC_ALP_ADDR yang berisi alamat yaitu E6h.. Kemudian deklarasi variabel: position = berisi posisi karakter pada tampilan. index index = digunakan sebagai indeks pengambilan karakter dari text (data dalam EEPROM). = digunakan untuk proses penggeseran posisi karakter yang akan ditampilkan ke tampilan. = digunakan sebagai buffer untuk karakter yang akan ditampilkan. 3. Lalu program mendeklarasikan data dalam EEPROM (text) yang berisi rangkaian karakter, yaitu: " SPC ALPHAUMERIC DISPLA with DT-BASIC -- IC", 00h. 4. Proses selanjutnya yaitu membersihkan tampilan dengan menggunakan prosedur AlphaClearIC. Prosedur ini akan mengirimkan 8 karakter spasi (0h) ke sehingga pada tampilan terlihat kosong (tidak tampil karakter apapun). 5. Program menunggu selama 000 ms. 6. Proses selanjutnya yaitu inisialisasi variabel index dan index pada posisi text. 7. Mengisi tampilan dengan 8 karakter dari text (data dalam EEPROM) dimulai dari posisi yang ditunjuk oleh index. 8. Jika index menunjuk ke posisi akhir dari data EEPROM (text) yang ditandai oleh bernilai 00h tetapi belum mengisi penuh tampilan, maka digit tampilan yang tersisa diisi dengan karakter spasi (0h). 9. Program menunggu selama 50 ms, lalu menambah nilai variabel index dengan. 0. Jika index menunjuk ke posisi akhir dari data EEPROM (text) yang ditandai dengan nilai 00h, maka program akan menghapus tampilan, menuggu selama 00 ms, lalu program kembali ke langkah 6.. Tetapi jika index belum menunjuk ke posisi akhir dari data EEPROM (text), maka nilai dari variabel index dikopikan ke index, lalu program kembali ke langkah 7. Page of 5 Application ote A87
Flowchart dari program ALPHA_IC.BSX adalah sebagai berikut: START Definisi pin I/O (SDA & SCL) Penentuan alamat SPC (E6H) Deklarasi variabel dan data = 0h Tunggu selama 000ms = 8? index = addr[text] index = index Tulis karakter ke = 0 < 8? Tunggu 50 ms Index = index + baca EEPROM[index] baca EEPROM[index] Tulis karakter ke index = index index = index + Tunggu 00ms Gambar Flowchart Program untuk Hubungan antar Modul secara I C Page 3 of 5 Application ote A87
Flowchart dari program ALPHA_SS.BS adalah sebagai berikut: START Definisi pin I/O (S, S, & S3) Penentuan alamat SPC (06H) Deklarasi variabel dan data Inisialisasi pin CLK dan me-reset komunikasi serial synchronous = 0h = 8? Tunggu selama 000ms Tulis karakter ke index = addr[text] index = index = 0 Tunggu 50 ms Index = index + < 8? baca EEPROM[index] baca EEPROM[index] index = index Tulis karakter ke Tunggu 00ms index = index + Gambar 3 Flowchart Program untuk Hubungan antar Modul secara Serial Synchronous Program utama (ALPHA_SS.BS) akan diproses sebagai berikut:. Proses yang pertama kali dilakukan adalah menentukan definisi pin I/O S (CLR), S (DAT), dan S3 (CLK) untuk komunikasi serial synchronous. Dan kemudian deklarasi konstanta SPC_ALP_ADDR yang berisi alamat yaitu 06h.. Kemudian deklarasi variabel: Page 4 of 5 Application ote A87
position index index = berisi posisi karakter pada tampilan. = digunakan sebagai indeks pengambilan karakter dari text (data dalam EEPROM). = digunakan untuk proses penggeseran posisi karakter yang akan ditampilkan ke tampilan. = digunakan sebagai buffer untuk karakter yang akan ditampilkan. 3. Lalu mendeklarasikan data dalam EEPROM (text) yang berisi rangkaian karakter, yaitu: " SPC ALPHAUMERIC DISPLA with DT-BASIC -- SCHROOUS SERIAL", 00h. 4. Kemudian program menginisialisasi pin CLK dengan logika dan me-reset jalur komunikasi serial synchronous dengan cara mengirimkan logika 0 pada pin CLR selama ms. 5. Proses selanjutnya yaitu membersihkan tampilan dengan menggunakan prosedur AlphaClearSer. Prosedur ini akan mengirimkan 8 karakter spasi (0h) ke sehingga pada tampilan terlihat kosong (tidak tampil karakter apapun). 6. Program menunggu selama 000 ms. 7. Proses selanjutnya yaitu inisialisasi variabel index dan index pada posisi text. 8. Mengisi tampilan dengan 8 karakter dari text (data dalam EEPROM) dimulai dari posisi yang ditunjuk oleh index. 9. Jika index menunjuk ke posisi akhir dari data EEPROM (text) yang ditandai oleh bernilai 00h tetapi belum mengisi penuh tampilan, maka digit tampilan yang tersisa diisi dengan karakter spasi (0h). 0. Program menunggu selama 50 ms, lalu menambah nilai variabel index dengan.. Jika index menunjuk ke posisi akhir dari data EEPROM (text) yang ditandai dengan nilai 00h, maka program akan menghapus tampilan, menuggu selama 00 ms, lalu program kembali ke langkah 7.. Tetapi jika index belum menunjuk ke posisi akhir dari data EEPROM (text), maka nilai dari variabel index dikopikan ke index, lalu program kembali ke langkah 8. Listing program ALPHA_IC.BSX dan ALPHA_SS.BS terdapat pada A87.ZIP. Selamat berinovasi! BASIC Stamp Editor is copyright by Parallax Inc. I C is a registered trademark of Philips Semiconductors. Page 5 of 5 Application ote A87