دوره ویدیویی جامع میکروکنترلر STM32

پیش نیاز فیلم های زبان C ساخته شده در سایت LPCARM.ir

  • روش آموزش فیلم ضبط شده به صورت

دیدن چند فیلم، انجام تمرین و مجدد فیلمهای بعدی

  • پشتیبانی و بررسی تمرینها در حین دوره
  • تمرین ها و پروژه های متعدد تا پایان دوره
  • برآورد تقریبی دوره حدود 50 ساعت آموزش
  • امکان گرفتن مدرک هم وجود ندارد
  • نیاز به تهیه برد آموزشی از بازار هم دارد

سرفصل های تدریس شده

  • تدریس هم صورت رجیستری و هم با CubeMX
  • بررسی دیتاشیت مربوط به هر قسمت میکروکنترلر
  • بررسی معماری داخلی میکروکنترلر STM32
  • بررسی سخت افزار لازم برای میکروکنترلر
  • مروری بر زبان برنامه نویسی C
  • چگونگی دیباگ میکروکنترلر
  • کامپایلر مورد استفاده Keil u Vision 5
  • کار با واحد GPIO
    • پروژه راه اندازی کلید و LED
    • پروژه تشخیص تایم کلید و پالس
    • پروژه سنسور دمای DS18B20
    • پروژه کاربا ال سی دی کاراکتری
    • پروژه  LCDگرافیکی و رنگی و تعریف فونت
    • پروژه سون سگمنت و دات ماتریس
    • راه اندازی موتور سروو، استپر و DC
    • راه اندازی رله و استفاده از اپتوکوپلر
    • ساخت PWM نرم افزاری
    • راه اندازی صفحه کلید و پروژه قفل رمزی
  • معماری وقفه های میکروکنترلر
    • راه اندازی پایه یا به صورت وقفه ای
    • مدیریت وقفه ها
  • راه اندازی واحد تایمر و PWM
    • ساخت تاخیر با واحد تایمر
    • پروژه کنترل نور LED با PWM
    • پخش صوت به صورت مستقیم با میکروکنترلر
    • و معرفی مفهوم نمونه برداری
    • پروژه فاصله سنج آلتراسونیک
    • پروژه سنسور مادون قرمز
  • معرفی DMA و کاربرد آن
  • راه اندازی واحد UART (RS485 و مدباس)
    • پروژه ماژول GSM
    • پروژه کارت خوان RFID
    • پروژه ارتباط با کامپیوتر
    • ساخت UART نرم افزاری
  • کار با مبدل های ADC و DAC میکروکنترلر
    • پروژه راه اندازی سنسور دما
    • پروژه فانکشن ژنراتور DDS
    • پروژه ولت متر، خازن سنج و اهم سنج
    • پروژه ساخت فتوسل
    • پروژه دیتالاگر
  • راه اندازی واحد SPI
    • پروژه افزایش پایه ها با شیفت رجیستر
    • پروژه ارتباط با تراشه ADC
    • پروژه ارتباط با دیگر میکروکنترلرها
    • پروژه کارت حافظه uSD
    • ساخت SPI نرم افزاری
  • راه اندازی واحد I2C
    • پروژه ساعت با آی سی DS1307
    • پروژه EEPROM با آی سی AT24Cxx
    • پروژه ارتباط با دیگر میکروکنترلرها
    • پروژه درایور سون سگمنت
  • کار با پروتکل CAN
    • پروژه ارتباط دو میکروکنترلر با ارتباط CAN
  • کار با تایمر سگ نگهبان (Watchdog)
  • معرفی امکانات پیشرفته میکروکنترلر
    • واحد کنترلر LCD (LTDC)
    • اتصال حافظه RAM خارجی (FSMC)
    • واحد کارت حافظه (SDMMC)
    • واحد شبکه (LAN)
    • واحد USB
    • واحد HASH و CRC

دیگر مزایای دوره، برخورداری از آپدیت دوره در آینده

تهیه دوره از فروشگاه به نشانی http://lpcarm.ir/shop

ریز جزئیات بیشتر دوره

جلسه اول دانلود و نصب نرم افزارها

دانلود نرم افزار stm32cube

دانلود و نصب نرم افزار keil

در این قسمت از سایت های مربوطه نرم افزارها دانلود و نصب می شوند و تک تک مراحل نصب ضبط شده اند البته برای دانلود راحت تر نرم افزارها لینک های دانلود آنها در بخش آموزش و دانلود قرار داده شده اند

جلسه دوم اجرای عملی

طریقه ساخت پروژه به کمک cubeMx و keil

معرفی برد bluePill

اتصال پروگرمر st-link به برد و برنامه ریزی برد با آن

نصب برنامه st-link utility و کار با آن

نوشتن برنامه Blink Led و دیباگ آن با keil

جلسه سوم بررسی عمیق تر کد نویسی

طریقه دیدن مقدار متغیرها در محیط دیباگ keil

کلیدهای میانبر برای اجرای خط به خط کد در محیط دیباگ

تنظیمات پروژه برای دیباگ کد

مفهوم break point

جلسه چهارم شبیه سازی در پروتئوس

دانلود و نصب پروتئوس

شبیه سازی برنامه نوشته شده با پروتئوس

روشهای اتصال کلید به میکروکنترلر

نوشتن برنامه خواندن کلید

جلسه پنجم پروتکل UART

حل تمرین کلید صندوق پران خودرو

معرفی پروتکل و اتصالات آن

تنظیم cubeMX برای فعال سازی UART

انجام ارتباط برقرار کردن با میکروکنترلری که پایه های برنامه ریزی آن به شکل GPIO تبدیل شده است و دیگر پروگرمر میکروکنترلر را شناسایی نمی کند

انجام تمرین ارسال Hello با UART و دریافت اطلاعات با برنامه hercules در ویندوز (استفاده از مبدل سریال به USB)

جلسه ششم بررسی عمیق تر UART

دریافت داده ها از UART به روش polling

فعال کردن وقفه دریافت داده ها

مفهموم تابع UART_IRQ_HALNDLER و نوشتن تابع وقفه در آن

و نوشتن تابع وقفه با کمک تابع uart_rx_compelete_callback

انجام پروژه روشن و خاموش کردن LED با کمک UART

جلسه هفتم راه اندازی LCD کاراکتری

بررسی دقیق دیتاشیت LCD کاراکتری

نوشتن توابعی جهت ارتباط با LCD کاراکتری از صفر

جلسه هشتم تابع نویسی LCD کاراکتری

تکمیل توابع نوشته شده در جلسه قبل

انجام پروژه دریافت اطلاعات از UART و نمایش روی LCD

جلسه هشتم بخش دوم اجرای عملی LCD کاراکتری

طریقه بستن LCD روی برد برد و نمایش روی آن و دیباگ خط به خط آن

جلسه نهم ال سی دی گرافیکی

بررسی دیتاشیت و پایه های LCD گرافیکی مدل ks0108

نوشتن برخی از توابع لازم جهت کنترل GLCD از صفر

جلسه دهم طراحی فونت برای ال سی دی گرافیکی

بررسی نرم افزارهایی جهت طراحی فونت

طراحی فونت برای GLCD

تکمیل توابع لازم برای GLCD

نمایش فونت درشت بر روی GLCD

جلسه یازدهم رسم اشکال بر روی ال سی دی گرافیکی

نوشتن تابع خواندن از LCD و نمایش پیکسل

نوشتن تابع بررسی مشغول بودن LCD

نمایش تصویر بر روی GLCD

معرفی نرم افزار 010Editor

ساخت تصویر سیاه و سفید با فتوشاپ

بررسی دقیق فایل BMP 1Bit

جلسه دوازدهم حل تمرین

حل تمرین پورت سریال (دریافت رشته و پردازش آن با کمک strcmp)

نوشتن توابعی جهت رسم bargraph روی GLCD

جلسه سیزدهم تایمرها

بررسی دیتاشیت میکروکنترلر و رجیسترهای تایمر

بررسی انواع تایمرها

تنظیم تایمر و تابع نویسی آن و دیباگ با برنامه keil

فعال سازی تایع وقفه تایمر و نوشتن برنامه تایمر نیم ثانیه

جلسه چهاردهم بخش PWM تایمر

معرفی PWM و مفهوم آن

بررسی چگونگی تولید PWM

نوشتن برنامه کنترل نور LED با PWM

معرفی کپچر و چیستی آن

جلسه پانزدهم مبدل ADC

معرفی ADC و طریقه فعال سازی آن

معرفی سنسور دمای LM35

برنامه نویسی برای خواندن از ADC

جلسه شانزدهم مبدل DAC

راه اندازی مبدل دیجیتال به آنالوگ

برنامه نویسی کد DAC برای تولید ولتاژ

جلسه هفدهم پروتکل SPI

تشریح پروتکل SPI و کاربردهای آن

اتصالات پروتکل SPI

انجام پروژه سون سگمنت با SPI به کمک شیفت رجیستر (74595)

جلسه هجدهم سون سگمنت و SPI عملی

بستن عملی پروژه سون سگمنت روی برد برد

راه اندازی آی سی MAX7219 و بررسی دیتاشیت و برنامه نویسی آن

راه اندازی دات ماتریس و اجرای عملی آن

جلسه نوزدهم حل تمرین SPI

برنامه نویسی LCD نوکیا 5110

راه اندازی نمایشگر OLED در مد SPI

جلسه بیستم حل تمرین SPI

بررسی ماژول ژایروسکوپ (6050-9250) و بررسی کدهای نوشته شده برای آنها در گوگل

معرفی کارت حافظه SD Card و راه اندازی آن به کمک کتابخانه Fatfs

جلسه بیست و یکم پروتکل I2C

بررسی کاربردها و تشریح کامل پروتکل (سیگنالینگ اتصالات و …)

بررسی دیتاشیت آی سی ساعت DS1307

جلسه بیست و دوم برنامه نویسی پروتکل I2C

برنامه نویسی آی سی ساعت و دیباگ آن

جلسه بیست و سوم برنامه نویسی رجیستری

بررسی دقیق دیتاشیت بخش GPIO

ساخت پروژه و نوشتن یک برنامه به روش رجیستری برای کنترل پایه ها

نوشتن کد خواندن GPIO و مقدار دی به آن

جلسه بیست و چهارم رجیسترهای وقفه و UART

طریقه فعال سازی رجیسترهای وقفه

بررسی فایل استارت آپ و چگونگی نوشتن تابع وقفه

برنامه نویسی وقفه خارجی

جلسه بیست و پنجم رجیسترهای UART

بررسی دیتاشیت بخش UART

برنامه نویسی و مقدار دهی رجیسترها برای ارسال و دریافت داده

جلسه بیست و ششم راه اندازی ماژول GSM

بررسی دیتاشیت ماژول

بررسی سخت افزار لازم برای ماژول

بررسی AT Command ها

جلسه بیست و هفتم برنامه نویسی ماژول GSM

معرفی نرم افزار Hercules

نوشتن دستورات مختلف ماژول برای ارسال و دریافت SMS

فعال کردن بلوتوث ماژول SIM800C

جلسه بیست و هشتم برد دیسکاوری STM32F746G

بررسی دیتاشیت و مستندات برد

نوشتن کد blink led

فعال کردن صفحه تاچ خازنی برد دیسکاوری

جلسه بیست و نهم راه اندازی واحد LTDC (ال سی دی رنگی)

بررسی پروتکل CRT برای نمایش تصاویر

برنامه نویسی و فعال سازی LCD رنگی برد دیسکاوری به کمک توابع HAL

چگونگی تنظیم RAM خارجی برای اینکه متغیرهای میکروکنترلر در آنجا قرار بگیرد (ال سی دی جهت نمایش تصویر 480 در 272 پیکسل نیاز به حدود 128 کیلیو بایت رم دارد)

جلسه سی ام فونت و عکس با LTDC

ساخت تصویر مناسب با فوتشاپ

بررسی کامل عکس با فرمت BMP رنگی

نوشتن کد نمایش عکس روی LCD و بررسی مفهوم RGB888 و ARGB888

جلسه سی و یکم کار با شبکه TCP/IP

بررسی اتصالات بین لایه فیزیکی و میکروکنترلر ARM

بررسی فریم شبکه

بررسی پروتکل IP و انواع کلاس

کار با نرم افزار wireshark برای مشاهده پکت های شبکه

ارتباط دو سیستم یکی سرور یکی کلاینت در ویندوز و بررسی پکت های بین آنها

بررسی پکت های یک سیستم وب سرور بین مرورگر و کامپیوتر

جلسه سی و دوم برنامه نویسی TCP/IP

بررسی توابع موجود در کتابخانه LWIP

تشریح توابع LWIP و بررسی مفهوم تابع اشاره گر

برنامه نویسی اتصال شبکه از صفر (ساخت کانکشن TCP و ارسال و دریافت اطلاعات)

جلسه سی و سوم برنامه نویسی سرور LAN

برنامه نویسی سرور TCP و ارسال و دریافت

برنامه نویسی تبادل داده از طریق UDP

جلسه سی و چهارم کار با QSPI-SDMMC

تنظیم پروژه برای حافظه خارجی

بررسی آی سی N25Q128

استفاده از کتابخانه Fatfs برای ارتباط با کارت حافظه

جلسه سی و پنجم راه اندازی کدک صوتی (پخش صدا)

بررسی پارامترهای فایل صوتی

معرفی آی سی WM8994

کار با برنامه adobe audition جهت ویرایش صدا

طریقه ساخت فایل صوتی برای اننتقال به حافظه میکروکنترلر

جلسه سی و ششم ارتباط صوتی با WM8994

بررسی DMA و چگونگی عملکرد آن (مد circular)

پخش صدا به کمک آی سی WM8994

جلسه سی و هفتم وب سرور با LWIP

راه اندازی و برنامه نویسی یک سرور وب با مییکروکنترلر ARM که مرورگر ویندوز بتواند آن را باز کند و داده های html را نمایش بدهد

جلسه سی و هشتم پروتکل CAN

بررسی سیگنالینگ CAN

بررسی پروتکل CAN

برنامه نویسی جهت ارسال و دریافت CAN

بررسی رجیسترها

جلسه سی و نهم محاسبه CRC

فرمول دقیق محاسبه CRC

نوشتن فرمول CRC به شکل پارامتری در نرم افزار MATLAB

نوشتن کد محاسبه هر نوع CRC به زبان C

جلسه چهلم سنسور دما با ds18b20

بررسی پروتکل ارتباطی یک سیمه (one wire)

بررسی دیتاشیت سنسور ds18b20

برنامه نویسی و راه اندازی سنسور ds18b20

جلسه چهل و یکم فانکشن ژنراتور

تولید یک دوره تناوب موج سینوسی به کمک نرم افزار متلب

چگونگی ساخت یک DAC پسیو با مقاومت

برنامه نویسی پروژه تولید فرکانس های مختلف با میکروکنترلر

جلسه چهل و دوم صفحه کلید و قفل رمزی

طریقه اتصال صفحه کلید ماتریسی به میکروکنترلر

نوشتن برتامه قفل رمزی و چگونگی دریافت اعداد با صفحه کلید

جلسه چهل و سوم وقفه GPIO

چگونگی تنظیم وقفه خارجی

بررسی کامل برنامه st-link utility

فیلتر نویسی برای debouncing پایه وقفه خارجی

جلسه چهل و چهارم GPIO نرم افزاری

نوشتن کد UART نرم افزاری

برنامه نویسی PWM نرم افزاری

جلسه چهل و پنجم بررسی شماتیک STM32

بررسی شماتیک برد Blue pill

بررسی شماتیک برد STM32F407

بررسی شماتیک برد دیسکاوری F746

جلسه چهل و ششم

به زودی اضافه می شود..

6 thoughts on “دوره ویدیویی جامع میکروکنترلر STM32

  1. مهدی says:

    استاد سلام
    این دوره پیش نیاز ی هم داره ؟ به طور مثال حتما باید با میکرو های avr کار کرده باشیم

  2. مرتضی جعفری says:

    استاد سلام
    بابت آموزش میکروکنترلر بینهایت از شما سپاسگزارم
    میخواستم بدونم دیگر آموزش های میکروکنترلر چــه زمـــانی بارگذاری میکنید؟
    با تشکر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *