Saturday, 12 November 2016

interfacing of LCD in 4 bit mode on same port in atmega16/32

#include <avr/io.h>
#include<util/delay.h>
#define rs PA0
#define rw PA1
#define en PA2
void cmd()
{
 PORTA&=(~(1<<rs));
 PORTA&=(~(1<<rw));
 PORTA|=(1<<en);
 _delay_ms(200);
 PORTA&=(~(1<<en));

}
void display()
{
 PORTA|=(1<<rs);
 PORTA&=(~(1<<rw));
 PORTA|=(1<<en);
 _delay_ms(200);

 PORTA&=(~(1<<en));
}
 unsigned char arr1[]={0x02,0x0e,0x01,0x80,0x06};
  unsigned char arr2[]={"welcome in TBA"};
void main()
{

 while(1)
 {

  int i;
  DDRA=0XFF;
  for(i=0;i<=5;i++)
  {
   PORTA=arr1[i]&0xf0;
   cmd();
   PORTA=(arr1[i]<<4)&0xf0;
   cmd();
  }
  for(i=0;i<=14;i++)
  {
   PORTA=arr2[i]&0xf0;
   display();
   PORTA=(arr2[i]<<4)&0xf0;
   display();
 
  }
  }
}


1 comment:

  1. I'm certainly very happy to read this blog site posts which carries plenty of helpful data, thanks for providing such information.http://www.bestbezellessmonitor.com

    ReplyDelete