Modul ini membahas praktikum pemrograman LCD menggunakan mikrokontroler AVR ATmega16. Tujuannya adalah memahami pemrograman bahasa C untuk mikrokontroler dan teknik pemrograman perangkat keras berdasarkan timing diagram serta mampu menampilkan output ke LCD 2x16 menggunakan chip set HD44780. Langkah-langkahnya meliputi pendefinisian karakter, pembuatan rutin untuk mengirim instruksi dan data ke LCD, in
Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...Muhammad Kennedy Ginting
Membuat stopwatch menggunakan mikrokontroler ATmega16 by muhammad kennedy ginting.
Dini akan diberikan penjelasan tentang timer0, timer1, counter0, counter1, skematik stopwatch dan list programnya.
Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...Muhammad Kennedy Ginting
Membuat stopwatch menggunakan mikrokontroler ATmega16 by muhammad kennedy ginting.
Dini akan diberikan penjelasan tentang timer0, timer1, counter0, counter1, skematik stopwatch dan list programnya.
http://technomoderen.blogspot.com
http://technomoderen.blogspot.com
Note : bila sobat mau cari2 bahan gak ketemu , sobat bisa request kok sma sya ...
:D
mumpung hti ane lg baik neh , hehehe
info lebih lanjut
hub : Riszqi Pujangga (facebook)
081990334647 (sms) no call, krn ane kerja lembur ..... :)
dan sobat bsa juga kunjungi my web di atas,
thanks
Mikrokontroler merupakan suatu komponen elektronika yang didalamnya terdapat rangkaian mikroprosesor, memori (RAM/ROM) dan I/O, rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip microcomputer. Pada mikrokontroler sudah terdapat komponen-komponen mikroprosesor dengan bus-bus internal yang saling berhubungan. Komponen-komponen tersebut adalah RAM, ROM, timer, komponen I/O paralel dan serial, dan interrupt kontroler. Adapun keunggulan dari mikrokontroller adalah adanya sistem interrupt. Sebagai perangkat kontrol penyesuaian, mikrokontroler sering disebut juga untuk menaikkan respon eksternal (interrupt) pada waktu yang nyata.
http://technomoderen.blogspot.com
http://technomoderen.blogspot.com
Note : bila sobat mau cari2 bahan gak ketemu , sobat bisa request kok sma sya ...
:D
mumpung hti ane lg baik neh , hehehe
info lebih lanjut
hub : Riszqi Pujangga (facebook)
081990334647 (sms) no call, krn ane kerja lembur ..... :)
dan sobat bsa juga kunjungi my web di atas,
thanks
Mikrokontroler merupakan suatu komponen elektronika yang didalamnya terdapat rangkaian mikroprosesor, memori (RAM/ROM) dan I/O, rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip microcomputer. Pada mikrokontroler sudah terdapat komponen-komponen mikroprosesor dengan bus-bus internal yang saling berhubungan. Komponen-komponen tersebut adalah RAM, ROM, timer, komponen I/O paralel dan serial, dan interrupt kontroler. Adapun keunggulan dari mikrokontroller adalah adanya sistem interrupt. Sebagai perangkat kontrol penyesuaian, mikrokontroler sering disebut juga untuk menaikkan respon eksternal (interrupt) pada waktu yang nyata.
Yuk kita pelajari mengenai LDR! Di artikel ini kita akan memahami apa itu LDR, apa fungsi LDR, dan tentunya akan ada mini project dalam memanfaatkan LDR sebagai Light Meter!!!
modul ini berisi praktikum untuk instruksi dasar pembuatan ladder diagram dengan program syswin untuk mata diklat mengoperasikan sistem kendali elektronik
1. FST UNRIYO Modul Praktikum Mikroprosesor
PRAKTIKUM MKROPROSESOR
MODUL 1
PEMROGRAMAN LCD
I. Tujuan Praktikum
1. Memahami pola pemrograman bahasa C untuk mikrokontroler.
2. Memahami teknik pemrograman perangkat keras berdasarkan pembacaan
timing-diagram.
3. Dapat mewujudkan program antarmuka output ke LCD 2x16 yang ber-chip set
HD44780.
II. Alat dan Bahan
1. Sistem minimum AVRATmega 16.
III. Pengantar
Perangkat penampil terdapat dalam berbagai bentuk, dua diantaranya
banyak digunakan dalam pengembangan aplikasi peralatan, yaitu 7-segmen dan
dot matrik LCD. Setiap perangkat/komponen elektronik mempunyai aturan
masing-masing untuk “menghadapkannya” dengan komponen lain. Aturan dalam
bentuk perangkat lunak dan atau perangkat keras tersebut dikenal sebagai
antarmuka.
a
f b
g
e d c
dot
Gambar 1.1 Timing diagram pengiriman data ke LCD
Tujuh-segmen merupakan penampil berbentuk angka digital dengan tujuh
segmen pembentuk angka dan satu segmen pembentuk titik. Angka 0 sampai 9
dan beberapa huruf latin dapat divisualisasikan menggunakan 7-segmen. Pola
penyalaan yang perlu dilakukan dengan memberi beda potensial pada masing-
masing segmen, karena segmen-segmen tersebut adalah komponen cahaya yang
akan menyala jika diberi tegangan.
1
2. FST UNRIYO Modul Praktikum Mikroprosesor
Berbeda dengan 7-segmen, dot matrik LCD adalah komponen penampil
yang sudah terbentuk menjadi modul elektronik yang komplek. Visulalisasi
tampilan yang dapat disajikan lebih beragam dibanding 7-segmen. Pada modul
LCD terdapat komponen yang berfungsi untuk melakukan antarmuka dengan
komponen lain dan membangkitkan pola penampakan karakter.
LCD 2x16 HD44780 mengenal mode-mode kerja yang menentukan proses
antarmuka dan tampilan karakter. Proses menentukan mode kerja dikenal sebagai
proses inisialisasi LCD. Mode kerja tersebut ditetapkan dengan pengiriman data
ke LCD (DDRAM dan CGRAM). Data-data yang akan menentukan mode kerja
tersebut sebagai berikut:
Tabel 1.1 Kode instruksi LCD HD44780
Code
Description
RS 7 6 5 4 3 2 1 0
Clears entire display and sets
0 0 0 0 0 0 0 0 1 DDRAM address 0 in address
counter.
Sets DDRAM address 0 in
address counter.
Also returns display from
0 0 0 0 0 0 0 1 -
being shifted to original
position. DDRAM contents
remain unchanged.
Sets cursor move direction and
specifies display shift. These
0 0 0 0 0 0 1 I/D S
operations are performed
during data write and read.
Sets entire display (D)
on/off, cursor on/off (C), and
0 0 0 0 0 1 D C B
blinking of cursor position
character (B).
Moves cursor and shifts
0 0 0 0 1 S/C R/L - - display without changing DDRAM
contents.
Sets interface data length
0 0 0 1 DL N F - - (DL), number of display lines
(N), and character font (F).
Sets CGRAM address. CGRAM data
0 0 1 ACG ACG ACG ACG ACG ACG is sent and received after
this setting.
Sets DDRAM address. DDRAM data
0 1 ADD ADD ADD ADD ADD ADD ADD is sent and received after
this setting.
Writes data into DDRAM or
1 Write data
CGRAM.
Terlihat bahwa untuk proses inisialisasi dilalukan dengan membuat bit RS
berlogika 0, bit-bit awal data inisialisasi sudah tertentu dengan fungsi masing-
masing. Sedangkan untuk proses pengiriman data karakter dilakukan dengan
membuat bit RS berlogika 1.
2
3. FST UNRIYO Modul Praktikum Mikroprosesor
Kedua proses tersebut adalah proses pengiriman data ke LCD yang
dilakukan dengan membuat pin R/W berlogika 0. Sedangkan untuk membaca data
dari LCD dilakukan dengan membuat pin R/W berlogika 1. Bit-bit penentu
selanjutnya ditentukan oleh nilai-nilai berikut:
Tabel 1.2 Kode instruksi LCD HD44780
Bit function value Abbreviation
I/D = 1: Increment
DDRAM: Display data RAM
I/D = 0: Decrement
CGRAM: Character generator RAM
S = 1: Accompanies display shift
S/C = 1: Display shift
ACG: CGRAM address
S/C = 0: Cursor move
ADD: DDRAM address
R/L = 1: Shift to the right
(corresponds to cursor address)
R/L = 0: Shift to the left
DL = 1: 8 bits, DL = 0: 4 bits
AC: Address counter used for both DD
N = 1: 2 lines, N = 0: 1 line
and CGRAM addresses
F = 1: 5´ 10 dots, F = 0: 5´ 8 dots
Proses antarmuka LCD dilakukan melalui kaki-kaki data D0-D7, RS
(Register Select), E (Enable) dan (Read/Write). Proses antarmuka untuk
mengirimkan data ke LCD dapat terjadi dengan memenuhi aturan pewaktuan
seperti pada gambar berikut:
RS
R/W
E
DB0-DB7 Valid data
Gambar 1.2 Timing diagram pengiriman data ke LCD
Data diberikan melalui pin DB0-DB7, keadaan logika pada pin RS akan
menentukan peruntukan data. Ketika pin RS diberi logika 0 maka data akan
diarahkan ke register instruksi. Ketika pin RS diberi logika 1 maka data akan
diarahkan ke register data.
Tampilan karakter LCD 2x16 HD44780 bergantung pada nilai (data) yang
diberikan ke register instruksi dan register data. Data pada Register instruksi akan
menentukan posisi kolom tempat karakter akan dituliskan, sedangkan nilai pada
register data akan menentukan bentuk karakter yang ditampilkan.
3
4. FST UNRIYO Modul Praktikum Mikroprosesor
IV. Langkah Kerja
1. Buat project baru dengan folder pada AVRStudio, beri nama dengan format
[prog1_nomor mahasiswa] tanpa spasi. Catat langkah-langkah membuat
project pada AVR Studio.
2. Tulislah kerangka program berikut, titik-titik dan keterangan program tidak
perlu ditulis.
#include <avr/io.h> //file including
#include <util/delay.h> //file including
…………………………………… //predefine
……………………………………
…………………………………… //routine program
……………………………………
int main(void) //main program
{
…………………………………… //pre loop program
……………………………………
for (;;)
{
…………………………………… //loop program
……………………………………
}
}
Compile program dengan menekan F7 atau tombol built pada AVR Studio.
Amati, catat setiap kejadian. Jika terdapat error, benarkan penulisan program
Anda. Compile kembali, ulangi sampai tidak ada error dan warning.
3. Tulislah potongan program 1, yaitu potongan program untuk menetapkan
karakter yang akan dituliskan ke LCD, proses ini merupakan proses
pentabelan, letakkan potongan program pada bagian predefine.
char chr_01[16] ={"PROGRAM "};
char chr_02[16] ={"TEST LCD "};
Compile program dengan menekan F7 atau tombol built pada AVR Studio.
Amati, catat setiap kejadian. Jika terdapat error, benarkan penulisan program
Anda. Compile kembali, ulangi sampai tidak ada error dan warning.
4
5. FST UNRIYO Modul Praktikum Mikroprosesor
4. Tulislah potongan program 2, yaitu potongan program berupa rutin untuk
mengirimkan instruksi ke LCD, letakkan potongan program pada bagian
rouitne.
void wr_inst(unsigned char cmd) //RS=0
{ unsigned char i;
PORTC=cmd;
PORTD|=0b10000000; //RS[4]=PD6, E[6]=PD7
for (i=0;i<70;i++)
{asm("nop");}
PORTD&=0b00111111;
for (i=0;i<70;i++)
{asm("nop");}}
Compile program dengan menekan F7 atau tombol built pada AVR Studio.
Amati, catat setiap kejadian. Jika terdapat error, benarkan penulisan program
Anda. Compile kembali, ulangi sampai tidak ada error dan warning.
5. Tulislah potongan program 3, yaitu potongan program berupa rutin untuk
mengirimkan data karakter ke LCD, letakkan potongan program pada bagian
rouitne.
void wr_data(unsigned char chr) //RS=1
{ unsigned char i;
PORTC=chr;
PORTD|=0b11000000;
for (i=0;i<70;i++)
{asm("nop");}
PORTD&=0b00111111;
for (i=0;i<70;i++)
{asm("nop");}}
Compile program dengan menekan F7 atau tombol built pada AVR Studio.
Amati, catat setiap kejadian. Jika terdapat error, benarkan penulisan program
Anda. Compile kembali, ulangi sampai tidak ada error dan warning.
6. Tulislah potongan program 4, yaitu potongan program berupa rutin untuk
mengirimkan data inisialisasi LCD, letakkan potongan program pada bagian
rouitne.
void init_LCD()
{ wr_inst(0x38); _delay_ms(50);
wr_inst(0x14); _delay_ms(50);
wr_inst(0x0C); _delay_ms(50);
wr_inst(0x01); _delay_ms(50);}
5
6. FST UNRIYO Modul Praktikum Mikroprosesor
Compile program dengan menekan F7 atau tombol built pada AVR Studio.
Amati, catat setiap kejadian. Jika terdapat error, benarkan penulisan program
Anda. Compile kembali, ulangi sampai tidak ada error dan warning.
7. Tulislah potongan program 5, yaitu potongan program berupa rutin untuk
menuliskan karakter ke LCD, karakter yang akan dituliskan telah ditabelkan
pada potongan program diatas. Letakkan potongan program pada bagian
rouitne.
void wr_LCD(unsigned char line, unsigned char chr, unsigned
char count, unsigned char max)
{unsigned char i;
wr_inst(line);
for (i=0;i<count;i++)
{switch(chr)
{case 0: wr_data(' '); break;
case 1: wr_data(chr_01[i]); break;
case 2: wr_data(chr_02[i]); break;
}
}
for (i=count;i<max;i++)
{wr_data(' ');}
}
Compile program dengan menekan F7 atau tombol built pada AVR Studio.
Amati, catat setiap kejadian. Jika terdapat error, benarkan penulisan program
Anda. Compile kembali, ulangi sampai tidak ada error dan warning.
8. Tulislah potongan program 6, yaitu potongan program berupa rutin untuk
menuliskan karakter ke LCD, karakter yang akan dituliskan telah ditabelkan
pada potongan program diatas. Letakkan potongan program pada bagian
rouitne.
_delay_ms(500);
PORTA=0x00; DDRA=0b00000000;
PORTB=0x00; DDRB=0b11110000;
PORTC=0x00; DDRC=0b11111111;
PORTD=0x00; DDRD=0b11111110;
_delay_ms(100);
init_LCD(); _delay_ms(100);
wr_LCD(0x80,8,3,16); //incoming L1;
wr_LCD(0xC0,16,0,16); //blank L2;
6
7. FST UNRIYO Modul Praktikum Mikroprosesor
Compile program dengan menekan F7 atau tombol built pada AVR Studio.
Amati, catat setiap kejadian. Jika terdapat error, benarkan penulisan program
Anda. Compile kembali, ulangi sampai tidak ada error dan warning.
V. Petunjuk pembuatan laporan
Buatlah laporan dengan analisa setiap langkah pemrograman. Analisa meliputi
penjelasan program yang mengakibatkan kejadian yang berubah.
7
8. FST UNRIYO Modul Praktikum Mikroprosesor
Skema laporan mikroprosesor
JUDUL
Langkah kerja, hasil dan analisa
1. Mengeluarkan data melalui PORTB dengan data yang dinaikkan.
Setelah program dituliskan
8