میکروکنترلر STM8 یک میکروکنترلر 8 بیتی از خانواده میکروکنترلرهای STM است. مشهورترین میکروکنترلر خانواده STM، میکروکنترلر 32 بیتی ARM به نام STM32 است. با وجود اینکه میکروکنترلرهای STM8 دارای ویژگیهای سختافزاری مناسبی هستند، در بین خانواده STM کمتر موردتوجه قرار میگیرند. در مقایسه با طراحی 32 بیتی ARM، شباهتهای زیادی بین STM32 و STM8 وجود دارد و تنها تفاوتهای جزئی در عملکرد این دو مشاهده میشود.
سیسوگ در این مقاله و مقالات آینده قصد دارد میکروکنترلر STM8 را بررسی کند و بهصورت گامبهگام نحوه کار و برنامهنویسی این میکروکنترلر را آموزش دهد. پس با سیسوگ همراه باشید.
میکروکنترلر STM8
در بیشتر زمینهها، میکروکنترلر STM8 هماهنگی و شباهت زیادی با PICها و AVRها دارد. برخلاف PICها و AVRها که بیشتر در شکل سختافزاری DIP دیده میشوند، STM8 عمدتاً در قالب سختافزاری SMD دیده میشود. تنها تعداد انگشتشماری از این تراشه در بستهبندی DIP وجود دارد. ممکن است یکی از دلایلی که اکثر افراد در صنایع کوچک از این تراشه استفاده نمیکنند نیز همین موضوع باشد؛ چون افراد علاقه دارند در ابتدا بردهای خود را روی بردبورد (breadboard) آزمایش کرده و سپس برد نهایی را تولید کنند. برای حل این موضوع شرکت STM چندین برد را برای شروع به کار فراهم کرده است.
با تجربه کار روی خانوادههای AVRs, PICs, 8051s, STM32s, MSP430s, TivaC میتوان گفت که با صرف زمان برای یادگیری STM8 وقتتان را به هدر نمیدهید. سیسوگ در این راه همراه شماست و بهصورت گامبهگام این میکروکنترلر را به شما آموزش میدهد.
برای میکروکنترلر STM8 ابزارهای مختلفی وجود دارد که ممکن است در نگاه اول سخت به نظر آیند. یکی از عوامل اصلی در یادگیری STM8 قیمت است. خوشبختانه این تراشه بسیار ارزان است.
MikroC یکی از کامپایلرهایی است که میتوان برای میکروکنترلرهای AVR، 8051 و ARM استفاده کرد. اما این کامپایلر، خانواده STM8 را پشتیبانی نمیکند. حتی در بردهای آردوینو نیز موردی که بتواند میکروکنترلر STM8 را پشتیبانی کند پیدا نشد. گرچه همیشه ابزارهای جدید در نگاه اول سخت و مشکل به نظر میآیند و کار کردن در محیط جدید نیاز به کمی زمان دارد. حتما میدانید که هر چقدر هم در زمینهای متخصص باشید، کار کردن در محیطی جدید، چالشهای خاص خود را به همراه دارد. اولین گام پیدا کردن کامپایلرهای رایگان (Open Source) برای این کار است. پس از جستجوهای بسیار کامپایلر Cای که بتواند STM8 را پشتیبانی کند پیدا کردیم.
کامپایلرهای ST Visual Develop و Cosmic COSC جز کامپایلرهای رایگان در این زمینه هستند.
استفاده از کامپایلر Cosmic قبلاً بهصورت تجاری و پولی ممکن بود اما اکنون این کامپایلر بهصورت کاملاً رایگان ارائه میشود و میتوان با خیال آسوده از آن استفاده کرد.
خانواده STM8
امروزه بیش از صدها میکروکنترلر STM8 وجود دارد. خانواده STM8 را میتوان به 3 دسته طبقهبندی کرد:
- گروه اول: میکروکنترلرهای STM8S که بهطورکلی میکروکنترلرهای قوی و قابلاطمینانی هستند و میتوانند تقریباً در تمام زمینهها مورداستفاده قرار گیرند. این گروه ارزان و هوشمند نیز هستند.
- گروه دوم: خانواده STM8A که بهطور عمده برای صنایع خودرو استفاده میشوند. این گروه با رابطهای سختافزاری اضافی مانند CAN و LIN ارائه شده است که بر طبق اصول صنایع خودروسازی امروز است. STM8Aها نیز بسیار متنوع هستند و به گونهای طراحی شدهاند که در محیطهای نویز پذیر میتوانند کارایی مناسبی داشته باشند. بهعنوانمثال، STM8Aها میتوانند درجه حرارت بالا (تا بیش از 100 درجه سانتیگراد) را تحمل کنند.
- گروه سوم: شامل میکروکنترلرهای STM8L است که برای دستگاههای کممصرف یا با باتری پشتیبان طراحی شدهاند. عملاً آنها در حالت آمادهبهکار (sleep) هیچ توانی مصرف نمیکنند. بنابراین اگر به صرفهجویی در مصرف انرژی یا کاهش انرژی در پروژههای خود نیاز دارید، این گروه انتخاب مناسبی است. همچنین نسخههای کممصرفی برای صنایع خودرو با برچسب STM8AL نیز وجود دارد. جدا از همه اینها، نوعی میکروکنترلر STM8 وجود دارد که بهطور خاص برای برنامههای کاربردی تاچ خازنی طراحی شده است که STM8Ts نامیده میشود.
ویژگیها و مزایای میکروکنترلرهای STM8 بسیار متنوع است و نمیتوان با چند کلمه آنها را بیان کرد. برای مثال: تغذیه STM8s را میتوان با منبع DC سه یا پنج ولت تأمین کرد که میکروکنترلر قادر است این تنظیم را تشخیص دهد. نسخههای کممصرف میتوانند در ولتاژهای بسیار پایینتر از این مقادیر بدون مشکل کار کنند. سایت رسمی STM8 به کاربران اجازه میدهد تا ولتاژ عملیاتی موردنظر خود را انتخاب کنند. تمهیداتی قرار داده شده که این میکروکنترلر را در برابر نویزهای الکترومغناطیسیِ محیطی مقاوم میکند. این میکروکنترلر دارای سیستمی است که قادر است قطع شدن کلاک خارجی را تشخیص داده و بدون توقف در کار خود به کلاک داخلی تغییر وضعیت بدهد.
در مقاله دوم به بررسی بردهای ارائهشده توسط شرکت STM میپردازیم و یک برد را برای شروعِ آموزش انتخاب خواهیم کرد.
پس با سیسوگ همراه باشید.
مطالب مرتبط
- قسمت دوم − معرفی بردهای Discovery میکروکنترلر STM8
- قسمت سوم − کامپایلر و پروگرامر
- قسمت چهارم − STM8CubeMX
- قسمت پنجم − آماده سازی ابزارهای نرمافزاری برای STM8
- قسمت ششم − چگونه برنامه خود را روی STM8 آپلود کنیم؟
- قسمت هفتم− LED چشمکزن
- قسمت هشتم − کلاک سیستم (CLK)
- قسمت نهم − وقفه خارجی (EXTI)
- قسمت دهم − Beeper
- قسمت یازدهم − LCD کاراکتری
- قسمت دوازدهم − مبدل آنالوگ به دیجیتال (ADC)
- قسمت سیزدهم − تایمر نگهبان آنالوگ (AWD)
- قسمت چهادهم − تایمر نگهبان (IWDG)
- قسمت پانزدهم − تایمر نگهبان محدوده ای (WWDG)
- قسمت شانزدهم− اصول اولیه تایمرها
- قسمت هفدهم− تایمر 2
- قسمت هجدهم −تایمر 4
- قسمت نوزدهم −PWM
- قسمت بیستم − PWM تایمر 1
- قسمت بیست و یکم − بررسی اجمالی ارتباطات
- قسمت بیست و دوم − رابط سریال (UART)
- قسمت بیست و سوم − رابط کاربری سریال (SPI)
- قسمت بیست و چهارم − رابط I2C
- دوره رایگان آموزش میکروکنترلر STM8 – سیسوگ
سلام
با این آموزش میشه این دو تا میکرو هم برنامه نویسی کرد؟
STM8S001J3M3
STM8S003F3U6
منطقا میشه و مشکلی وجود نداره
باید محدودیت های میکروتون رو بدونید تنها همین نکته است که مهمه