Kuliah Mikrokontroler AVR LCD CodeVision AVR Eru©Oktober 2009 PENS
Text LCD Controller Beragam LCD menggunakan chip LCD controller yang kompatibel (sama) LCD hanya berbeda pada ukuran peraga LCD 16 x 2, 20 x 2, 24 x 2, 20 x 4 LCD Controller memiliki RAM dengan ukuran 80 byte untuk menyimpan karakter yang akan ditampilkan ke peraga LCD
Interface LCD VDD Data BUS 8 bit LCD Controller Processor VSS VDD Do … D7 Data BUS D0 … D7 8 bit W/R W/R VSS RS RS E E VDD Control BUS V+ V- VSS
Interface AVR dengan LCD Secara umum, AVR tidak memiliki system bus Caranya ? Menggunakan emulasi system bus menggunakan port AVR Berapa pin yang diperlukan untuk melakukan emulasi system bus ? 11 pin Cara lain ? Menggunakan data bus 4 bit fitur dari LCD controller Hanya dibutuhkan 7 bit 1 port sisa 1 pin bebas
Interface AVR dengan LCD Dapat menggunakan port manapun VDD AVR LCD Controller Px7 Px6 Px5 Px4 D7 D6 D5 D4 Data BUS 4 bit Px3 VSS Px2 E Px1 W/R VDD Px0 RS Control BUS V+ V- VSS
Contoh Buat program untuk menampilkan tulisan “Hallo” pada LCD Konfigurasi LCD terpasang pada port A Ukuran LCD 16 x 2
Contoh Program Nomor Port LCD Header LCD Deklarasi pada mega16.h sfrb PORTD=0x12; sfrb PORTC=0x15; sfrb PORTB=0x18; sfrb PORTA=0x1b; Nomor Port LCD Header LCD
Header LCD
Perbedaan lcd_puts dan lcd_putsf // write the string str located in SRAM to the LCD void lcd_puts(char *str); // write the string str located in FLASH to the LCD void lcd_putsf(char flash *str);
Contoh Buat program untuk menampilkan isi variable a pada LCD Jenis variable a adalah integer dengan nilai positif saja
Contoh Program #1 Why ? Header untuk sprintf Why ?
Contoh Program #2 Header untuk itoa Apa beda antara Itoa dan sprintf ?
Contoh Program #3 sprintf bisa seperti ini Apa bedanya dengan contoh #1 ? Apa kelebihan dan kekurangannya ? Why ?
Soal Buat program untuk menampilkan Jam pada LCD pada posisi tengah atas Format Jam : JJ:MM:DD LCD 16 x 2 Gunakan delay_ms(1000) untuk waktu 1 detik 12:03:20