Cari Blog Ini

Jumat, 27 Desember 2013

Praktikum-praktikum di Kelas

PRAKTEK-3
LCD KARAKTER

·         TUJUAN: 
1. Mahasiswa memahami rangkaian interface mikrokontroller dengan LCD Karakter 2 x 16 .
2. Mahasiswa dapat memahami program assembly untuk menampilkan data ke LCD Karakter 2 x 16 .
3. Mahasiswa memahami beberapa instruksi assembly dasar, MOV, Setb, Clr, dan waktu tunda .
4. Mahasiswa memahami mencetak karakter pada posisi baris dan kolom tertentu .

Gambar. Rangkaian interface ke LCD Karakter 2 x16

Modul LCD Character dapat dengan mudah dihubungkan dengan mikrokontroller seperti AT89S51.LCD yang akan kita praktikumkan ini mempunyai lebar display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 2x16, dengan 16 pin konektor, yang didifinisikan sebagai berikut:

Gambar. Modul LCD Karakter 2x16

·         INISIALISASI
Sebelum kita dapat menggunakan modul LCD, kita harus melakukan inisialisasi dan mengkonfigurasikannya. Hal ini dijalankan dengan mengirimkan sejumlah instruksi ke LCD. Antara lain: pengaturan lebar data interface 8 bit atau 4 bit data bus, pemilihan ukuran font karakter 5x8 atau 5x7 dan lain-lain, dengan instruksi sebagai berikut.

 Init_lcd:
           mov r1,#00000001b              ;Display clear
           call write_inst                        ;EN=pulse dan RS=0
           mov r1,#00111000b              ;Function set, ;Data 8 bit,2 line font 5x7
           call write_inst                        ;Set bit EN=pulse dan RS=0
           mov r1,#00001100b              ;Display on, ;cursor off,cursor blink off
           call write_inst                        ;EN=pulse dan RS=0
           mov r1,#00000110b              ;Entry mode, Set increment
           call write_inst
           ret

Contoh Latihan :



1.       Membuat Sebuah Karakter pada LCD Karakter
 berikut kode programnya :

           org 0000h
           call init_LCD
 start: mov R1,#80h                         ; Lokasi Display RAM, Row=1 Col=1
           call write_inst
           mov R1,#'A'                           ; Cetak Karakter A
           call write_data
           stop: sjmp stop
Init_lcd:
           mov r1,#00000001b              ;Display clear
           call write_inst 
           mov r1,#00111000b              ;Function set,Data 8 bit,2 line font 5x7 
           call write_inst 
           mov r1,#00001100b              ;Display on, ;cursor off,cursor blink off 
           call write_inst
           mov r1,#00000110b              ;Entry mode, Set increment
           call write_inst
           ret
           ;
Write_inst:
           clr P3.6                      ; P3.6 = RS =0 
           mov P0,R1                 ; P0 = D7 s/d D0 = R1
           setb P3.7                    ; P3.7 =EN = 1 
           call delay                     ; call delay time
           clr P3.7                       ; P3.7 =EN = 0
           ret
           ;
Write_data:
           setb P3.6                   ; P3.6 = RS =1
           mov P0,R1                ; P0 = D7 s/d D0 = R1
           setb P3.7                   ; P3.7 =EN = 1
           call delay                   ; call delay time
           clr p3.7                      ; P3.7 =EN = 0
           ret
           ;
 delay: mov R0,#0
             delay1:mov R7,#0fh
           djnz R7,$
           djnz R0,delay1
           ret
           ;
End

Berikut beberapa langkah2 untuk membuat program diatas :

1.       Pasang jumper LCD_EN, yang berfungsi untuk memberikan power supply +5V
2.       Hubungkan modul Microcontroller Trainer dengan power supply +5V
3.       Hubungkan modul Microcontroller Trainer dengan rangkaian programmer 
4.       Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
5.       Ketik program diatas
6.       Simpanlah program yang anda ketik dan beri nama : prog41a.asm
7.       Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
8.       Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
9.       Lakukan pengamatan pada LED.



Semoga bermanfaat.Mohon maaf jika ada kesalahan atau kekurangan dari postingan saya karena saya juga masih dalam tahap belajar. ^_^


Tidak ada komentar:

Posting Komentar