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

آموزش پروژه محور آرم lpc1768 مبحث adc

324

به نام خدا : تو این مطلب از سری مطالب پروژه آرم ، میخوام پروژه های adc میکروکنترلر lpc1768 رو قرار بدم، در مطلب دیگری، آموزش lpc1768 مبحث adc ، اومدم رجیستر ها رو توضیح مفصل دادم تا حد امکان و تو این مطلب پروژه ها رو قرار میدم براتون؛ از هر قسمت و هر حالت ممکن سعی کردم یه پروژه بنویسم و براتون قرار بدم. ( توجه، این مطلب در ۱۰ دی ماه ۹۵ بروز رسانی شده، لطفا قبل از خوندن متن، به ته مطلب برید و از قسمت مشخص شده شروع کنید به مطالعه )

آموزش پروژه محور آرم lpc1768 مبحث adc

آموزش مفهومی ADC میکروکنترلر LPC1768 : آموزش آرم میکروکنترلر lpc1768 جلسه ۹ adc

لیست توابع کتابخانه adc میکروکنترلر lpc1768 : 
تعریف و توضیح این توابع در ادامه مطلب و سر هر پروژه، هر کدوم رو که نیاز داشته باشیم، توضیحش میدم.

فیلم تمام پروژه های زیر

27MB تست و راه اندازی 4 پروژه ADC میکروکنترلر LPC1768
0%
00:00  /  06:30

 

۱) پروژه خواندن adc میکروکنترلر lpc1768 به روش Polling

شماتیک پروژه : 
پروژه خواندن adc میکروکنترلر lpc1768 با Interrupt
کد پروژه : کد نویسی به نظرم باید اینطوری باشه – پروژه رو تابع تابع کنی و در قالب کتابخونه هایی و هم پروژه اصلی یکم خلوت میشه و پیدا کردن مشکلات و راه اندازیش سریع میشه و هم این که در پروژه های دیگه میتونی این کتابخونه ها رو استفاده کنی.

 

۲) پروژه خواندن adc میکروکنترلر lpc1768 با Interrupt

شماتیک پروژه : مثل پروژه ۱
کد پروژه : 

 

۳) پروژه رخ دادن تبدیل با وقفه خارجی ۰ و خواندن adc میکروکنترلر lpc1768 با Interrupt

شماتیک پروژه : بازم مثل شماتیک پروژه ۱ هستش فقط یه دکمه به پایه p2.10 که همون پایه وقفه خارجی ۰ یا همن EINT0 هستش وصل میکنیم.
پروژه رخ دادن تبدیل با وقفه خارجی 0 و خواندن adc میکروکنترلر lpc1768 با Interrupt
کد پروژه : 

 

۴) پروژه راه اندازی مد BURST و خواندن adc میکروکنترلر lpc1768 با Interrupt

شماتیک پروژه : مثل پروژه ۱
کد پروژه :

 

توجه مهم : پایه VREF رو به ۳٫۳ ولت وصل کنید – یادم رفت تو شماتیک لحاظ کنم؛ اگه این کارو نکنید پروژه کار نمیکنه.

خب الان که میبینم جان داش حس توضیح دادن نیست، لذا این قسمت ماستمالی میشه – الته اینم میشه یه تمرین برا شما که پروژه های بالا رو تجزیه و تحلیل کنید، آموزش آماده، پروژه آماده، فقط یه بررسی کوچیک لازم داره…… بررسی کنید، به مشکل خوردید در خدمتیم.

امیدوارم این مطلب براتون مفید بوده باشه و شب یلدا خوبی در کنار خونواده داشته باشید، هزینه این مطلب یه فاتحه برا اموات خودم و خودتون و اصلاح شدن نادانها و نابودی خائنین به اسلام ( که الان هم کم نیستن عده این افراد که در لباس روحانیت دارن به اسلام و کشور خدمت میکنن و حالا چه داخل کشور و چه بیرون ).
خائنین به اسلام
فعلا یا علی


بروزرسانی در ۱۰ دی ۹۵
کتابخونه بالا رو من به کاملا ویرایش کردم، از تغییر نام ظاهری اسم توابع تا اضافه شدن یه سری توابع جدید، بر طرف کردن مشکلات توابع قبلی، جدا شدن تابع راه اندازی در مد سخت افزار و نرم افزاری، اضافه شدن قابلیت خوندن تا ۸ پایه در مد نرم افزاری یا همون مد معمولی – در زیر فایل کتابخونه و ۸ پروژه تست شده رو براتون قرار میدم؛ لذا دیگه بیخیال خوندن متون بالا بشید و از همین کتابخونه و پروژه های از این نقطه به پایین شروع کنید به مطالعه.

لیست توابع این کتابخونه به صورت زیر هستش :

لیست پروژه ها به شرح زیر هستش ( فقط اسمشون رو قرار میدم، برا دیدن کدها، فایل بالا رو دانلود کنید )  :

Read ADC0 PIN IN Burst Mode
Read ADC0 PIN IN Burst Mode With Interrupt
Read All ADC PIN IN Burst Mode

Read ADC0 PIN IN Software Mode
Read ADC0 PIN IN Software Mode With Interrupt
Read All ADC PIN IN Software Mode

Read ADC0 PIN IN Software Mode & Start Convert on EXTI0
Read ADC0 PIN IN Software Mode With Interrupt & Start Convert on EXTI0

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

    مهمان

    مهدی

    سلام
    اول اینکه دمتون گرم. آموزشهاتون خیلی مفیده.
    دوم اینکه من نمیتونم به جز ADC0 هیچ کانال دیگه‌ای رو بخونم. از کتابخونه شما استفاده کردم و تا جایی که فهمیدم بیت آخر ریجستر ADDR مربوط به کانال هیچوقت ۱ نمیشه(تبدیل کامل نمیشه) و با اجرای دستور مثلا adc_read_with_polling(ADC1) میکرو هنگ میکنه. مشکل از کجا میتونه باشه؟

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

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

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

      سلام-طبق کد شماره 1، خطوط 12 و 15، در توابع init و adc_read_with_polling باید شماره پورت مد نظر رو بدید – مثلا ADC1

      • مهدی

        مهمان

        مهدی

        می‌کنم این کار رو ولی نمیشه. حتی وقتی adc0 رو init نکردیم و میخونیمش صفر میده ولی وقتی بقیه adc هارو init میکنم و میخونم هنگ میکنه میکرو.

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

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

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

          شرمنده دیروز نه وقتش بود نه حسش – خب من الان تست کردم، مشکلی نبود – بر چه مبنایی میگی میکرو هنگ میکنه؟ برا من کار میکنه – خواستی فیلم عملکردم میتونم برات بفرستم – رو adc0 و adc1 و adc2 تست کردم موردی نبود.
          با Keil v5.28a پروژه رو تست کردم ( چند ساعت پیش دانلودش کردم! )
          و از جدید ترین ویرایش! کتابخونه ها هم استفاده کردم.
          دانلود پروژه راه اندازی adc میکروکنترلر lpc1768 ( اینو الان تست کردم – خواستی همینو هم تست کن )

          • مهدی

            مهمان

            مهدی

            همین که وقت میذاری جواب میدی خیلیه، واقعا ممنون.
            اون یه خط enable کردن رو اضافه کردم حل شد.
            یه کاری هم با تایمر میخوام انجام بدم، نمیشه؛ اون رو هم میشه کدش رو به یه طریقی بفرستم نگاه کنی؟

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

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

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

            اگه از توابع و کتابخونه های این سایت هستش بده بررسی کنم – غیر اون هستش بیخیال – حوصله ندارم بشینم 2 ساعت بررسیش کنم دیتاشیت بخونم و …

          • مهدی

            مهمان

            مهدی

            با کتابخونه‌های سایته. پس بی‌زحمت یه پیام بده تو واتس اپ یا تلگرام.
            ایمیلم هم هست.
            خیلی ممنون.

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

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

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

            هیچکدومو ندارم.
            زیپ کن بفرست بیاد.
            mahdedamarchi@gmail.com

  2. محسن

    مهمان

    محسن

    سلام مهندس من چند مدتی با هدر بردlpc1768 کار میکنم اما وقتی میخوام adc رو راه اندازی کنم ای سی من اعداد متفاوتی نشون میده میخواستم بدونم که ایا این هدر برد پایه ای برای تغذیه جدا گانه avcc دارد اگه دارد اون کدوم پایه است.ممنون اگه لطف کنین روی هدر برد نشون بدین.

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

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

      مهدی دمرچیلو

      سلام
      اول مطلب لینک یه مطلبی رو گزاشتم – اون مطلب آموزش ADC گفتم که یه دو تا پایه هستش که مربوطن به ولتاژ مرجع – مشکل شما اینه.

      • محسن

        مهمان

        محسن

        بله. نگاه کردم اما اینجور چیزی ندیدم فقط اسم این دوتا پایه روی هدر برد چیه؟

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

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

          مهدی دمرچیلو

          تو مطلب زیر
          https://dmf313.ir/آموزش-آرم-میکروکنترلر-lpc1768-جلسه-۹-adc/
          تو قسمت “توضیح پایه های ADC” نوشتم :

          پایه های VREFP و VREFN : ولتاژ مرجع؛ این دو پایه ولتاژ مرجع برا ADC و DAC فراهم میکنن.
          توجه : اگه از ADC یا DAC استفاده نمیکنید، باید پایه VREFP رو به ولتاژ ۳٫۳ ولت ( پایه VDD) و پایه VREFN رو به پایه VSS وصل کنید.
          پایه های VDDA و VSSA : تغذیه + و – آنالوگ؛ این پایه ها عموما باید ولتاژی برابر V DD و V SS داشته باشن، اما باید ازوله بشن برا به حداقل رسوندن نویز و خطا. ( چطوری ایزوله کنیم؟ برا این کار من دوتا مدار پیدا کردم و اولیش رو یکی از دوستان به من داد – من خودم هنوز تست نکردم )

  3. ارش

    مهمان

    ارش

    سلام توی خط زیرمی دونم که منتظریم ADDR_DONE==1بشه ولی این قسمت کهdataبا unsigned long int اند(and)شده…یعنی چی ؟
    while( (Data & ((unsigned long int)1<<_ADDR_DONE)) == 0 );

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

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

      مهدی دمرچیلو

      سلام
      خواستم بیت _ADDR_DONE ام Data رو بخونم.

  4. حسین عهدی

    مهمان

    حسین عهدی

    حاجی جدا دمت گرم
    باید علم رو اینجوری نشر داد تا یه روز بالاخره دست اون اجنبی های داخلی و خارجی رو کوتاه کرد
    خسته نباشی

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

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

      مهدی دمرچیلو

      چه عجب بعد عمری یکی نظر داد laugh

    • محمد

      مهمان

      محمد

      سلام
      بنده خدا ما هنوز یک مقاومت نمیتونیم درست کنیم بعد توقع ساخت این ای سی رو داری rofl