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
Posting Komentar