MENAMPILKAN 1000 KARAKTER PESAN PADA MODUL M1632 LCD OLEH MODUL DST-51

dokumen-dokumen yang mirip
PENGHITUNG WAKTU DENGAN TAMPILAN LCD M1632 OLEH DST-51

MESIN KETIK ELEKTRONIK DENGAN TAMPILAN M1632 LCD OLEH MODUL DST-52

PENGGUNAAN KEYPAD 4X3 DAN PC KEYBOARD PADA MODUL DST-52 DENGAN TAMPILAN M1632 LCD

PROGRAMMABLE TIMER DENGAN TAMPILAN M1632 LCD MENGGUNAKAN MODUL DST-51

TAMPILKAN NADA DTMF DAN DERING TELEPHONE OLEH MODUL DF-88 DAN MODUL DST-51 PADA LCD

PENAMPIL TOMBOL-TOMBOL REMOTE CONTROL SONY PADA M1632 LCD OLEH MODUL DST-52

PENULISAN KARAKTER DENGAN MENGGUNAKAN TEKNIK PENULISAN PADA KEYPAD HANDPHONE OLEH MODUL DST-51, KEYPAD 4X3 DAN M1632 LCD

Pengendalian 8 buah Motor oleh DST-51

Wireless Infrared Printer dengan DST-51 (Pengambilan Data dari Standard Parallel Port)

APLIKASI MODUL DST -52 SEBAGAI JAM DIGITAL DENGAN INPUT DARI PC KEYBOARD DAN M1632 LCD SEBAGAI PENAMPIL

Aplikasi Modul InfraRed Object Detector Sebagai Pengukur Jarak

Teknik Interface Keypad 4x3 ke DST-51

Aplikasi Pengukur Ketinggian Air Mengunakan Modul Sensor InfraRed Object Detector

Register-register MT8888

AD Channel AD Conversion

PENGATURAN KECEPATAN MOTOR DENGAN PC OLEH DST-5 2

DASAR INPUT/OUTPUT (1) (PORT PPI DAN PORT 1 SEBAGAI OUTPUT)

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

DOWNLOAD BITMAP FILE KE LCD GRAFIK 240X64 PIXEL OLEH MODUL DST-51

AKSES MEMORI Menggunakan DT-51 MinSys

ANTAR MUKA M1632 LCD DENGAN MODUL DST-52 MENGGUNAKAN BAHASA C

PANDUAN PRAKTIKUM DASAR MIKROKONTROLER KELUARGA MCS-51 MENGGUNAKAN DT-51 MINIMUM SYSTEM VER 3.0 DAN DT-51 TRAINER BOARD

Antar Muka Modul RTC-1287 dengan Modul DST-51

DASAR INPUT/OUTPUT (2) (PORT PPI DAN PORT 1 SEBAGAI INPUT/OUTPUT)

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

KOMUNIKASI DATA DENGAN MENGGUNAKAN TEKNIK RS485

DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

Memprogram Interface Display

Memprogram Port sebagai Output dan Input Sederhana

DT-51 Application Note

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

Menampilkan nilai dari 8 kanal ADC ke Port Serial PC oleh Modul ST-51 dan AD-0809 V2.0

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

Memprogram Interface Motor

de KITS Application Note AN24 - How 2 Use de KITS Phone Interface with DT-51 MinSys ver 3.0

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

Memprogram Interupsi AT89S51

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

DAFTAR PUSTAKA. Agfianto Eko Putra, BELAJAR MIKROKONTROLLER AT89C51/52/53, Gava Media, 2005.

Percobaan 4. Mengakses built-in routine LCD pada DT-51 Minimum sistem. Membuat program untuk menampilkan karakter ASCII pada LCD.

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB III ANALISA DAN CARA KERJA RANGKAIAN

BAB 3 PERANCANGAN ALAT DAN PROGRAM

BAB III RANCANGAN DAN CARA KERJA ALAT

Mesin Absensi Sederhana dengan menggunakan R/W RFID

APLIKASI HITACHI M1632 LCD PADA SC - AVR

Daftar Isi. Trademarks & Copyright

RUNNING TEXT. Gambar 1. Susunan Running Text

TEKNIK MERANCANG APLIKASI DENGAN DST-UNI PROG

SST-01 LCD Sub System 01 LCD Interface

TIMER DAN COUNTER MIKROKONTROLER ATMEL

THERMOMETER DIGITAL DENGAN MODUL DST-51, ADC-0809 DAN LCD 2X16

PERCOBAAN 1 DISPLAY LED

PC-Link Application Note

PERCOBAAN 2 SAKLAR PUSH BUTTON

I/O dan Struktur Memori

PERCOBAAN 15 I N T E R U P S I

Antarmuka LCD pada DST-AVR

BAB 13 INTERFACE KE PRINTER DOT MATRIKS

Percobaan 6. SERIAL INTERFACE Menggunakan DT-51 MinSys

PERCOBAAN 9 T I M E R/ COUNTER

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

Percobaan 7 INTERFACE MIKROKONTROLER DAN MOTOR STEPPER

DT-51 Application Note

M1632 MODULE LCD 16 X 2 BARIS (M1632)

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

Akuisasi data dengan remote host AT89s51 melalui serial RS232

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

Flowchart Bagian Pemancar

LAMPIRAN D DATA SHEET

PERTEMUAN. SET INSTRUKSI MIKROKONTROLER AT 89C51 (Lanjutan)

Antarmuka PC Keyboard dengan DST-AVR

BAB 2 LANDASAN TEORI. Dalam bab ini penulis akan membahas tentang komponen-komponen yang

Universitas Sumatera Utara

Mengenal bahasa assembly

BAB IV PENGUJIAN DAN ANALISA SISTEM

Percobaan 8 INTERFACE MIKROKONTROLER DAN KOMPUTER SECARA SERIAL

BAB IV PENGUJIAN DAN PEMBAHASAN

BAB IV PENGUJIAN DAN EVALUASI SISTEM. Pengujian dan evaluasi sistem pada tugas akhir ini meliputi perangkat

DT-AVR Low Cost Micro System. Gambar 1 Blok Diagram AN154. RXD (J13 Pin 3) TXD (J8 Pin 4) GND (J10/J11/J12/J13 Pin 1) GND (J7/J8 Pin 1)

APLIKASI SMS PADA JARINGAN TELEPHONE OLEH MODUL DST-52 DAN DF-88

PERCOBAAN 3. KONTROL DISPLAY 7-SEGMENT Menggunakan DT-51 MinSys

BAB III PERENCANAAN DAN REALISASI

de KITS Application Note AN9-8 Channel Temperature Display

Daftar Isi. Trademarks & Copyright

SISTEM INTERUPSI MIKROKONTROLER ATMEL

de KITS Application Note AN30 Rotating Display with DT-51 MinSys & de KITS SPC DC Motor

BAB III PERANCANGAN SISTEM

Alarm Pintu, Harap Pintu Tutup Kembali, Jangan Buka Pintu Lama-lama versi 2

BAB IV PENGUJIAN ALAT

Laporan Modul 2, EL3006 Timer/Counter dan Interrupt Jongguran Sondang DN ( )/ Kelompok 48/ Jumat, 14 Maret 2008 Asisten: Virgilius

4. Port Input/Output Mikrokontroler MCS-51

Trademarks & Copyright

PROSES PENGAMBILAN DATA SENSOR DARI DQI

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

Menggunakan Bahasa Pemrograman Assembly

BAB II LANDASAN TEORI

Transkripsi:

MENAMPILKAN 1000 KARAKTER PESAN PADA MODUL M1632 LCD OLEH MODUL DST-51 Aplikasi ini akan membahas bagaimana proses penampilan pesan sebanyak 1000 karakter pada layar M1632 LCD. Untuk menampilkan pesan sebanyak 1000 karakter pada layar LCD yang hanya menampung 32 karakter harus dilakukan dengan menggunakan proses pergeseran. Pada aplikasi ini, proses pergeseran dilakukan ke arah kiri maupun kanan di mana kendali dari proses ini dilakukan dengan menggunakan perintah -perintah yang dikirim oleh port serial ke Modul DST- 51. Modul M1632 LCD PC Modul DST-51 Gambar 1 Blok Diagram PC melalui port serial akan mengirimkan perintah -perintah yang akan mengendalikan proses pergeseran tampilan di mana perintah -perintah tersebut adalah sebagai berikut: > : Geser display ke kanan < : Geser display ke kiri Data lain : Berhenti Lokasi awal tabel pesan Lokasi akhir tabel pesan Temporary 1000 karakter pesan 32 karakter yang ditampilkan di layar LCD Gambar 2 Pergeseran memori ke kanan

Lokasi awal tabel pesan Lokasi akhir tabel pesan Temporary 1000 karakter pesan 32 karakter yang ditampilkan di layar LCD Gambar 3 Pergeseran memori ke kiri Layar LCD selalu menampilkan 32 byte karakter yang pertama, oleh karena itu agar tampilan pada layar LCD dapat terlihat bergeser ke kanan, maka memori yang digunakan penyimpanan 1000 karakter tersebut harus digeser ke kanan. Proses dimulai dengan menggeser bagian paling kanan (lokasi akhir table pesan) ke tempat penamp ungan sementara (temporary) terlebih dahulu dan dilanjutkan dengan menggeser 999 karakter berikutnya ke kanan. Sedangkan karakter yang tersimpan di temporary akan dipindah ke lokasi awal table pesan. Demikian pula sebaliknya, untuk pergeseran ke kiri dilakukan dengan memindah karakter paling awal ke temporary dan dilanjutkan dengan menggeser 999 karakter berikutnya ke kiri. Proses ini diakhiri dengan memindah nilai temporary ke lokasi akhir dari table pesan. VCC P0.7 P0.6 P0.5 P0.4 P3.2 P2.1/A9 14 13 12 11 10 9 8 7 6 5 4 U? D7 D6 D5 D4 D3 D2 D1 D0 E R/W RS LCD MATRIX 2X16 VCC VLCD GND 2 3 1 10K Gambar 4 Antar Muka M1632 LCD dengan Modul DST-51 Gambar 5 menunjukkan bagaimana proses yang terjadi pada bagian program utama. Proses diawali dengan inisialisasi LCD dan dilanjutkan dengan mengaktifkan interupsi serial. Hal ini dilakukan agar sistem ini dapat menerima perintah dari PC melalui port serial setiap saat. Perintah -perintah tersebut adalah perintah yang mengatur tampilan pada layar LCD dan akan tersimpan di variabel arah. Setiap kali satu proses pergeseran dilakukan, program akan selalu memeriksa data pada variabel arah. Apabila data pada variabel arah mengindikasi arah kiri, maka proses pergeseran ke kiri dilakukan dan bila data tersebut mengindikasikan arah kanan, maka proses pergeseran ke kanan dilakukan.

Inisial LCD Aktifkan Interupsi Serial Tampilkan 2 baris pesan Arah Kanan? Arah Kiri? Ya Geser Kanan Ya Geser Kiri Gambar 5 Diagram Alir Program Utama Gambar 6 menunjukkan diagram alir dari proses pergeseran data ke arah kiri. Proses ini diawali dengan memindah data di lokasi awal ke temporary. Kemudian Register DPTR akan menunjuk ke lokasi pesan selanjutnya. Isi dari lokasi tersebut dipindah ke lokasi DPTR sebelumnya (DPTR -1) sehingga data tersebut tergeser ke kiri. Hal ini dilakukan sebanyak 999 kali sehingga 1000 karakter telah tergeser ke kiri. Kemudian proses diakhiri dengan memindah isi temporary ke bagian akhir dari data. Demikian seterusnya sehingga data tersebut tampak berputar ke kiri. Data awal disimpan ke temporary DPTR+1 Isi DPTR dipindah ke DPTR-1 999x? Temporary ke data akhir Gambar 6 Diagram Alir Pergeseran ke kiri

Sebaliknya untuk pergeseran ke arah kanan, diawali dengan memindah data terakhir ke temporary dan Register DPTR menunjuk ke lokasi sebelumnya (DPTR -1). Isi dari lokasi yang ditunjuk oleh DPTR tersebut dipindah ke lokasi yang ditunjuk oleh DPTR + 1 sehingga data bergeser ke arah kanan. Dengan dilakukannya proses ini sebanyak 999 kali, maka 1000 karakter telah bergeser 1 kali ke kanan. Proses ini diakhiri dengan memindah data pada temporary ke bagian awal dari pesan sehingga tampak data berputar ke arah kanan. Data akhir simpan ke temporary DPTR-1 Isi DPTR dipindah ke DPTR+1 Tidak 999x? Temporary ke data awal Gambar 7 Diagram alir pergeseran ke kanan Listing 1 $MOD51 DSEG Org 50H PTR: Ds 2 ;Variabel penyimpan DPTR sementara JumlahData: Ds 2 ;Variabel jumlah data Arah: Ds 1 CSEG ;********************* ; RUTIN SIAP PAKAI MODUL DST-51 ;********************* ROM EQU 2000H Kirim_Perintah EQU 0276H Kirim_Karakter EQU 0295H PosisiAwal_LCD EQU 0216H Init_LCD EQU 0237H Baris2_LCD EQU 029FH Delay_100mS EQU 016EH Writeext_Memory EQU 0157H Dec_DPTR EQU 0130H Org ROM ;Reset Vector

Ajmp Start ; Org ROM+3H ;External Interrupt 0 Vector Org ROM+0BH ;Timer 0 Interrupt Vector Org ROM+13H ;External Interrupt 1 Vector Org ROM+1BH ;Timer 1 Interrupt Vector Org ROM+23H ;Serial Interrupt Vector Ajmp InterupsiSerial Start: Lcall Init_LCD ;Inisial LCD Clr RI ;Matikan Flag Interupsi Clr TI ; Setb EA ;Aktifkan interupsi serial Setb ES ; Loop: Lcall PosisiAwal_LCD ;LCD ke posisi awal Mov DPTR,#PesanLCD ;Tampilkan 2 baris pesan Lcall Kirim2barisLCD ; Mov A,Arah ;Periksa arah pergeseran Cjne A,#'>',BukanKanan ; Acall GeserMemoriKanan ; Ajmp Loop BukanKanan: Cjne A,#'<',Loop ; Acall GeserMemoriKiri ; Ajmp Loop ; GeserMemoriKanan: Mov JumlahData+1,#04 ; Mov JumlahData,#0E7H Push DPH ;Data terakhir (temporary-1) dipindah ke temporary Mov DPTR,#Temporary ; Mov DPTR,#Temporary-1 ; Lcall Dec_DPTR ;DPTR - 1 LoopGeserKanan: Movx A,@DPTR ;Data di DPTR dipindah ke DPTR + 1 Push DPH ;

Inc DPTR ; Lcall Dec_DPTR ;DPTR - 1 Djnz JumlahData,LoopGeserKanan ;Looping 999 kali Djnz JumlahData+1,LoopGeserKanan ; Mov DPTR,#PesanLCD ;Data di temporary dipindah ke data awal Mov DPTR,#Temporary ; Ret GeserMemoriKiri: Mov JumlahData+1,#04 Mov JumlahData,#0E7H Push DPH ;Data Awal dipindah ke temporary Mov DPTR,#Temporary ; Mov DPTR,#PesanLCD ; Inc DPTR ;DPTR + 1 LoopGeserKiri: Movx A,@DPTR ;Isi DPTR dipindah ke DPTR - 1 Push DPH ; Lcall Dec_DPTR ; Inc DPTR ;DPTR + 1 Djnz JumlahData,LoopGeserKiri ;lakukan 999 kali Djnz JumlahData+1,LoopGeserKiri ; Push DPH ;Isi Temporary dipindah ke data terakhir Mov DPTR,#Temporary-1 ;

Ret Pindahkan: Movx A,@DPTR ;Ambil data di DPTR Push DPH ;Simpan di alamat yang ditunjuk oleh variabel PTR Mov DPH,PTR+1 ; Mov DPL,PTR ; Lcall Writeext_memory ; Ret ;*********** ; Mengirim 32 byte pesan dengan 16 byte di baris 1 dan 16 byte berikutnya di baris 2 ; LCD ;*********** Kirim2BarisLCD: Mov R6,#2 ;Jumlah baris = 2 LoopBaris: Mov R7,#16 ;Jumlah kolom karakter = 16 LoopKolom: Movx A,@DPTR ;Ambil data di lokasi yang ditunjuk DPTR Lcall Kirim_Karakter ;Tampilkan di LCD Inc DPTR ; Djnz R7,LoopKolom ;Lakukan hingga 16 kali Lcall Baris2_LCD ;Pindah ke baris 2 Djnz R6,LoopBaris ;Kembali tampilkan baris berikutnya Ret PesanLCD: 'Program ini berfungsi untuk menampilkan 1000 karak' 'ter pada layar LCD M1632 dengan metode pergeseran' 'memori eksternal Modul DST-51 di mana arah perge' 'seran dapat diatur oleh PC melalui Port Serial.' 'di mana tanda > akan mengatur pergeseran ke arah' 'kanan tanda < akan mengatur pergeseran ke arah ki' 'ri dan sembrg tombol akan menghentikan pergeseran' 'Media penyimpanan data untuk 1000 pesan ini menggu' 'nakan memori eksternal Parallel EEPROM AT28C64' 'sebesar delapan kilo byte. Listing program ini dia' 'ssembly dengan menggunakan software ASM51.exe yang' 'dapat didownload secara gratis di www.delta-electr' 'onic.com bagians software. Proses pergeseran dilak' 'ukan dengan menggeser 1000 pesan yang tersimpan pa' 'da memori eksternal tersebut sedangkan proses scan' 'ning tetap pada tiga puluh dua byte data pertama' 'dari tabel pesan setiap periode tertentu di mana'

'pengaturan periode dilakukan dengan mengatur delay' 'yang diberikan setiap kali looping pergeseran dari' '1000 pesan tersebut dilakukan ********************' Temporary: 00 InterupsiSerial: Clr ES ;Matikan interupsi serial Mov Arah,SBUF ;Variabel arah diisi data input serial Clr TI ;Hapus Flag serial Clr RI ; Setb ES ;Aktifkan interupsi serial END