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

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

به نام خدا : بعد از مدها که قصد و نیتشو داشتیم که مطالب 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 بمونه تو مطلب مربوط به آموزش این میکرو توضیح و آموزش میدم. )

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

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

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

3) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )

  1. مهمان

    رضا

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

  2. مهمان

    محسن نخستین

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

  3. مهمان

    علی اصغر

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

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

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

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

  4. مهمان

    mohamad

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

    • مهمان

      مجتبی

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

  5. مهمان

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

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

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

      مهدی دمرچیلو

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

  6. مهمان

    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 ازش استفاده کن.

      • مهمان

        mohamad

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

  7. مهمان

    موسی

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

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

      مهدی دمرچیلو

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

  8. مهمان

    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

  9. مهمان

    میلاد

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

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

      مهدی دمرچیلو

      سلام
      ۳٫۳

      • مهمان

        میلاد

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

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

          مهدی دمرچیلو

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

  10. مهمان

    amir

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

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

      مهدی دمرچیلو

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

      • مهمان

        amir

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

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

          مهدی دمرچیلو

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

  11. مهمان

    حسین عهدی

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

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

      مهدی دمرچیلو

      دکمه متصل به پایه 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

            این خط رو نمی خواد
            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

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

      مهدی دمرچیلو

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

      • مهمان

        رضا

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

  14. مهمان

    eshahnazi

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