LAPORAN MIKROKONTROLER JOB 2 AKSES LCD

                                             
                                                       PRAKTIKUM MIKROKONTROLER
AKSES LCD

Disusun Oleh
Khairinnisa Siregar ( 16507134042)
          




TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA





A.    Tujuan
Setelah melakukan praktik mahasiswa diharapkan dapat:
1.      Memahami konfigurasi LCD
2.      Menguasai animasi tampilan data pada LCD
B.     Dasar Teori
Mengakses LCD padaAVR dapat dilakukan dengan mode 4 bit. Untuk menggunakan mode 4 bit, kita dapat menggunakan library built in pada Code Vision. Library ini telah terdapat berbagai fungsi untuk menampilkan karakter ke LCD. Beberapa perintah dasar akses LCD antara lain;
1.      Membersihkan layar LCDClear();
2.      Set cursor pada posisi tertentu LCDGotoXY(x,y); x merupakan colom pada LCD, y adalah barisnya. Pada LCD 16x2, terdapat 16 yakni 0-15 dan 0-1.
3.      Inisialisasi LCD lcd_init(void)
4.      Menuliskan karakter ke LCD lcd_putchar(char c). Misalnya lcd_putchar(”C”) akan menuliskan karakter C ke LCD.
5.      Menuliskan string ke LCD lcd_putsf(char*str). Misalnya, lcd_putsf(“TEMPERATURE”) akan menuliskan string TEMPERATURE pada LCD. Sebelum dapat menggunakan berbagai fungsi tersebut, pada bagian header dari program kita harus menginclude librarynya.
C.     Alat dan Bahan
1.      Modul AVR Atmega8535/8/16/32
2.      PC (Personal computer)/laptop
3.      Jumper
D.    Skema Rangkaian
       


E.     Langkah Kerja dan Pengamatan
1.       Buatlah  alat dan bahan seperti rangkaian di atas;
2.       Buatlah program seperti yang tertulis berikut, uji cobakan/simulasikanlah di Proteus lalu coba pada hardware nyata;
3.       Cobalah list program berikut;
*****************************************************/
#include <mega8535.h>
#include <delay.h>

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x12 ;PORTD
#endasm
#include <lcd.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
       // Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
   Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T 
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T 
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In
 // Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T 
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
// Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T 
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization lcd_init(16); {
lcd_gotoxy(0,0);     //masuk ke i digit pertama lcd_putsf("KELAS B 2012");  //
 lcd_gotoxy(0,1);
delay_ms(100);     //delay akhir tampilnya 100ms lcd_clear();       // bersihkan LCD untuktampilan berikutnya
}
lcd_putsf("BELAJAR AVR..!"); delay_ms(500); lcd_clear();
 lcd_gotoxy(0,0);
lcd_putsf("SUKSES BRO");
lcd_gotoxy(0,1); lcd_putsf("PT. ELKA 2012");
delay_ms(1000); lcd_clear();
lcd_gotoxy(0,0); lcd_putsf("Sinau sregep..");
lcd_gotoxy(0,1); lcd_putsf("by Muslikhin"); delay_ms(500); lcd_clear();
 while (1)
      {
      // Place your code here

      };
}

F.      Hasil dan Analisa
Hasil rangkain setelah disimulation

Analisa : dari praktikum yang dilakukan dapat dianalisa bahwa untuk menampilkan karakter huruf pada LCD sintaks pada program diawali dengan header program #include <mega8535.h> yang digunakan untuk mengaktifkan fungsi IC Atmega 8535 kemudian #include<alcd.h> untuk mengaktifkan fungsi LCD dan yang terakhir menggunakan header #include <delay.h> ini digunakan untuk mengaktifkan fungsi jeda pada tampilan LCD. Setelah header program dibuat lalu tipe data void kemudian pada sintaks program ini terdapat inisialisasi lcd_init(16) yang berarti bahwa kolom yang tersedia pada lcd adalah 16 kolom yaitu mulai dari kolom 0-15. Jika angka dalam kolom berubah maka jumlah kolom yang dapat diisi karakter sama dengan angka yang tertera pada angka inisialisasi. Dalam menampilkan kumpulan beberapa karakter pada program ini digunakan string lcd_putsf(“SUKSES BRO”); yang berarti bahwa lcd akan menampilkan string “SUKSES BRO” pada baris dan kolom yang telah ditentukan.untuk menentukan baris dan kolom pada program digunakan lcd_gotoxy(0,0); yang berarti menunjukkan daerah yang dituju adalah baris 1 dan kolom 1 sehingga yang tampil pada lcd adalah kalimat “SUKSES BRO” yang dimulai dari baris 1 dan kolom 1.

G.     Kesimpulan
Dari praktikum yang dilakukan dapat disimpulkan :
1.   LCD (Liquid Crystal Display) adalah salah satu pitanti elektronik yang berfungsi untuk menampilkan karakter, gambar ataupun tulisan sesuai yang kita inginkan.
2.  Adapun konfigurasi LCD pada program ini digunakan pin VSS dan VDD merupakan sambungan catu daya dimana pin VDD dihubungkan dengan tegangan positif dan pin VCC sebagai ground kemudian  pin VEE digunakan untuk mengatur kontras display,Pin RS(Register Select ) merupakan masukkan yang pertama dari tiga command control input, pin RW digunakan untuk memfungsikan sebagai perintah write maka RW low atau menulis karakter ke modul dan RW high untuk membaca data karakter dari registernya,Pin E (Enable) digunakan untuk transfer aktual dari perintah-perintah antara modul dengan hubungan data, dan Pin D4-D7 merupakan jalur data-data bus.

Komentar

Postingan populer dari blog ini

LAPORAN MIKROKONTROLER TIMER/COUNTER

LAPORAN MIKROKONTROLER RTC

LAPORAN MIKROKONTROLER KEYPAD