NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4443 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 21 به 23 از 23

موضوع: مشكل كوچك lcd

  1. #21
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    میگم شما که میگید p0.29 را ورودی کردید که تا زدیمش فلان مقدار را نشون بده کجای این برنامه این تنظیمات را انجام دادید؟!
    [PHP]int main(void)
    {
    lcd_init();
    while(1)
    {
    lcd_gotoxy(1,6);
    lcd_puts(1);
    }
    }[/PHP]
    فکر کنم فایل lcd.DSN با پروتئوس باز بشه که منم از سیستمم پاک کردم و داخلش را ندیدم چیه.

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #22
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2012
    نوشته ها
    49
    تشکر
    2
    تشکر شده 3 بار در 3 پست

    پیش فرض

    من كي گفتم تا سوئيچ و زديم فلان شه؟
    شما اصلا نگرفتيد مشكل من چيه .

    من ميگم چه اون پايه رو ورودي كنم چه خروجي تا زماني كه اون پايه آزاده lcd نشون ميده خوب؟
    حالا وقتي كه به اون پايه اون سوئيچ رو وصل ميكنم lcd خاموش ميشه
    اينو بررسي كنين لطفا

  4. #23
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    نقل قول نوشته اصلی توسط rayan2 نمایش پست ها
    واقعا موندم.آيا به هدر فايلش ربطي داره؟
    شما که همه کاری کردی بیا یه کار دیگه هم بکن. از این هدر استفاده نکن. از یه هدر ساده استفاده کن. اصلا هدر هم نمی خواد از یه برنامه ساده برای lcd استفاده کن. این جوری کامل روی ورودی خروجی ها تسلط داری. در اینجا هم گفتم و در اینجا در مورد این برنامه ساده بحث شده. شما خودت می تونی تنظیمات اولیه پیکربندی را مطابق میلت تغییر بدی:
    [PHP]#include <LPC23XX.h>
    //DB4=PORT1.27 DB5=PORT1.28 DB6=PORT1.29 DB7=PORT1.30

    #define RS (1<<20); //PORT1.20
    #define E (1<<21); //PORT1.21
    #define RW (1<<22); //PORT1.22
    //-----------------------------
    void delay(int delay){
    long int j;
    for(j=0;j<=delay;j++) __asm("nop");
    }
    //-----------------------------
    void lcd_init_4bit(void){
    FIO1CLR = RS;
    FIO1CLR = RW;
    FIO1SET = ((1<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;
    FIO1SET = E;
    delay(70);
    FIO1CLR = E;
    delay(5000);
    FIO1CLR = ((1<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;

    FIO1SET = ((1<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;
    FIO1SET = E;
    delay(70);
    FIO1CLR = E;
    delay(5000);
    FIO1CLR = ((1<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;

    FIO1SET = ((0<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;
    FIO1SET = E;
    delay(70);
    FIO1CLR = E;
    delay(5000);
    FIO1CLR = ((0<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;
    /////////////////////////////
    FIO1SET = ((1<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;
    FIO1SET = E;
    delay(70);
    FIO1CLR = E;
    delay(5000);
    FIO1CLR = ((1<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;

    FIO1SET = ((1<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;
    FIO1SET = E;
    delay(70);
    FIO1CLR = E;
    delay(5000);
    FIO1CLR = ((1<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;

    FIO1SET = ((0<<0)|(1<<1)|(0<<2)|(0<<3))<< 27;
    FIO1SET = E;
    delay(70);
    FIO1CLR = E;
    delay(5000);
    FIO1CLR = ((1<<0)|(1<<1)|(1<<2)|(1<<3))<< 27;
    }
    //-----------------------------
    void lcd_putchar(unsigned char CHAR){

    FIO1SET=RS;
    FIO1CLR=RW
    FIO1SET= ((CHAR&0XF0)>>4)<< 27 ;
    FIO1SET=E;
    delay(70);
    FIO1CLR=E;
    delay(5000);
    FIO1CLR = ((CHAR&0XF0)>>4)<< 27;

    FIO1SET = (CHAR&0X0F)<< 27;
    FIO1SET=E;
    delay(70);
    FIO1CLR=E;
    delay(5000);
    FIO1CLR= (CHAR&0X0F)<< 27;
    }
    //-----------------------------
    void command(unsigned char CHAR){

    FIO1CLR=RS;
    FIO1CLR=RW;
    FIO1SET= ((CHAR&0XF0)>>4)<< 27 ;
    FIO1SET=E;
    delay(70);
    FIO1CLR=E;
    delay(5000);
    FIO1CLR= ((CHAR&0XF0)>>4)<< 27;

    FIO1SET= (CHAR&0X0F)<< 27;
    FIO1SET=E;
    delay(70);
    FIO1CLR=E;
    delay(5000);
    FIO1CLR= (CHAR&0X0F)<< 27;
    }
    //-----------------------------
    void lcd_putsf(unsigned char *data){
    long int i;
    for(i=0;data[i];i++) lcd_putchar(data[i]);
    }


    //--------------**********************---------------
    //--------------**********************---------------
    int main(void){

    SCS|=1;
    FIO1DIR = ((1<<20)|(1<<21)|(1<<22)|(1<<27)|(1<<28)|(1<<29)|( 1<<30));
    FIO1MASK = 0;
    FIO1CLR = ((1<<20)|(1<<21)|(1<<22)|(1<<27)|(1<<28)|(1<<29)|( 1<<30));
    //LCD_4 BIT MODE
    lcd_init_4bit();
    //MAT 28
    command(0x28);
    //LCD CLEAR
    command(0x01);
    //ON DISPLAY & CURSOR-OFF
    command(0x0C);
    //RIGHT LCD
    command(0x06);
    //X_Y CONFIG X=0;Y=0
    command(0x80);
    //LCD TEST/LPC2368
    lcd_putsf("TEST LCD/LPC2378");
    command(0xC0);
    lcd_putsf(" MAHDI ZARKOOB ");
    delay(2000000);
    //LCD CLEAR
    command(0x01);
    lcd_putsf(" how are you!! ");

    while(1){
    delay(2000000);
    //LCD CLEAR
    command(0x01);
    lcd_putsf(" 1234567890 ");
    }
    }
    [/PHP]
    من با پیکر بندی خودم روی lpc2378 تست کردم. به راحتی هم می توانید دیباگش کنید.

صفحه 2 از 2 نخستنخست 12

موضوعات مشابه

  1. مشكل كوچك در فراخواني كتابخانه
    توسط rayan2 در انجمن LPC series (NXP)
    پاسخ: 3
    آخرين نوشته: 27-02-2012, 00:32
  2. كوچكترين و بزرگترين آفريده
    توسط hakimzadeh در انجمن گفت و گوي آزاد
    پاسخ: 7
    آخرين نوشته: 11-02-2012, 02:08
  3. ساخت كولر با سيستم وكيوم
    توسط هنرفر در انجمن گفت و گوي آزاد
    پاسخ: 0
    آخرين نوشته: 25-07-2010, 11:38
  4. يه روبات كوچولوي تعقيب خط با مگا 8
    توسط saeed_niknami در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 15-03-2008, 18:50

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •