(1) pemrograman lcd
Upcoming SlideShare
Loading in...5
×
 

(1) pemrograman lcd

on

  • 611 views

modul praktium pemrograman LCD dengan mikrokontroler

modul praktium pemrograman LCD dengan mikrokontroler

Statistics

Views

Total Views
611
Views on SlideShare
611
Embed Views
0

Actions

Likes
0
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

(1) pemrograman lcd (1) pemrograman lcd Document Transcript

  • FST UNRIYO Modul Praktikum Mikroprosesor PRAKTIKUM MKROPROSESOR MODUL 1 PEMROGRAMAN LCDI. Tujuan Praktikum1. 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 Bahan1. Sistem minimum AVRATmega 16.III. Pengantar Perangkat penampil terdapat dalam berbagai bentuk, dua diantaranyabanyak digunakan dalam pengembangan aplikasi peralatan, yaitu 7-segmen dandot matrik LCD. Setiap perangkat/komponen elektronik mempunyai aturanmasing-masing untuk “menghadapkannya” dengan komponen lain. Aturan dalambentuk perangkat lunak dan atau perangkat keras tersebut dikenal sebagaiantarmuka. 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 tujuhsegmen pembentuk angka dan satu segmen pembentuk titik. Angka 0 sampai 9dan beberapa huruf latin dapat divisualisasikan menggunakan 7-segmen. Polapenyalaan yang perlu dilakukan dengan memberi beda potensial pada masing-masing segmen, karena segmen-segmen tersebut adalah komponen cahaya yangakan menyala jika diberi tegangan. 1
  • FST UNRIYO Modul Praktikum Mikroprosesor Berbeda dengan 7-segmen, dot matrik LCD adalah komponen penampilyang sudah terbentuk menjadi modul elektronik yang komplek. Visulalisasitampilan yang dapat disajikan lebih beragam dibanding 7-segmen. Pada modulLCD terdapat komponen yang berfungsi untuk melakukan antarmuka dengankomponen lain dan membangkitkan pola penampakan karakter. LCD 2x16 HD44780 mengenal mode-mode kerja yang menentukan prosesantarmuka dan tampilan karakter. Proses menentukan mode kerja dikenal sebagaiproses inisialisasi LCD. Mode kerja tersebut ditetapkan dengan pengiriman datake LCD (DDRAM dan CGRAM). Data-data yang akan menentukan mode kerjatersebut 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 RSberlogika 0, bit-bit awal data inisialisasi sudah tertentu dengan fungsi masing-masing. Sedangkan untuk proses pengiriman data karakter dilakukan denganmembuat bit RS berlogika 1. 2
  • FST UNRIYO Modul Praktikum Mikroprosesor Kedua proses tersebut adalah proses pengiriman data ke LCD yangdilakukan dengan membuat pin R/W berlogika 0. Sedangkan untuk membaca datadari LCD dilakukan dengan membuat pin R/W berlogika 1. Bit-bit penentuselanjutnya 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 untukmengirimkan data ke LCD dapat terjadi dengan memenuhi aturan pewaktuanseperti 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 akanmenentukan peruntukan data. Ketika pin RS diberi logika 0 maka data akandiarahkan ke register instruksi. Ketika pin RS diberi logika 1 maka data akandiarahkan ke register data. Tampilan karakter LCD 2x16 HD44780 bergantung pada nilai (data) yangdiberikan ke register instruksi dan register data. Data pada Register instruksi akanmenentukan posisi kolom tempat karakter akan dituliskan, sedangkan nilai padaregister data akan menentukan bentuk karakter yang ditampilkan. 3
  • FST UNRIYO Modul Praktikum MikroprosesorIV. Langkah Kerja1. 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
  • FST UNRIYO Modul Praktikum Mikroprosesor4. 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
  • 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
  • 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 laporanBuatlah laporan dengan analisa setiap langkah pemrograman. Analisa meliputipenjelasan program yang mengakibatkan kejadian yang berubah. 7
  • FST UNRIYO Modul Praktikum MikroprosesorSkema laporan mikroprosesor JUDULLangkah kerja, hasil dan analisa1. Mengeluarkan data melalui PORTB dengan data yang dinaikkan. Setelah program dituliskan 8