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

آموزش جامع میکروکنترلر avr جلسه6

به نام خدا : آموزش جامع میکروکنترلر avr جلسه6 ؛ موضوع این جلسه : ۳ تا پروژه در مورد ” ارتباط سریال USART ” از سری مطالب آموزش avr
آموزش جامع میکروکنترلر avr جلسه6

آموزش جامع میکروکنترلر avr جلسه6


توجه ۱ : تا اونجایی که بتونم کد ها و ریجستر های مربوط به "ارتباط سریال USART" رو توضیح میدم و اگه جاییش رو نفهمیدید به مطلب قبلی مراجعه کنید و ببینید هر بیت مربوط به هر ریجستر کارش چیه.

آموزش جامع میکروکنترلر AVR جلسه۵

توجه ۲ : فایل های مربوط به هر سه تا پروژه رو به صورت یک جا در آخر برا دانلود میزارم.
توجه ۳ : این پروژه ها در ظاهر سادس ولی ممکنه تازه کارا به مشکل بخورن همون طور که بعضی از دوستان... ، به هر حال نظر من اینه که  موقع آموزش  باید پروژه های آسون بزارم و قشنگ توضیح بدم تا... قرار نیست که موقع آموزش پروژه ای در سطح پارس جنوبی بزارم که....) pardon
توجه ۴ : نحوه کار با LCD رو هم تو پروژه های مربوط به LCD باید خوب یاد گرفته باشید. فقط اینو بگم  که همیشه تا اونجایی ک میشه سعی کنید که LCD رو به PORTC وصل نکنید.و از پورت های دیگه استفاده کنید.
توجه ۵ : مطلب زیر رو حتما حتما بخونید>>>ادامه ی همین بحث هستش ولی تو قسمت مربوط به آموزش پروتئوس قرارش دادم.
آموزش جامع کار با پروتئوس جلسه۱

———–پروژه avr یک———–

آموزش جامع میکروکنترلر AVR جلسه6
همون طور که رد عکس بالا میبینید یه فرستنده داریم و یه گیرنده که با روشن خاموش کردن کلید ها  ، led ها روشن و خاموش میشوند.
و همون طور که مشاهده میکنید توسط پایه های RXD و TXD  که در PORTD هست این دو میکرو کنترلر به هم وصل شده اند.
این از کد های مربوط به میکرو کنترلر فرستنده

و اینم از کدهای مربوط به میکروکنترلر  گیرنده :

اگه توجه کنید کد های مربوط به “ارتباط سریال USART” در هر دو برنامه (هم فرستنده و هم گیرنده) تقریبا یکی هست غیر از ریجستر UCSRB که توسط بیت ۴ و ۵ همین ریجستر فرستنده گیرنده بودن میکروکنترلر رو تعیین میکنیم.(حالا دو هزاریت اوفتاد که چرا این دو کد با هم متفاوت اند.)

 ——-پروژه avr دو——-

اینم از پروژه ساده دوم>>> کار این پروژه اینه که با صفر یا یک کردن کلید مقدار اون در LCD نمایش داده میشود.
اینم از کد های برنامه فرستنده (تقریبا مثل پروژه قبلی هست فقط یه LCD اضافه شده)

اینم از کد های گیرنده :

 ————پروژه avr سه————

آموزش میکروکنترلر avr
تو این پروژه هر دو تا میکروکنترلر هم فرستنده هستن و هم گیرنده.
اینم از کد های برنامه که تو ه دو تا میکروکنترلر یکسان هست و هر دو میکرو کنترل از همین کد استفاده میکنن

اگه توجه کرده باشید کد های مربوط به  “ارتباط سریال USART”  تو این پروژه مثل دو پروژه قبل هستش فقط با این تفاوت که تو دو پروژه قبل ریجستر UCSRB ، مثلا فقط به صورت فرستنده یا گیرنده تعریف شده بود اما تو این پروژه هم به صورت فرستنده و هم به صورت گیرنده تعریف شده و اگه بازم دقت! کنید میبینید که بیت ۴ و ۵ این ریجستر یک هست که دلیلش رو گفتم.

عملی بستن مدار(مدار مربوط به پروژه ۲)

این پروژه دو که در بالا گزاشتم رو من به صورت عملی بستمش ولی چون میکروکنترلر مگا ۱۶ فقط یکی داشتم مجبور شدم از مگا ۸ استفاده کنم.
فیلمی هم که در زیر میبینید مربوط به همین پروژه هستش که فیلمش رو گرفتم.
اگه فیلم در زیر نمایش داده نشد از لینک زیر استفاده کنید.
http://www.aparat.com/v/j0KEw

دانلود ۳ پروژه این جلسه | حجم : ۳۶۰ کیلوبایت!

سوال موالی بود در خدمتیم. smile


بروزرسانی در یکشنبه – ۲۱ خرداد ۱۳۹۶
یه کتابخونه نوشتم برا مگا 16/32 ( فک کنم ) که برا ساده شدن کارتون میتونید ازش استفاده کنید؛ که شامل توابع زیر هستش :

که شما فقط کافیه :

  1. اول پروژه کتابخونه رو فراخونی کنید.
  2. اولای تابع main تابع uartInit رو فراخونی کنید و BaudRate مد نظرتون رو به این تابع بدید.
  3. از توابع ارسال و دریافت اطلاعات استفاده کنید؛ وسلام.

با استفاده از این کتابخونه دیگه نیاز نیست هر دقیقه کد نویسی مربوط به ارتباط سریال رو انجام بدید. good فایل این کتابخونه رو از زیر میتویند دانلود کنید :

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

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

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

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

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

  1. Avatar

    مهمان

    علی

    سلام آقا مهدی وقت بخیر.برای انتقال اطلاعات با ماژول 433 mhz rf ask به صورت بیسیم وقتی که کاراکتر به کاراکتر دریافت میکنم اطلاعات دریافت میشه ولی بعضی حروف اشتباهی میره وقتی هم که یه آرایه میسازم و کاراکتر هاشو چک میکنم که اگه درست بود نمایش بده اکثر اوقات نمایش نمیده (از فیلتر رد نمیشه).باود ریت رو روی 600 گذاشتم کریستال 11.0592درصد خطا صفره.بین زمین و +5 ولت هر مدار یه خازن 10 میکرو گذاشتم.و یک پیام رو سه بار میفرستم و بین هر ارسال 1 ثانیه delay میدم شاید یکیش درست بره ولی هنوزم اکثر اوقات خطا داره.
    سوال:
    1- بهترین باودریت برای ماژول 433 مگاهرتز چه مقداریه؟
    *********2-نکته سخت افزاری یا نرم افزاری هست که باید رعایت کنم؟*****

1 2 3