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

آموزش جامع میکروکنترلر 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 ، مثلا فقط به صورت فرستنده یا گیرنده تعریف شده بود اما تو این پروژه هم به صورت فرستنده و هم به صورت گیرنده تعریف شده و اگه بازم دقت! کنید میبینید که بیت ۴ و ۵ این ریجستر یک هست که دلیلش رو گفتم.

این پروژه دو که در بالا گزاشتم رو من به صورت عملی بستمش ولی چون میکروکنترلر مگا ۱۶ فقط یکی داشتم مجبور شدم از مگا ۸ استفاده کنم؛ فیلمی هم که در زیر میبینید مربوط به همین پروژه هستش که فیلمش رو گرفتم :

2MB پروژه ساده ارتباط سریال USART به زبان سی
0%
00:00  /  00:33

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

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

 


 

بروزرسانی در یکشنبه – 21 خرداد 1396
یه کتابخونه نوشتم برا مگا 16/32 ( فک کنم ) که برا ساده شدن کارتون میتونید ازش استفاده کنید؛ که شامل توابع زیر هستش :

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

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

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

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

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

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

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

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

  1. Avatar

    مهمان

    مرتضی

    سلام اقا مهدی. میشه یه شماره تماس از خودتون بدید.
    من یه سری ایراد کلی دارم. میخاستم بپرسم ازتون.

  2. Avatar

    مهمان

    احسان

    سلام خسته نباشید اگه میشه آموزشی برای ارتباط سریال در محیط اتمل استودیو تدارک ببینید و با کتابخانه stdio و _وقفه واقعا به مشکل بر خوردیم

  3. Avatar

    مهمان

    علیرضا

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

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

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

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

      سلام/فقط پایه یوزارت نقششون از I/O به UART تغییر پیدا میکنه، با بقیه کاری نداریم که////

      • Avatar

        مهمان

        علیرضا

        اهان ینی از 8تا پایه فقط همون دوتا رو کار داریم. اخه یجا خوندم نوشته بود usart رو فعال کنیم کل پایه های پورت رو دیگ نمیشه استفاده ی دیگه ایی کرد

  4. Avatar

    مهمان

    علی

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

1 2 3