با سلام
خدمت اساتید محترم
بنده کد زیر را برای راه اندازی lcd کاراکتری 2*16 با NXP LPC1768 به روش بوت لودر نوشته ام ولی متاسفانه کار نمی کند.در واقع بایستی کرسر lcd شروع به چشمک زدن کند.دقیقا مشابه این کد را در پروتئوس با ATMEGA32 امتحان کردم و جواب داد.مثال کتاب آقای خوش باطن را هم تست کردم ولی جواب نداد.لطفا راهنمایی بفرمایید.
با تشکر


#include <lpc17xx.h>


void delay_ms(int _INPUT_MS)
{
unsigned long int i=20000*_INPUT_MS;
while(i--);
}
void delay_us(int _INPUT_US)
{
unsigned long int i=20*_INPUT_US;
while(i--);
}

int main()
{

LPC_GPIO0->FIODIR=0x00000111; //Confing Lcd Pins With Write Mode (R/W Output)
delay_us(50);
LPC_GPIO0->FIOCLR=0x00000111; //Clear All Pins
delay_us(50);
LPC_GPIO0->FIOCLR=0x00000001; //Clear RS
delay_us(50);
LPC_GPIO0->FIOCLR=0x00000002; //Clear R/W
delay_us(50);
LPC_GPIO0->FIOSET=0x000001C0; //Set 0x38 On Databus (2Line/8it/5*7Dots)
delay_us(50);
LPC_GPIO0->FIOSET=0x00000004; //Set E
delay_us(50);
LPC_GPIO0->FIOCLR=0x00000004; //Clear E


delay_us(100);


LPC_GPIO0->FIOCLR=0x00000001; //Clear RS
delay_us(50);
LPC_GPIO0->FIOCLR=0x000007F1; //Clear Databus
delay_us(50);
LPC_GPIO0->FIOSET=0x00000078; //Set 0x0f On Databus (Display On/Cursor Blinking)
delay_us(50);
LPC_GPIO0->FIOSET=0x00000004; //Set E
delay_us(50);
LPC_GPIO0->FIOCLR=0x00000004; //Clear E


delay_us(100);


LPC_GPIO0->FIOCLR=0x00000001; //Clear RS
delay_us(50);
LPC_GPIO0->FIOCLR=0x000007F1; //Clear Databus
delay_us(50);
LPC_GPIO0->FIOSET=0x00000010; //Set 0x01 On Databus (Clear Lcd)
delay_us(50);
LPC_GPIO0->FIOSET=0x00000004; //Set E
delay_us(50);
LPC_GPIO0->FIOCLR=0x00000004; //Clear E
}