نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مهدی دمیرچیلو

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

275

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

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


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

 

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

شماتیک پروژه

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

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

کد پروژه

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

 

فیلم پروژه

1.2MB پروژه LED چشمک زن با LPC1768 و GPIO
0%
00:00  /  00:13

 

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

شماتیک پروژه

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

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

کد پروژه

فیلم پروژه

1.3MB پروژه GPIO LPC1768 روشن کردن LED با دکمه
0%
00:00  /  00:13

 

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

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

 

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

تعداد مطالب : 367 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
34
نظرات این مطلب بسته شده است.
  1. رضا

    مهمان

    رضا

    با سلام
    خیلی ممنون از مطالب خوبتون
    کتابخانه پروتئوس LPC1768 را میشه قرار بدید.خیلی سایتا را گشتم نبود اگه قرار بدید خیلی ممنون میشم.
    فایل پروتئوس هم نبود در پروژه

  2. محسن نخستین

    مهمان

    محسن نخستین

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

  3. علی اصغر

    مهمان

    علی اصغر

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

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

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

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

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

  4. mohamad

    مهمان

    mohamad

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

    مشاهده پاسخ ها (1)
    • مجتبی

      مهمان

      مجتبی

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

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

    مهمان

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

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

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

      مهدی دمرچیلو

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

  6. mohamad

    مهمان

    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

    مشاهده پاسخ ها (2)
    • مهدی دمرچیلو

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

      مهدی دمرچیلو

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

      • mohamad

        مهمان

        mohamad

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

  7. موسی

    مهمان

    موسی

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

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

      مهدی دمرچیلو

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

  8. 7474

    مهمان

    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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

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

      مهدی دمرچیلو

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

  9. میلاد

    مهمان

    میلاد

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

    مشاهده پاسخ ها (3)
    • مهدی دمرچیلو

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

      مهدی دمرچیلو

      سلام
      ۳٫۳

      • میلاد

        مهمان

        میلاد

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

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

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

          مهدی دمرچیلو

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

  10. amir

    مهمان

    amir

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

    مشاهده پاسخ ها (3)
    • مهدی دمرچیلو

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

      مهدی دمرچیلو

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

      • amir

        مهمان

        amir

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

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

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

          مهدی دمرچیلو

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

  11. حسین عهدی

    مهمان

    حسین عهدی

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

    مشاهده پاسخ ها (5)
    • مهدی دمرچیلو

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

      مهدی دمرچیلو

      دکمه متصل به پایه P0.1 هستش – یعنی پایه دومی – لذا در رجیستر FIOPIN اگه به مطلب آموزشش رفته باشید و ببنید، متوجه میشید که برا خوندن مقدار پایه P0.1 باید بیت دوم رجیستر FIOPIN رو خوند
      لذا چون این رجیستر مقدار کل پایه های پورت P0.x رو به من میده ولی من فقط مقدار پایه p0.1 رو میخوام – لذا مقدار بقیه خونه ها رو ۰ کردم به کمک & ۰x0002 و مقدار بیت مربوطه رو خوندم
      مطلب زیر رو حتما بخون :
      https://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/

      • حسین عهدی

        مهمان

        حسین عهدی

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

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

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

          مهدی دمرچیلو

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

          • hojat

            مهمان

            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 این رجیستر وضعیت پین ها یا پورت را به ما میده به صورت…

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

  12. جهاد

    مهمان

    جهاد

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

  13. جهاد

    مهمان

    جهاد

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

    مشاهده پاسخ ها (2)
    • مهدی دمرچیلو

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

      مهدی دمرچیلو

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

      • رضا

        مهمان

        رضا

        سلام اگه کتابخونه پروتئوس LPC1768 را قرار بدهید خیلی ممنون میشم.
        خیلی گشتم اما پیداش نکردم اما شما تصویرش را قرار دادید.

  14. eshahnazi

    مهمان

    eshahnazi

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