#include <tm4c123gh6pm.h>
unsigned int i,j,del;
void delay(unsigned int f)
{
f=(SystemCoreClock*f)/1000;
for(i=0;i<f;i++);
}
void cmd(unsigned int a)
{GPIOE->DATA=(0<<1|0<<2|0<<3);
GPIOE->DATA|=0<<1;
GPIOE->DATA|=0<<2;
GPIOB->DATA=a;
GPIOE->DATA|=1<<3;
delay(1);
GPIOE->DATA|=0<<3;
}
void data(unsigned char b)
{
GPIOE->DATA=(0<<1|0<<2|0<<3);
GPIOE->DATA|=1<<1;
GPIOE->DATA|=0<<2;
GPIOB->DATA=b;
GPIOE->DATA|=1<<3;
delay(1);
GPIOE->DATA|=0<<3;
}
void lcd_init()
{
cmd(0x38);
cmd(0x0E);
cmd(0x01);
}
int main()
{ unsigned char l[4]="ASHA";
SYSCTL->RCC=(1<<6|1<<8|1<<10|1<<22|1<<24);//sytem clk set,pll enabled,xtal crystal 16MHZ,sysdiv_3 66.67MHZ
SYSCTL->RCGCGPIO=(1<<1|1<<4);//configure port E and port B
GPIOE->DIR=0XFF;//set port E as o/p
GPIOE->AFSEL=0X00;//alternate fun as GPIO
GPIOE->DEN=0XFF;//enable digital pins
GPIOE->AMSEL=0x00;
GPIOB->DIR=0XFF;//set port B as o/p
GPIOB->AFSEL=0X00;//alternate fun as GPIO
GPIOB->DEN=0XFF;//enable digital pins
GPIOB->AMSEL=0x00;
lcd_init();
while(1)
{ cmd(0x80);
for(j=0;j<4;j++)
{
data(l[j]);delay(10);
}
}
}
i got the output using direct register access method..