fbpx

Interface GLCD With AVR

Description

Graphical LCD is made up of a grid of pixels. The 16×2 Character LCDs have their own limitations. The Graphical LCDs are thus used to display customized images and characters.GLCD used in many applications such as video games, mobile phones.

  • LCD has a display format of 128×64 (resolution) dots.
  • There are 64 horizontal lines and each line has 128 pixels.
  • The GLCD has a graphic RAM where each bit in RAM corresponds to one pixel on the screen.GLCD screen will change when we modify the content of graphic RAM.
  • The 128×64 LCD is divided into two equal halves.
  • The whole LCD is divided equally into pages.
  • Each half is controlled by a separate KS0108 controller.
  • 128×64 LCD has 128 columns and 64 rows. In total there are (128×64 = 1024) pixels.
  • 128×64 LCD is divided equally into two halves. Each half is controlled by a separate controller and consists of 8 pages.
  • Controller can select by CS(chip select).
  • Each page consists of 8 rows and 64 columns.
  • Two horizontal pages make 128(64×2) columns and 8 vertical pages make 64 rows (8×8).
GLCD Page Info

GLCD Pin Configuration

Hardware Required

  • GLCD.
  • PotentioMeter.
  • Atmega16 MicroController.

Circuit

Virtual Circuit

Code

 #include <avr/io.h>
 #include <util/delay.h>
 int a;
 
 void cmd()
 {
 PORTC=0x04;
 PORTD=a;
 _delay_ms(1000);
 PORTC=0x00;
 }
 
 void dat()
 {
 PORTC=0x05;
 PORTD=a;
 _delay_ms(1000);
 PORTC=0x01;
 }
 
 void main()
 {
 DDRA=0xff;
 DDRC=0xff;
 DDRD=0xff;
 PORTA=0X06;
 
 dat(0x3F); //Display on
 dat(0x40); //Set y-address
 dat(0xB9); //Set x-address page 0
 dat(0xC0); //start line
 _delay_ms(3000);
 
 dat(0x7F); // E
 dat(0x49);
 dat(0x49);
 dat(0x49);
 dat(0x41);
 
 dat(0x7F); //L
 dat(0x40);
 dat(0x40);
 dat(0x40);
 dat(0x40);
 dat(0x00);
 
 dat(0x7F); // E
 dat(0x49);
 dat(0x49);
 dat(0x49);
 dat(0x41);
 dat(0x00);
 
 dat(0x3E); // C
 dat(0x41);
 dat(0x41);
 dat(0x41);
 dat(0x22);
 dat(0x00);
 
 dat(0x01); // T
 dat(0x01);
 dat(0x7F);
 dat(0x01);
 dat(0x01);
 dat(0x00);
 
 dat(0x7F); // R
 dat(0x09);
 dat(0x19);
 dat(0x29);
 dat(0x46);
 dat(0x00);
 
 dat(0x3E); // O
 dat(0x41);
 dat(0x41);
 dat(0x41);
 dat(0x3E);
 dat(0x00);
 
 dat(0x7F); // N
 dat(0x04);
 dat(0x08);
 dat(0x10);
 dat(0x7F);
 dat(0x00);
 
 dat(0x00); // I
 dat(0x41);
 dat(0x7F);
 dat(0x41);
 dat(0x00);
 
 dat(0x3E); // C
 dat(0x41);
 dat(0x41);
 dat(0x41);
 dat(0x22);
 dat(0x00);
 
 dat(0x46); // S
 dat(0x49);
 dat(0x49);
 dat(0x49);
 dat(0x31);
 dat(0x00);
 
 PORTA=0X05;
 dat(0x3F); //Display on
 dat(0x40); //Set y-address
 dat(0xB9); //Set x-address page 0
 dat(0xC0); //start line
 
 dat(0x7F); // M
 dat(0x02);
 dat(0x04);
 dat(0x02);
 dat(0x7F);
 dat(0x00);
 
 dat(0x7E); // A
 dat(0x11);
 dat(0x11);
 dat(0x11);
 dat(0x7E);
 dat(0x00);
 
 dat(0x7F); // K
 dat(0x08);
 dat(0x14);
 dat(0x22);
 dat(0x41);
 dat(0x00);
 
 dat(0x7F); // E
 dat(0x49);
 dat(0x49);
 dat(0x49);
 dat(0x41);
 dat(0x00);
 
 dat(0x7F); // R
 dat(0x09);
 dat(0x19);
 dat(0x29);
 dat(0x46);
 dat(0x00);
 
 while(1);
 } 

Leave a Reply

Your email address will not be published. Required fields are marked *