نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

پروژه ساده روشن کردن led با lpc1768

به نام خدا : بعد از مدها که قصد و نیتشو داشتیم که مطالب lpc1768 رو بزارم تو سایت و مطالب رو کامل بزارم تا مثل مطالب ناقصی که دوستان گزاشتن نشه، امروز لیاقت پیدا کردیم که استارت کار رو بزنیم، برای این مرود، من فعلا یه چند تا پروژه میزارم طی امروز فردا از مبحث GPIO و بعدش میرم سراغ آموزش ها و معرفی چند تا منبع آموزشی(کتاب و سایت و فیلم و…)، خب صحبت کوتاه میکنم بریم سراغ مطلبمون، تو این مطلب چند پروژه LPC1768 میزارم که در کل دو تا پروژه روشن کردن LED هستن یکی با دکمه یکی با DELAY ( پروژه ساده روشن کردن led با lpc1768 )
پروژه ساده روشن کردن led با lpc1768

پروژه ساده روشن کردن led با lpc1768


این مطلب تقدیم میشه به روح تمام شهدا و جوانان با غیرت ایران
یاد آن نوجوان 13ساله بخیر که
اسیر دشمن بعثی بود
اما غیرتش خبرنگار بی حجاب را مجبور کرد
تا حجاب خود را رعایت کند
و اما اکنون...
غیرت جوان ایرانی
 
 
توجه : یه چند تا موردی همین جا بگم، تو مطالب دیگه نمیگم(غیر از مطلب جلسه اول آموزش این میکرو)

  1. پروگرامر J-LINK
  2. هدربرد LPC1768 شرکت ECA
  3. 4 تا برد برد

رو حتما باس داشته باشید.

 

پروژه LED چشمک زن با LPC1768 و GPIO

شماتیک پروژه
تو این پروژه LED پشت سر هم چشمک میزنه.
پروژه LED چشمک زن با LPC1768 و GPIO
 
کد پروژه

 
توجه : کد پروژه بالا رو، به صورت زیر هم میشه نوشت ( نتیجه و عملکرد هر دو کد یکسان هستش ) :

 
فیلم پروژه

 

پروژه GPIO LPC1768 روشن کردن LED با دکمه

شماتیک پروژه
تو این پروژه وقتی دکمه رو فشار میدی LED روشن میشه و وقتی دکمه رو ول میکنی LED خاموش میشه.
پروژه GPIO LPC1768 روشن کردن LED با دکمه
 
کد پروژه

 
فیلم پروژه

 
پروژه های مرتبط :

  1. LPC1768 Led Blinking
  2. LPC1768 Switch and LED
  3. Blink LED with LPC1768 Microcontroller

 

 
خب این مطلب هم تموم شد، امیدوارم براتون مفید بوده باشه. ( توضیحات و آموزش LPC1768 بمونه تو مطلب مربوط به آموزش این میکرو توضیح و آموزش میدم. )

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو گوگل میفرماید : إِنَّ اللّه مَعَ السارِچین ( خداوند با سرچ کنندگان است )
ارسال دیدگاه
32

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    محسن نخستین

    سلام میخواستم بدونم مگه کلاک سیستم 100 مگاهرتز نیست پس چرا برای تابع تاخیر 20000 رو نوشتین و از کجا اومده و چطور خیلی لازمم ممنون میشم یکم سریع بهم بگید

  2. Avatar

    مهمان

    علی اصغر

    سلام ببخشید، این LPC_GPIO0->FIOPIN به چه منظوری استفاده میشه ؟
    یک توضیح کامل بدین ممنون میشم..

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام-این مطلبو بخون.
      http://dmf313.ir/آموزش-آرم-lpc1768-جلسه-2-کنترل-gpio/
      FIOPIN : خوندن مقدار پایه، در حالتی که پایه ورودی هستش. ( این ریجستر کار ریجستر های FIOSET و FIOCLR رو هم میتونه انجام بده؛ این ریجستر عملیات تغییر مقدار پایه ها -۰و۱ کردن- رو هم انجام میده )

  3. Avatar

    مهمان

    mohamad

    ببخید موقع پروگرم کردن
    ارور
    error flash download fail -cortex m3
    میاد واسه چیه ؟؟؟

    • Avatar

      مهمان

      مجتبی

      برو تو تارگت قسمت زبانه اخر ستینگ رو بزن وتنظیماتش رو دیفالت کن درست میشه

  4. Avatar

    مهمان

    عليرضا نظرى پور

    جناب سلام ، خسته نباشین
    وقتى میخوام فایل پروژه رو دانلود کنم لینکش باز نمیشه
    چکار باید کنم ؟؟؟
    ممنونم

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-لینک دانلود فایل سالمه.

  5. Avatar

    مهمان

    mohamad

    *** Using Compiler ‘V5.05 update 2 (build 169)’, folder: ‘D:\Program Files\ARM\ARMCC\Bin’
    Build target ‘Target 1’
    compiling led.c…
    led.c(5): error: #29: expected an expression
    for( unsigned int i=0; i<ms; i++ )
    led.c(6): error: #29: expected an expression
    for( unsigned int j=0; j<20000; j++ );
    led.c: 0 warnings, 2 errors
    ".\Objects\led.axf" – 2 Error(s), 0 Warning(s).
    Target not created.
    Build Time Elapsed: 00:00:01
    سلام بی زحمت میشه این به زبان c بگی cpp نمیدونم چیه نمیتونم اصلاحش کنم sad

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      تو زبون سی نمیتونی تو حلقه for متغیر تعریف کنی
      for( unsigned int j=0; j<20000; j++ );
      این الان اشتباهه – متغییر J رو در خط بالاترش تعریف کن و در حلقه for ازش استفاده کن.

      • Avatar

        مهمان

        mohamad

        داداش ممنونم بالاخره پس از جدال با ارور ها و پروگرمر انجام شد خخخخ heart

  6. Avatar

    مهمان

    موسی

    سلام کتابخونه 1768برا پروتیوس از کجا بیاریمl??

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-نمیدونم – در عمل کار کن !

  7. Avatar

    مهمان

    7474

    سلام. وقتتون بخیر باشه. واقعا ممنون از سایت خوبی که دارید. من به شخصه خیلی استفاده کردم..
    شرمنده. سوال داشتم.
    من برنامه رو نوشتم اما کامپایل که میکنم دوتا ارور میگیره. نمی دونم باید چکارش کنم..
    *** Using Compiler ‘V5.05 update 2 (build 169)’, folder: ‘C:\Keil_v5\ARM\ARMCC\Bin’
    Build target ‘Target 1’
    compiling led.c…
    led.c(6): error: #29: expected an expression
    for(unsigned int i=0;i<ms;i++)
    led.c(7): error: #29: expected an expression
    for(unsigned int j=0;j<۲۰۰۰۰;j++);
    led.c: 0 warnings, 2 errors
    ".\Objects\led.axf" – 2 Error(s), 0 Warning(s).
    Target not created.
    Build Time Elapsed: 00:00:00

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام – من این کد توی این مطلب رو بر مبنای کد CPP نوشتم – شما به C تغییرش بده – تو کیل هم میشه به زبون C کد زد و هم CPP

  8. Avatar

    مهمان

    میلاد

    سلام یک سوالی ولتاژ کاری این میکرو ۳٫۳ یا ۵ ولت ؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      ۳٫۳

      • Avatar

        مهمان

        میلاد

        الان من بخوام usb to serial pl233 رو بهش وصل کنم تا از پروپرامر flash magic استفاده کنم ولتاژ رو ب کدوم پایه بدم؟

        • مهدی دمرچیلو

          نویسنده این مطلب

          مهدی دمرچیلو

          کار نکردم با فلش مجیک – من از پروگرامر J-LINK استفاده میکنم و مستقیما با خود کیل پروگرام میکنم برنامه رو – یه F7 میزنم برنامه کامپایل میشه و بعدش یه F8 میزنم برنامه پروگرام میشه – به همین راحتی

  9. Avatar

    مهمان

    amir

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

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      کتاب خوب ندیدم من – یه کتاب خریدم خودم ولی بدرد جرز لای در میخوره
      همین مطالب سایت رو بخون – سوال هر چی داشتی بگو تمام کمال جواب میدم

      • Avatar

        مهمان

        amir

        سلام میشه بگین چه کتابی خریده بودین

        • مهدی دمرچیلو

          نویسنده این مطلب

          مهدی دمرچیلو

          سلام
          تو سایت کتاب.آی آر سرچ کنید

  10. Avatar

    مهمان

    حسین عهدی

    if( LPC_GPIO0->FIOPIN & 0x0002 )
    بی زحمت این خط رو توضیح میدی؟
    fiopin رو چرا با اون and کردی؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      دکمه متصل به پایه P0.1 هستش – یعنی پایه دومی – لذا در رجیستر FIOPIN اگه به مطلب آموزشش رفته باشید و ببنید، متوجه میشید که برا خوندن مقدار پایه P0.1 باید بیت دوم رجیستر FIOPIN رو خوند
      لذا چون این رجیستر مقدار کل پایه های پورت P0.x رو به من میده ولی من فقط مقدار پایه p0.1 رو میخوام – لذا مقدار بقیه خونه ها رو ۰ کردم به کمک & ۰x0002 و مقدار بیت مربوطه رو خوندم
      مطلب زیر رو حتما بخون :
      http://dmf313.ir/%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%88-%DB%8C%D8%A7-%D8%AE%D9%88%D9%86%D8%AF%D9%86-%DB%8C%D9%87-%D8%A8%DB%8C%D8%AA-%D8%A7%D8%B2-%DB%8C%DA%A9-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1/

      • Avatar

        مهمان

        حسین عهدی

        الان اینجا وقتی دکمه رو فشار میدی عدد یک میفته رو پینت و با ۰x0002 اند میشه و جوابش یک میشه و میره شرط رو چک میکنه .مگه شرط درستی صفر نیست؟یعنی اگه جواب صفر بود بره دستور رو اجرا کنه؟؟

        • مهدی دمرچیلو

          نویسنده این مطلب

          مهدی دمرچیلو

          خب طبق شماتیک پروژه، دکمه به vcc وصله و مقاومت به gnd – لرا وقتی کلید فشرده بشه vcc رو پایه میکرو اعمال میشه و ما با دیدن مقدار ۱ در رجیستر pin متوجه فشرده شدن کلید میشیم.

          • Avatar

            مهمان

            hojat

            این خط رو نمی خواد
            LPC_PINCON -> PINSEL0 = 0x00000000;
            چون power gpio به صورت پیش فرض فعاله
            برای اینکه گیج نزنید بهتره بجای ۰x0001; از۰ >> 1
            استفاده کنید و این جوری خونده میشه ۱ که صفر تا شبقت میدیم
            if( LPC_GPIO0->FIOPIN & 0x0002 ) اشتیاه است
            ((if(!( LPC_GPIO0->FIOPIN & 0x0002 این درستشه
            از شما کلید زده نشده led روشن میشه و معمولا ما نمی خوایم اینجوری باشه باید خاموش بعد با کلیک روشن شود شما اول روشن می کنید بعد خاموش
            FIOPIN این رجیستر وضعیت پین ها یا پورت را به ما میده به صورت پیشفرض gpio ها ورودی و pull up هستند پس بیتهای این رجیستر FIOPIN یک هستند واگه یک بیت رجیستر صفر شود به مفهوم کلیک زده شدن است چون کلید به زمین وصل میشه و آن بیت از رجیستر صفر می شود خوب حالا برای اینکه میکرو نخواد مدام کل رجیستر FIOPIN را چک کنه مبایم محدود به آن بیتی می کنیم که می خواییم کلیک بشه LPC_GPIO0->FIOPIN & 0x0002
            پس اینجا بیت ۱ مقدارش ۱ است چون گفتیم pull up است وضعیت FIOPIN که ورودی پس مقدارش ۱ است پس & هر دو میشه ۱ پس کلیک زده نشده است
            پس اصلاح شده پروژه
            #include
            int main()
            {
            LPC_GPIO0 -> FIODIR = 0x0001;
            while(1)
            {
            ((if(!( LPC_GPIO0->FIOPIN & 0x0002 {
            LPC_GPIO0->FIOSET = 0x0001;
            }
            ((if(!( LPC_GPIO0->FIOPIN & 0x0002
            LPC_GPIO0->FIOCLR = 0x0001;
            }
            }
            }
            البته بازم نیاز به توسعه داره

          • مهدی دمرچیلو

            نویسنده این مطلب

            مهدی دمرچیلو

            سلام
            بله درسته نقش پیش فرض پایه ها GPIO هستش ولی چون فعلا در شروع کار هستیم – این کد رو گزاشتم تا دوستان بدونن که اول باید نقش پایه ها تعیین بشه.
            ((if(!( LPC_GPIO0->FIOPIN & 0x0002 این درستشه
            مقاومت دکمه پول دان هستش – درست نوشتم.

            FIOPIN این رجیستر وضعیت پین ها یا پورت را به ما میده به صورت…

            بله درسته – من فراموش کردم مقاومت داخلی رو غیر فعال کنم تغییر بدم
            ممنون از لطف شما – امیدوارم بقیه دوستان هم مثل شما عمل کنن

  11. Avatar

    مهمان

    جهاد

    کتابخونه AT91SAM 7X256روهم میزاشتی بد نمیشد smile

  12. Avatar

    مهمان

    جهاد

    اقا مهدی کتابخونه LPC1768 رو هم بزار واقعا گیرم
    ممنون که میزاری smile

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      کتابخونه چیش?

  13. Avatar

    مهمان

    eshahnazi

    سلام
    امیدوارم به همین صورت ادامه بدید….