آشنایی مختصر با دوره Embedded C مقدماتی

 

امروزه برنامه نویسی ریزپردازنده ها ، میکروپروسسورها ، میکروکنترلرها (از جمله AVR,ARM,PIC,dsPIC) ، SBC ها (از جمله Arduino و Raspberry pi) و انواع CPU ها و همچنین تولید سیستم عامل های جدید و نرم افزارهای کاربردی از طریق زبان C صورت می گیرد.

 کاربرد وسیع این زبان برنامه نویسی و مقبولیت آن نزد توسعه دهنده های Embedded System  ناشی از عوامل مختلفی همچون پشتیبانی از کلیه میکروکنترلرها و تراشه های با قابلیت برنامه ریزی ، قابلیت پیاده سازی سیستم های بلادرنگ و Real time ،  بازدهی بالا ، دسترسی به سخت افزار و حافظه ، وجود استاندارد ، برنامه نویسی به صورت ماژولار ، پشتیبانی از اشاره گرها ، structure ها و union ها و مواردی از این دست می باشد .

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

تحلیل بازار کار

 

سیستم های نهفته در بسیاری از زمینه ها همچون حمل و نقل ، تجهیزات پزشکی ، سامانه های هوشمند ، تجهیزات امنیتی ، سیستم های مخابراتی ، دستگاه های بی سیم ، لوازم خانگی ، صنایع خودرو سازی ، صنایع نظامی و ... کاربرد دارند و به عبارت دیگر می توان بخش عظیمی از الکترونیک دیجیتال را وابسته به Embedded System ها دانست . با توجه به این موضوع بازارکار مناسبی چه در کشور ایران و چه در کشورهای دارای صنعت الکترونیک دیجیتال می توان برای افراد توانمند در این زمینه متصور شد . هم چنین روزانه آگهی های مختلفی برای استخدام مهندسین توانمند در امر طراحی ، توسعه و پیاده سازی امبدد سیستم ها شامل میکروکنترلرها ، میکروپروسسورها ، کامپیوترهای تک بردی و پردازنده های دیجیتال در سایت ها و روزنامه های منتشر کننده آگهی های استخدامی درج می شود .

توانایی دانشجو پس از پایان دوره Embedded C مقدماتی

 

دانشجو در پایان دوره می تواند :

• درک مناسبی از الگورتیم های برنامه نویسی و مفاهیم برنامه نویسی ویژه میکروکنترلرها داشته باشد

• انواع داده ها ، نحوه تبدیل آن ها به یکدیگر ، آرایه ها و رشته ها در زبان C را مورد استفاده قرار دهد

• استفاده از توابع و برنامه نویسی به صورت ماژولار و ساخت یافته را انجام دهد

• با ساختارهای کنترلی برنامه مانند IF و Switch آشنا و جایگاه درست استفاده از هر کدام را درک کند

• با انواع حلقه‌های تکرار for , while و do while و نحوه استفاده آن در سیستم های نهفته آشنا شود

• برنامه نویسی بر روی تراشه های برنامه پذیر از جمله میکروکنترلرها را انجام دهد

• تجربه برنامه نویسی واحد I/O میکروکنترلر AVR را کسب نماید

• از کامپایلر Codevision برای محیط برنامه نویسی استفاده کند

• راه اندازی موتور پله ای ، LCD کاراکتری ، نمایشگر LED ، کیپد ماتریسی ، 7segment  را فرا می گیرد

شیوه برگزاری کلاس

 

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

هدف دوره آموزشی برنامه نویسی امبدد سیستم مقدماتی ایجاد تسلط برنامه نویسی و پیاده سازی الگوریتم ها برای میکروکنترلرها می باشد و این مهارت برای کلیه میکروکنترلرها از جمله AVR, ARM, PIC, dsPIC عمومیت دارد و خاص یک میکرو نیست . اما برای تمرکز بیشتر و سهولت یادگیری میکروکنترلر AVR برای پیاده سازی تمرین ها و کار عملی این دوره انتخاب شده است .  برنامه نویسی در محیط نرم افزار Codevision انجام می شود و برای تست و کار عملی از محیط شبیه ساز Proteus استفاده می شود .

سرفصل دوره آموزشی Embedded C  مقدماتی :

• مقدمات زبان C

♦ معرفی انواع زبان های برنامه نویسی کاربردی سیستم های نهفته

♦ آشنایی با ساختار برنامه نویسی و مفاهیم اولیه برنامه نویسی

♦ انواع داده ها در زبان برنامه نویسی C

♦ معرفی انواع متغیرها و ثابت ها و نحوه به کارگیری آن در برنامه نویسی امبدد سیستم ها

♦ آشنایی با نحوه مقدار دهی متغیرها

♦ معرفی عملگرهای محاسباتی ، رابطه ای ، منطقی ، بیتی و نحوه استفاده از آن ها

♦ معرفی تابع main و نحوه استفاده از آن در برنامه نویسی میکروکنترلر

♦ به کارگیری دستور #include جهت اضافه کردن کتابخانه ها به برنامه

♦ استفاده از دستور پیش پردازنده #define

• برنامه نویسی میکروکنترلر AVR

♦ آشنایی کلی با میکروکنترلر AVR و عملکرد واحدهای آن

♦ معرفی ساختار میکروکنترلر AVR

♦ آشنایی با مفاهیم پالس ساعت ، ریست و شیوه های برنامه ریزی میکرو

♦ معرفی رجیسترهای واحد I/O میکروکنترلر AVR

♦ آموزش کار با کامپایلر Codevision

♦ به کارگیری LED به عنوان نمایشگر در پروژه ها

♦ آموزش مفاهیم pull up / pull down در سیستم های دیجیتال

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

♦ معرفی توابع چاپ دیتا بر روی نمایشگر LCD کاراکتری

♦ آشنایی با بازر و راه اندازی آن به صورت عملی

♦ آشنایی با نرم افزار Proteus به عنوان شبیه ساز پروژه های embedded system

• حلقه های تکرار و ساختارهای تصمیم گیری

♦ آشنایی با حلقه های تکرار for(), while(), do … while()

♦ آشنایی با کاربرد حلقه های تکرار تو در تو

♦ آشنایی با ساختارهای تصمیم گیری if , else if, switch و نحوه به کارگیری آن در برنامه نویسی میکروکنترلر

♦ اجرای انواع تمرین های رقص نور بر روی LED

♦ نحوه به کارگیری کیپد تلفنی در پروژه های میکروکنترلری

♦ طراحی و پیاده سازی انواع شمارنده های بالا شمار ، پایین شمار ، حلقوی ، جانسون و ...

• آرایه ها و رشته ها

♦ تعریف آرایه های تک بعدی و چند بعدی کاربرد آن ها

♦ آشنایی با نحوه مقداردهی به آرایه

♦ آشنایی با رشته ها و مقدار دهی به آن ها

♦ به کار گیری string ها در برنامه نویسی سیستم های نهفته

♦ راه اندازی موتور پله ای Stepper motor توسط میکرو AVR

♦ نمایش کارکترها و حروف بر روی LCD کاراکتری

♦ راه اندازی نمایشگر هفت قسمتی 7segment توسط میکروکنترلر AVR

• توابع و برنامه نویسی ساخت یافته

♦ آشنایی با روش های تابع نویسی

♦ معرفی انواع توابع از نظر ورودی و خروجی

♦ تعریف متغیرهای محلی و عمومی

♦ مدیریت استفاده از چند تابع در یک برنامه

♦ طراحی برنامه های دارای منوی انتخابی با استفاده از توابع فرعی

♦ پیاده سازی توابع دارای مقدار برگشتی

عناوین پروژه ها و تمرین های دوره آموزشی Embedded C  مقدماتی :

• راه اندازی LED به عنوان نمایشگر در پروژه ها

• پیاده سازی انواع شمارنده های Up counter, Down counter, Ring counter, star و ...

• اجرای انواع تمرین های رقص نور بر روی LED

• راه اندازی Push button به عنوان ورودی سیستم

• راه اندازی کیپد ماتریسی در پروژه های میکروکنترلری

• راه اندازی نمایشگر LCD کاراکتری توسط میکروکنترلر  AVR

• ایجاد منوی انتخابی چند صفحه ای با استفاده از میکرو و نمایش روی LCD

• راه اندازی نمایشگر هفت قسمتی 7segment توسط میکروکنترلر AVR

• ایجاد منوی انتخابی چند صفحه ای با استفاده از میکرو و نمایش روی 7Segment

• راه اندازی موتور پله ای Stepper motor توسط میکرو AVR

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

• طراحی و پیاده سازی ماشین حساب چهار عمل اصلی با استفاده از AVR

• کار با نرم افزار Proteus به عنوان شبیه ساز پروژه های embedded system

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

 

در حال بروز رسانی

برای یادگیری زبان C چه پیش نیازی لازم است ؟

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

 

آیا دوره زبان C هم به صورت عملی برگزار میشه ؟

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

 

تفاوت این دوره با دوره های دانشگاهی چیست ؟

در این واحد درسی در بسیاری از دانشگاه ها اصول برنامه نویسی و طراحی الگوریتم تدریس نمی شود و همین امر موجب ایجاد مشکل برای یادگیری مناسب و عدم درک کامل مباحث و توانمندی ضعیف دانشجویان در برنامه نویسی می شود . در دوره زبان C نیراسیستم علاوه بر آموزش طراحی الگوریتم با حل مثال های متعدد و برنامه نویسی در محیط کامپیوتر تلاش می شود به بهترین شکل ممکن تسلط لازم برای برنامه نویسی ایجاد گردد .

 

آیا گذراندن این دوره برای شروع یادگیری AVR ضروری است ؟

بله ؛ برای یادگیری هر میکروکنترلری از جمله AVR تسلط بر مباحث برنامه نویسی و مفاهیم آن به صورت کامل ضروری است .

 

آیا در انتهای دوره برای شرکت کنندگان گواهینامه صادر می شود؟

در صورتی که دانشجو در پایان دوره نمره ی لازم را کسب کند موفق به دریافت گواهینامه خواهد شد. حد نصاب نمره 70 از 100 بوده و از مجموع نمرات فعالیت های کلاسی، کوییز ها ، تمرینات و آزمون پایانی دانشجو محاسبه می شود.

 

آیا برای این دوره جزوه یا کتاب خاصی باید خریداری شود ؟

در تمامی دوره های آموزشی کتاب ها ، مراجع و فایل های آموزشی مختلفی توسط اساتید معرفی می گردد .

 

نحوه برگزاری آزمون پایانی دوره به چه صورت است؟ 

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