NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3554 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 7 از 7

موضوع: نمایش متن در lcd کاراکتری

  1. #1
    عضو جدید
    تاریخ عضویت
    Apr 2014
    نوشته ها
    10
    تشکر
    8
    تشکر شده 0 بار در 0 پست

    پیش فرض نمایش متن در lcd کاراکتری

    سلام دوستان.من میخواستم برنامه ای بنویسم که وقتی pin1.0 یک شد lcd یه متنی رو نمایش بده اگه pin1.1 یک شد یه متن دیکه رو نشون بده.برنامه رو اینجوری نوشتم ولی کار نکرد.میشه بگین اشکالش کجاست؟مرسی


    "include "LPC17xx.H#




    define LCD_PORT_0 #
    define LCD_RS 1 #
    define LCD_RW 0 #
    define LCD_E 2 #




    define LCD_DB4 4 #
    define LCD_DB5 5 #
    define LCD_DB6 6 #
    define LCD_DB7 7 #
    include "lcd.h" #


    ( void delay (unsigned long tick
    }
    ;unsigned long dly = tick*300
    ;(--while(dly
    {
    (void main(void
    }
    ;LPC_GPIO1->FIODIR=0x00000000
    (if(LPC_GPIO1->FIOPIN==0x00000001
    {


    ;lcd_init()
    ;()lcd_clear
    ;(lcd_gotoxy(1,1
    ;("lcd_putsf("button1
    (delay(100
    }


    (if(LPC_GPIO1->FIOPIN==0x00000002
    {
    ;()lcd_init
    ;()lcd_clear
    ;(lcd_gotoxy(1,1
    ;("lcd_putsf("button2
    ;(delay(100
    }


    }

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

  3. #2
    کاربر فعال amiray آواتار ها
    تاریخ عضویت
    Jul 2010
    نام
    عباس یکانلو
    نوشته ها
    351
    تشکر
    187
    تشکر شده 360 بار در 187 پست

    پیش فرض

    با سلام شما باید این کد یعنی شرط هاتون رو داخل حلقه while قرار بدین تا تکرار بشن.
    در ضمن باید پایه ها رو pull-down کنید.

  4. تشکرها از این نوشته :


  5. #3
    عضو جدید
    تاریخ عضویت
    Apr 2014
    نوشته ها
    10
    تشکر
    8
    تشکر شده 0 بار در 0 پست

    پیش فرض

    مرسی amiray میشه pull-down رو هم توضیح بدی؟

  6. #4
    کاربر فعال amiray آواتار ها
    تاریخ عضویت
    Jul 2010
    نام
    عباس یکانلو
    نوشته ها
    351
    تشکر
    187
    تشکر شده 360 بار در 187 پست

    پیش فرض

    پول آپ یعنی پین رو با یه مقاومت به vcc وصل کنی. این مورد در مواقعی بکار میره که ما میخواهیم صفر شدن پین رو تشخیص بدیم. و در واقع وقتی که کلید فشار داده نشده این مقاومت چون جریان کمی ازش میگزره اختلاف ولتاژ کمی روش میوفته و عملا پایه مون رو در وضعیت 1 میبره.
    پول داون هم که به درد شما میخوره تو این وضعیت این هست که پین رو با یه مقاومت چند کیلویی به زمین وصل میکنین. تو این حالت وقتی کلید فشار داده نشده به واسطه این مقاومت پایه به وضعیت صفر میرود.

  7. تشکرها از این نوشته :


  8. #5
    عضو جدید
    تاریخ عضویت
    Apr 2014
    نوشته ها
    10
    تشکر
    8
    تشکر شده 0 بار در 0 پست

    پیش فرض

    مرسی عباس اینکارو کردم ولی بازم کار نکرد.میشه به برنامه ای که نوشتم یه بار دیگه نگاه کنین.فک کنم اشکال از برنامه ای ک نوشتم.مرسی

  9. #6
    کاربر فعال amiray آواتار ها
    تاریخ عضویت
    Jul 2010
    نام
    عباس یکانلو
    نوشته ها
    351
    تشکر
    187
    تشکر شده 360 بار در 187 پست

    پیش فرض

    با سلام.
    شما تو خودن مقدار پورت هم مشکل دارین یعنی برنامه شما درصورتی درست عمل خواهد کرد که پایه های دیگر پورت رو هم پول دان کنید.(برای مثال میبینید که پین 3 که شما با اون کاری ندارید رو هوا هست و مقدار یک رو میگیره. و مقدار ریجیستر مورد نظر میشه 100یا 101 که به هیچ وجه مساوی 001 نیست.) تا مقدارشون صفر بشه در حالی که این کار سخت به نظر میرسه و بهتره که با یه دستور اثر پین هایی که نمیخواهید رو حذف کنید.
    مثلا با این دستور
    کد:
    if(((LPC_GPIO0->FIOPIN)&(0x1<<4))==(0x1<<4))
    شما اینجا برای خوندن هر پین میتونید شماره اون رو به جای 4 قرار بدین.

  10. تشکرها از این نوشته :


  11. #7
    عضو جدید
    تاریخ عضویت
    Apr 2014
    نوشته ها
    10
    تشکر
    8
    تشکر شده 0 بار در 0 پست

    پیش فرض

    مرسی amiray حل شد

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

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