LAPORAN2
LAPORAN2
PRAKTIKUM MIKROKONTROLLER
DOSEN PENGAMPU MUSLIKHIN, M.Pd.
AKSES LCD
OLEH:
SETO AJI PRATAMA
NIM. 15507134010/B1
TEKNIK ELEKTRONIKA
PENDIDIKAN TEKNIK ELEKTRONIKA DAN INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKART
A. TUJUAN
Setelah melakukan praktik mahasiswa diharapkan dapat:
1. Memahami konfigurasi LCD
2. Menguasai animasi tampilan data pada LCD
B. TEORI DASAR
Mengakses LCD pada AVR 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.
LCD2
LM016L
LCD1
LM016L
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
HOLD U1
2 1 1 40
1
2
3
RR 4
RW 5
EN 6
7
8
9
10
D4 11
D5 12
D6 13
D7 14
PB0/T0/XCK PA0/ADC0
2 39
PB1/T1 PA1/ADC1
3 38
PB2/AIN0/INT2 PA2/ADC2
4 37
PB3/AIN1/OC0 PA3/ADC3
5 36
PB4/SS PA4/ADC4
RV1 6
PB5/MOSI PA5/ADC5
35
7 34
PB6/MISO PA6/ADC6
8 33
PB7/SCK PA7/ADC7
RR 14 22
PD0/RXD PC0/SCL
RW 15 23
PD1/TXD PC1/SDA
EN 16 24
PD2/INT0 PC2
10k 17 25
PD3/INT1 PC3
RESET
18 26
PD4/OC1B PC4
D4 19 27
PD5/OC1A PC5
D5 20 28
D6 PD6/ICP1 PC6/TOSC1
21 29
PD7/OC2 PC7/TOSC2
D7
C1 12
XTAL1
R1 X1 13
XTAL2 AREF
32
2
4k7 33p 9 30
RESET AVCC
C6 C5 RESETCRYSTAL
ATMEGA8535
100u 10n
C2
1
RESET
33p
void main(void)
{
// Declare your local variables here
// 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;
lcd_gotoxy(0,1);
delay_ms(100); //delay akhir tampilnya 100ms
lcd_clear(); // bersihkan LCD untuk tampilan 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 2015");
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
};
}
4. Buatlah kesimpulan dari hasil praktik saudara.
5. Tugas, buatlah program dengan tulisan LOADING berjalan dari kiri ke kanan
setelah itu muncul MIKRO B 2014 tulisan berjalan dari kanan kekiri.
6. Tuliskan hasil praktikum ini dan praktikum selanjutnya dengan format.
}
}
Dari program diatas terdapar perulangan yaitu for yang berfungsi supayan
karakter tersebut bergerak, kemudian terdapat variable kolom yang sebelumnya
harus dikenalkan terlebih dahulu secara global.
G. SIMPULAN
LCD mempunyai banyak macamnya misalkan LCD 16x2, LCD 20x3 dll.
Sebelum menampilkan karakter ke LCD terdapat konfigurasi yang harus di
lakukan didalam AVR adapun konfigurasi tersebut meliputi PORT sebagai output,
karakter line, bit yang digunakan sebagai output ke LCD, semua itu terdapat
dalam alphanumeric LCD dan wajib konfigurasi terlebih dahulu sebelum
menampilkan karakter pada LCD
Untuk mengakses LCD pada AVR terdapat library yang berfungsi untuk
menampilkan karakter. Beberapa contok perintah dasar untuk mengakses LCD
yaitu lcd_clear(), lcd_gotoxy,lcd_init(),lcd_putchar(),lcd_putsf.