آشنایی مختصر با دوره 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 بوده و از مجموع نمرات فعالیت های کلاسی، کوییز ها ، تمرینات و آزمون پایانی دانشجو محاسبه می شود.

 

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

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

 

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

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