اطلاعیه

Collapse
No announcement yet.

مشکل در راه اندازی lcd کاراکتری با LPC1768

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در راه اندازی lcd کاراکتری با LPC1768

    با سلام
    خدمت اساتید محترم
    بنده کد زیر را برای راه اندازی 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
    }


لطفا صبر کنید...
X