PROGRAMMABLE TIMER DENGAN TAMPILAN M1632 LCD MENGGUNAKAN 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

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

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

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

Pengendalian 8 buah Motor oleh DST-51

Teknik Interface Keypad 4x3 ke DST-51

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

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

KOMUNIKASI DATA DENGAN MENGGUNAKAN TEKNIK RS485

Aplikasi Modul InfraRed Object Detector Sebagai Pengukur Jarak

Aplikasi Pengukur Ketinggian Air Mengunakan Modul Sensor InfraRed Object Detector

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

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)

BAB III RANCANGAN DAN CARA KERJA ALAT

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

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

Memprogram Port sebagai Output dan Input Sederhana

PERCOBAAN 15 I N T E R U P S I

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

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

Antar Muka Modul RTC-1287 dengan Modul DST-51

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

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

AKSES MEMORI Menggunakan DT-51 MinSys

PERCOBAAN 9 T I M E R/ COUNTER

Memprogram Interface Motor

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

PERCOBAAN 1 DISPLAY LED

PERCOBAAN 2 SAKLAR PUSH BUTTON

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

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

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

Memprogram Interupsi AT89S51

BAB III PERANCANGAN SISTEM

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

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

DT-51 Application Note

SISTEM PENGONTROLAN ALAT ELEKTRONIK DENGAN MEDIA KOMPUTER DAN MIKROKONTROLER AT89C51 MELALUI MEDIA KOMUNIKASI SERIAL PORT RS232

Memprogram Interface Display

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

BAB 3 PERANCANGAN ALAT DAN PROGRAM

BAB IV PENGUJIAN DAN ANALISA DATA

BAB III PERANCANGAN SISTEM

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

Akuisasi data dengan remote host AT89s51 melalui serial RS232

DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

TIMER DAN COUNTER MIKROKONTROLER ATMEL

BAB IV ANALISA DAN HASIL UJI COBA RANGKAIAN

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

BAB III DESKRIPSI MASALAH

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER. program pada software Code Vision AVR dan penanaman listing program pada

BAB III ANALISA DAN CARA KERJA RANGKAIAN

TEKNIK MERANCANG APLIKASI DENGAN DST-UNI PROG

BAB III PERANCANGAN DAN PEMBUATAN ALAT

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

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

BAB V PENGUJIAN DAN ANALISIS. dapat berjalan sesuai perancangan pada bab sebelumnya, selanjutnya akan dilakukan

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

BAB III PERANCANGAN. Perancangan tersebut mulai dari: spesifikasi alat, blok diagram sampai dengan

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

de KITS Application Note AN34 Jam Pasir Digital

BAB III PERENCANAAN DAN REALISASI

BAB 2 LANDASAN TEORI. Agar kendaraan lebih teratur dan tidak terlalu padat, biasanya tempat perparkiran ini dibagi

BAB III PERANCANGAN ALAT SIMULASI PEGENDALI LAMPU JARAK JAUH DAN DEKAT PADA KENDARAAN SECARA OTOMATIS

BAB III PERENCANAAN SISTEM DAN PEMBUATAN ALAT

BAB III PERANCANGAN DAN REALISASI ALAT

Mengenal bahasa assembly

BAB 2 LANDASAN TEORI. Dalam bidang elektronika, perlahan-lahan peralatan-peralatan manual mulai digantikan

BAB III DESAIN DAN PENGEMBANGAN SISTEM

Mesin Absensi Sederhana dengan menggunakan R/W RFID

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

BAB IV PENGUJIAN DAN EVALUASI SISTEM. harus dilakukan pengujian terhadap masing-masing alat dan sofware, adapun

BAB III RANCANGAN SISTEM. dirancanag. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram

BAB III ANALISIS DAN PERANCANGAN

III. METODE PENELITIAN. Penelitian tugas akhir ini dilaksanakan di Laboratorium Elektronika Dasar

BAB IV PENGUJIAN DAN ANALISA. Pengujian terhadap sistem yang telah dibuat dilakukan untuk mengetahui

RUNNING TEXT. Gambar 1. Susunan Running Text

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

PERCOBAAN 3 DISPLAY 7 SEGMEN

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

BAB 2 LANDASAN TEORI

BAB III PERANCANGAN SISTEM

DT-51 Application Note

BAB IV ANALISIS DATA DAN PEMBAHASAN

Percobaan 8 INTERFACE MIKROKONTROLER DAN KOMPUTER SECARA SERIAL

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

Menggunakan Bahasa Pemrograman Assembly

MODUL PRAKTIKUM MIKROPOSESOR & INTERFACING

BAB V HASIL DAN PEMBAHASAN Perangkat Keras (Hardware)

DT-51 Application Note

PENGATURAN SAKELAR PADA ACARA CEPAT TEPAT BERBASIS MIKROKONTROLER AT89C2051

DT-BASIC Application Note

Transkripsi:

PROGRAMMABLE TIMER DENGAN TAMPILAN M1632 LCD MENGGUNAKAN MODUL DST-51 Perangkat timer adalah merupakan sebuah perangkat yang seringkali digunakan untuk sebuah sistem elektronik. Artikel berikut ini akan menjelaskan bagaimana sebuah perangkat programmable timer (perangkat timer yang dapat diatur) dibangun dengan menggunakan Modul DST-51. Pemrograman timer dilakukan secara digital dengan menggunakan keypad 4x3 dengan tampilan Modul LCD M1632. MODUL M1632 LCD KEYPAD 4X3 MODUL DST-51 LED Gambar 1 Blok Diagram Programmable Timer Keypad 4x3 yaitu keypad dengan 12 tombol dengan konfigurasi 4 baris dan 3 kolom berfungsi sebagai pemberi masukan data pada timer untuk proses pengaturan waktu. Data waktu yang dimasukkan akan tampil pada layar LCD dan timer akan segera bekerja menghitung mundur. Pada saat perhitungan timer mencapai nilai 0 (time out), maka LCD akan menampilkan pesan time out. Selain pesan time out, Modul DST-51 juga akan mengaktifkan LED yang terhubung pada P3.2/INT0 di mana pada aplikasinya, I/O ini juga dapat digunakan untuk terhubung dengan rangkaian pengendali triac, relay atau peralatan-peralatan lainnya. P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 R1 2 3 4 5 6 7 8 9 1 R-PACK S1 KEYPAD 4X3 1 2 3 4 5 6 7 8 9 * 0 # JP1 P1.3 1 2 P1.0 P1.1 3 4 P1.2 P1.2 P1.3 5 6 P1.4 P1.5 7 8 P1.1 P1.6 P1.7 9 10 P1.0 PORT 1 P1.4 P1.5 P1.6 Gambar 2 Antar Muka Keypad 4x3

Gambar 2 menunjukkan bagian antar muka keypad lengkap dengan konektor penghubung ke DST-51 (JP1) yang berupa amphenol 5x2. Keypad yang digunakan dalam hal ini adalah Keypad 4x3 lengkap dengan common seperti yang pernah dibahas pada Teknik Antar Muka Keypad 4x3 dengan DST-51. Pada gambar 2 tampak common dari keypad tersebut terhubung ke ground. 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 VLCD GND 2 3 1 10K Gambar 3 menunjukkan bagian antar muka Modul LCD M1632 dengan DST-51 di mana proses antar muka dilakukan dengan mode antar muka 4 bit. Potensio 10K yang terhubung pada kaki nomor 3 VLCD berfungsi sebagai pengatur kontras dari layar LCD. Gambar 3 Antar Muka M1632 LCD R1 D1 LED P3.2/INT0 220 Gambar 4 Antar Muka LED Gambar 4 adalah LED yang terhubung ke P3.2/INT0 melalui R1 sebagai pembatas arus. Pada saat timer selesai menghitung, maka kondisi logika P3.2/INT0 akan berlogika 0 sehingga arus mengalir dari melalui LED D1 menuju ke P3.2/INT0 melalui R1 dan mengaktifkan LED tersebut. Bagian ini pada aplikasinya, juga dapat dihubungkan pada rangkaian pengendali relay, triac atau perangkat-perangkat lain yang akan dikontrol oleh sistem timer ini. Pada bagian perangkat lunak, secara garis besar terdiri dari 2 bagian yaitu program utama dan program layanan interupsi. Sedangkan program utama sendiri juga terdiri dari bagian untuk mengaktifkan timer dan bagian yang bekerja saat timer selesai menghitung. Pada bagian untuk mengaktifkan timer, proses dimulai dengan inisialisasi LCD dan Reset Nilai Timer di mana pada bagian Reset Nilai Timer, nilai-nilai waktu

tersebut akan dimasukkan melalui Keypad 4x3 dan tampilan LCD M1632. Setelah nilai timer terisi sesuai keinginan pengguna, maka timer diaktifkan sehingga proses penghitungan waktu terjadi. Proses penghitungan waktu dilakukan dengan menggunakan layanan interupsi timer 0 (gambar 6). Layanan interupsi berjalan secara terpisah (independent) sehingga program utama dapat berhenti saja pada satu lokasi tertentu ataupun menjalankan aplikasi lain selama aplikasi tersebut tidak menggunakan timer 0 dari AT8951. Apabila timer telah selesai menghitung, maka program akan masuk ke bagian program utama saat timer selesai di mana pesan time out ditampilkan ke LCD dan LED aktif. Pada aplikasi ini, memang terlihat program berhenti setelah LED aktif, namun pengguna juga dapat memodifikasi dengan menambahkan program lain yang bekerja setelah itu. Contohnya apabila pengguna ingin mengirimkan pesan time out tersebut ke port serial, maka pengguna dapat menambahkan program pengiriman data ke port serial di antara bagian Aktifkan LED dan Program Utama Berhenti. Rutin pengiriman pesan melalui port serial pada Modul DST-51 dapat dilakukan dengan memanggil rutin siap pakai KirimPesan_Serial. Bagian program utama saat timer selesai LCD ke posisi awal Bagian program untuk mengaktifkan timer Inisial LCD Tampilkan pesan Time Out Aktifkan LED Program Utama berhenti Reset Nilai Timer Start Timer 0 Program Utama berhenti Gambar 5 Diagram Alir Utama Proses penghitungan timer dilakukan pada bagian layanan interupsi dengan proses perhitungan mundur dari nilai awal yang sebelumnya telah dimasukkan melalui keypad. Selama penghitungan waktu belum selesai, maka program akan kembali dari interupsi. Artinya kembali ke lokasi di mana proses interupsi terjadi dan melanjutkan jalannya program di sana sampai interupsi berikutnya terjadi. Namun apabila proses penghitungan waktu telah selesai, maka program akan melompat ke bagian dari program utama saat timer selesai.

Reset Timer 0 Kurangi Waktu Waktu habis? Tidak Kembali dari interupsi Ya Lompat ke bagian program utama saat timer berhenti Gambar 6 Diagram Alir Layanan Interupsi Program Utama: $MOD51 ;********* ; PROGRAM UTAMA TIMER ;********* ROM EQU 2000H Org ROM ;Reset Vector Ajmp Start ; Org ROM+3H ;External Interrupt 0 Vector Org ROM+0BH ;Timer 0 Interrupt Vector Ajmp Timer0_Interrupt Org ROM+13H ;External Interrupt 1 Vector Org ROM+1BH ;Timer 1 Interrupt Vector Org ROM+23H ;Serial Interrupt Vector Start: Lcall Init_LCD ;Inisial LCD Acall ResetNilaiTimer ;Isi nilai timer Acall StartTimer0 ;Aktifkan timer Ajmp $ TimerSelesai: Lcall Posisi_Awal ;LCD ke posisi awal Mov DPTR,#PesanTimeOut ;Tampilkan pesan time out Lcall KirimPesan_LCD ; Clr P3.2 Ajmp $ PesanTimeOut: DB 'Time Out',0FH

Pada potongan program 1 adalah merupakan inti dari program timer ini, di mana setiapkali interupsi terjadi, maka nilai waktu yang berada di variabel nilai timer berkurang satu hingga nilai waktu mencapai nol. Pada saat nilai waktu mencapai nol maka program harus melompat ke bagian dari program utama yang menunjukkan bahwa timer telah selesai, yaitu pada label timer selesai. Hal ini dilakukan dengan memanipulasi isi stack pointer dengan label timer selesai sehingga instruksi RETI akan mengalihkan jalannya program menuju ke label tersebut (perhatikan bagian untuk mengembalikan nilai-nilai register) Potongan Program 1 Layanan Interupsi Timer ;********************** ; RUTIN INTERUPSI TIMER 0 ; - Terjadi setiap 10 ms ; - Nilai Timer berkurang setiap 10 ms ;********************** Timer0_Interrupt: Acall ResetTimer0 Acall KurangiWaktu Setb ET0 Reti ;******************* ; RUTIN PENGURANGAN WAKTU DENGAN FORMASI 24 HOURS ;******************* KurangiWaktu: Mov R0,#NilaiTimer ;Mili detik - 1 Dec @R0 ; Cjne A,#-1,TidakReset ; Mov @R0,#99 ;Mili detik = -1 -> Mili detik = 99 Acall DisplayTimer ;Tampilkan nilai timer Inc R0 ;Detik - 1 Dec @R0 ; ;********* Cjne A,#-1,TidakReset ;Detik = -1 -> Detik = 59 Mov @R0,#59 ; Inc R0 ; Dec @R0 ;Detik - 1 Cjne A,#-1,TidakReset ;Menit = -1 -> Menit = 59 Mov @R0,#59 ; Inc R0 ; Dec @R0 ;Menit - 1 Cjne A,#-1,TidakReset ;Jam = -1 -> Time Out Clr TR0 ;Timer berhenti

;BAGIAN UNTUK MENGEMBALIKAN NILAI-NILAI REGISTER KE KONDISI SEMULA ;************ Mov RTemp+5,DPH ; Mov RTemp+4,DPL ; Mov RTemp+3,00 ; Mov RTemp+2,A ;Simpan nilai-nilai register di register Mov RTemp+1,B ;temporary Mov RTemp,PSW ; Mov B,StackTimer Mov A,SP Clr C Subb A,B LoopRecover: Pop 00H Djnz ACC,LoopRecover Pop 00H Pop 00H Mov DPTR,#TimerSelesai; Push DPL ;Label Timer Selesai diisi ke stack Push DPH ; Mov PSW,RTemp ;Ambil kembali nilai-nilai register Mov B,RTemp+1 ;dari register temporary Mov A,RTemp+2 ; Mov 00H,RTemp+3 ; Mov DPL,RTemp+4 ; Mov DPH,RTemp+5 ; TidakReset: Ret Program lengkap dari timer ini dapat didownload dari bagian software dengan nama file ptimer.zip.