تیر ۱۴, ۱۳۹۶

AVR

مقدمه :

AVR در ابتدا یک خانواده از میکروکنترلر های ۸ بیتی بود که در سال ۱۹۹۶ برپایه معماری تغییر یافته هاروارد طراحی و ساخته شد و توسط شرکت Atmel روانه بازار های جهانی شد. این میکروکنترلر یکی از پرفروش ترین میکروکنترلر ها در کل جهان به شمار می آید و تاکنون در پروژه های کثیر علمی ، تحقیقاتی و تجاری گوناگونی به کارگرفته شده است.  Arduino که یکی از پلتفورم های بسیار کاربردی موجود در بازار هستش ، به صورت متن باز اغلب مبتنی بر همین تراشه ها میباشد که نشان دهنده ی اهمیت این میکروکنترلر است.

AVR سری های مختلفی را شامل می شود و فرآیند توسعه این خانواده از میکروکنترلر ها همچنان ادامه دارد. از شناخته شده ترین سری های AVR می توان به سری Attiny,Atmega,AtXmega اشاره نمود. در حال حاضر AVR در سری های مختلف و متنوعی با توان های پردازشی گوناگون ، ظرفیت های حافظه ای مختلف و سرعت پردازش متفاوت در بازار های جهانی موجود است. اما چیزی که در حال حاضر در کشورمان به صورت عمومی و گسترده استفاده می شود ، سری Atmega از خانواده AVR است که به علت قیمت مناسب و توان پردازش بالا مورد استقبال قرار گرفته است.

با توجه به محبوبیت این میکروکنترلر و افزایش روز افزون پروژه های IOT اهمیت میکروکنترلر ها در دنیای امروز به شکل چشم گیری افزایش داشته است. با ورود شما به دنیای میکروکنترلر ها از طریق چیپ های AVR به دلیل سادگی و فراوانی کد ها و منابع خوب میتوانید پروژه های عملی بسیاری در زمینه های اینترنت اشیا، هوشمند سازی خانه و مکان، کنترل دستگاه ها و سیستم های دیجیتالی و آنالوگ و … انجام داده و خود را به عنوان یک تکنسین موفق در این بازار ها معرفی کنید. توانایی حل مسیله که در این مسیر به شما اضافه میشود باعث میشود که بتوانید مسایل مختلف را بررسی و حل نمایید. اگر یاد گیری این میکرو را به عنوان پایه های در نظر بگیرید، میتوان در قدم های بعدی در راستای افزایش مهارت خود به سمت میکروکنترلر های دیگر از جمله ARM , PIC  رفته و آنها را به راحتی آموخته و بازار کاری خود را بزرگ نمایید.

سرفصل ها

  • آشنایی اولیه بامیکروکنترلرهای AVR
    • میکروکنترلرهای این خانواده
    • مفهوم فیوزبیت و بیت قفل
    • منابع کلاک سیستم
    • منابع Reset سیستم
  • ساختار حافظه
    • حافظه برنامه (Flash)
    • حافظه داده (RAM)
    • حافظه EEPROM
  • کار با نرم افزار CodevisionAVR
    • آشنایی اولیه با محیط نرم افزار
    • ساخت پروژه ، نوشتن برنامه و کامپایل کردن آن
    • برنامه ریزی IC میکروکنترلر
  • ساختار پورت ها
    • مفهوم پورت ، ورودی و خروجی
    • معرفی رجیسترهای مربوط به پورت ها
  • وقفه ها
    • آشنایی کامل با مفاهیم وقفه(Interrupt)
  • تایمر
    • راه اندازی PWM
  • راه اندازی واحد آنالوگ
    • کار باADC و آشنایی با آن
  • راه اندازی درگاه های سریال
    • آشنایی با مفاهیم ارتباط سریال و نحوه تولید فریم سریال
    • راه اندازی واحدSPI
    • کار با واحدUSART میکروکنترلر AVR 
  • انجام چند پروژه نمونه و شبیه سازی در نرم افزار پروتئوس
    • راه اندازی LCD کارکتری
    • راه اندازی کیپد
    • ساخت ماشین حساب
    • راه اندازی سنسور های مختلف از جمله فوتوسل
    • راه اندازی رله

پیش نیاز ها:

برای شرکت در این کلاس ها به مفاهیم اولیه برنامه نویسی C (تعریف متغیر، تعریف تابع، کار با پوینتر ها و آرایه ها) نیازمند می­باشید. همچنین به اصول اولیه مدار، آشنایی با مقاومت و خازن و قطعات الکترونیکی نیازمند هستید. البته در کلاس مفاهیم مرور خواهند شد و هرگونه مشکلی باشد برطرف خواهد شد اما برای یادگیری عمیق تر اگر مفاهیم را بلد باشید بسیار کار راحت تر خواهد بود.

نحوه ی برگزاری کلاس:

کلاس ها تئوری و عملی خواهند بود. به همین دلیل کلاس به صورت پویا با انجام پروژه های عملی بسیار برگزار میشود. دانشجویان در ابتدا به گرو های ۲ نفره تقسیم میشوند و تا پایان دوره باهم همگروه خواهند بود و پروژه ها را به صورت گروهی تحویل میدهند. در زمان تحویل از هر دو نفر سؤال خواهد شد تا دریابیم مطالب به صورت کامل برای هر دو کاملا درک شده است.