0% menganggap dokumen ini bermanfaat (0 suara)
37 tayangan

Labsheet2 LCD

Dokumen ini berisi instruksi praktikum mengakses LCD pada mikrokontroler AVR menggunakan Code Vision. Mahasiswa akan belajar konfigurasi LCD, menulis karakter dan string, serta animasi tampilan data pada LCD. Langkah-langkahnya meliputi persiapan perangkat keras, penginisialisasian LCD, dan pengujian program contoh menggunakan LCD.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
37 tayangan

Labsheet2 LCD

Dokumen ini berisi instruksi praktikum mengakses LCD pada mikrokontroler AVR menggunakan Code Vision. Mahasiswa akan belajar konfigurasi LCD, menulis karakter dan string, serta animasi tampilan data pada LCD. Langkah-langkahnya meliputi persiapan perangkat keras, penginisialisasian LCD, dan pengujian program contoh menggunakan LCD.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

FAKULTAS TEKNIK

UNIVERSITAS NEGERI YOGYAKARTA


LAB SHEET PRAKTIK MIKROKONTROLLER

Semester 4 AKSES LCD JOB 2 200 menit

No. EKA/EKA165 Revisi:02 Tgl:25 Feb 2014 Hal 1/1

A. TUJUAN

Setelah melakukan praktik mahasiswa diharapkan dapat:


1. Memahami konfigurasi LCD
2. Menguasai animasi tampilan data pada LCD

B. TEORI DASAR
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
LCD2
LM016L

LCD1
LM016L
VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E

HOLD U1
1
2
3

RR 4
RW 5
EN 6

7
8
9
10
D4 11
D5 12
D6 13
D7 14

2 1 1 40
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
X1 13 32
2

4k7 R1 XTAL2 AREF


33p 9 30
RESET AVCC
C6 C5 RESETCRYSTAL
ATMEGA8535
100u 10n
C2
1

RESET

33p

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>

2
// 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

3
// 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 untuk tampilan
berikutnya
}

4
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

};
}
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.

Anda mungkin juga menyukai