Professional Documents
Culture Documents
I.
PENDAHULUAN
A. Latar Belakang
Seiring dengan perkembangan teknologi yang sangat cepat, kebutuhan manusia
akan teknologi juga sangat dibutuhkan sehingga perlu dikembangkan alat-alat
baru yang bertujuan untuk memudahkan kegiatan manusia dalam kehidupan
sehari-hari. Perkembangan teknologi mikrokontroler misalnya telah membawa
era baru dalam dunia elektonika. Dalam praktikum mikrokontroler,
mikrokontroler dapat difungsikan sebagai otak untuk menampilkan karakter
di LCD. LCD (Liquid Cystal Display) merupakan modul penampil yang banyak
digunakan karena tampilannya menarik. Untuk rangkaian interfacing, LCD
tidak banyak memerlukan komponen pendukung. Hanya diperlukan satu
variable resistor untuk memberi tegangan kontras pada matriks LCD.
Banyak software yang dapat digunakan untuk memprogram mikrokontroler
keluarga AVR, dengan bahasa pemrograman masing-masing. Dalam hal ini
Code Vision AVR digunakan untuk pemrograman penampilan karakter atau
string ke LCD yang sangat mudah karena didukung library yang telah
disediakan oleh Code Vision AVR tersebut. Untuk mengetahui lebih lengkap
mengenai cara menampilkan karakter pada LCD dengan mikrokontroler, maka
dilakukan praktikum percobaan LCD berikut ini.
B. Tujuan Percobaan
Adapun tujuan dari percobaan LCD pada praktikum ini adalah sebagai berikut :
II.
TINJAUAN PUSTAKA
A. Mikrokontroler
2.
4.
5.
6.
7.
8.
9.
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi
11. Antarmuka komparator analog
12. Port USART untuk komunikasi serial (Heryanto, Ary dan Wisnu Adi. 2008).
Mikrokontroler AVR ATMega memiliki 40 pin dengan 32 pin diantaranya
digunakan sebagaiport paralel. Satu port paralel terdiri dari 8 pin, sehingga
jumlah port pada mikrokontroler adalah 4 port, yaitu port A, port B, port C
dan port D. Sebagai contoh adalah port A memiliki pin antara port A.0 sampai
dengan port A.7, demikian selanjutnya untuk port B, port C, port D. Berikut
ini adalah penjelasan dari pin mikrokontroler ATMega8535 menurut port-nya
masing-masing:
1. Port A
Pin33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit
directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer port A dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data Direction
Register port A (DDRA) harus di-setting terlebih dahulu sebelum
portA
digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output.
2. Port B
Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit
directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data Direction
Register port B (DDRB) harus di-setting terlebih dahulu sebelum portB
digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output.
3. Port C
Pin 22 sampai dengan pin 29 merupakan pin dari port C. Port C sendiri
merupakan port input atau output. Setiap pin-nya dapat menyediakan internal
pull-up resistor (dapat diatur per bit).Output buffer port C dapat memberi arus
20 mA dan dapat mengendalikan display LED secara langsung. Data Direction
Register port C (DDRC) harus di-setting terlebih dahulu sebelum portC
digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output.
4. Port D
Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit
directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer port D dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data Direction
Register port D (DDRD) harus di-setting terlebih dahulu sebelumport D
digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output (Wahyudin, Didin.
2007).
D. Proteus
Proteus adalah sebuah software simulasi untuk mendesain rangkaian. Proteus
mengkombinasikan program ISIS untuk membuat skematik desain rangkaian
dengan program ARES untuk membuat layout PCB dari skematik suatu
rangkaian. Proteus dapat digunakan dalam desain rangkaian elektronika dasar
dan mikrokontroler. Berikut ini adalah fitur-fitur proteus yakni :
a. Memiliki kemampuan untuk mensimulasikan hasil rancangan baik digital
maupun analog maupun gabungan keduanya.
b. Mendukung simulasi yang menarik dan simulasi secara grafis.
c. Mendukung simulasi berbagai jenis mikrokontroler seperti AVR, PIC,
Gambar 1. LCD
Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari
pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual
di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai
dapat mengontrol tampilan LCD dengan mudah dengan menggunakan
mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia
(Putra, 2002).
III.
A. Hasil Running
Adapun hasil running yang didapatkan pada percobaan LCD kali ini adalah
sebagai berikut :
B. Pembahasan
Pada praktikum kali ini praktikan melakukan percobaan simulasi menggunakan
LCD atau Liquid Cystal Display yang dilengkapi dengan bahasa pemrograman
CVAVR serta ISIS Proteus. Pada percobaan simulasi LCD praktikan
menggunakan komponen mikrokontroler 8535 dan LCD dengan 16x2,
potensiometer atau resistor variabel, catudaya 5 Volt dan ground. Untuk lebih
jelas maka berikut ini rancangan simulasi LCD pada program proteus ISIS :
10
memilih
komponen
seperti
potensiometer,
LCD
16x2
dan
11
12
diatas
bermakna
bahwa
program
menggunakan
13
14
IV.
KESIMPULAN
Adapun kesimpulan yang dapat diperoleh pada percobaan LCD adalah sebagai
berikut :
1. Pada
percobaan
simulasi
LCD
praktikan
menggunakan
komponen
dibuat
karakter
yang
akan
15
DAFTAR PUSTAKA
16
LAMPIRAN
17
#include <90s8535.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
#include <delay.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=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out
Func1=Out Func0=Out
// State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
PORTC=0xFF;
DDRC=0xFF;
// 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
18
19
ACSR=0x80;
// LCD module initialization
lcd_init(16);
while (1)
{
lcd_gotoxy(0,0);
lcd_putsf("PRAKTIKUM MIKRO");
delay_ms(1000);
lcd_gotoxy(0,1);
lcd_putsf("SITI WAHYUNI");
delay_ms(1000);
// Place your code here
};
}