PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : فیلم آموزشی میکروکنترلر stm8



mzarkoob
31-10-2018, 10:49
با عنایت خداوند متعال قدمی دیگر در جهت خدمت به کاربران و علاقه مندان به میکروکنترلرهای شرکت ST، برداشته شد و این بار برای سری های میکروهای 8 بیتی شرکت ST (You can see links before reply).


You can see links before reply (You can see links before reply)


هدف این مجموعه ، آموزش نحوه راه اندازی و استفاده عملی از تمام امکانات سری های STM8S می باشد. در فیلم جامع آموزش میکروکنترلر STM8S (You can see links before reply)به صورت قدم به قدم و کاملا عملی واحدهای :


GOIP,EXTI,USART,Timer,ADC,CLK,WWDG,IWDG,EEPROM,I2C ,SPI,IWU


از نحوه ایجاد سمپل، شرح رجیسترها تا تست عملی شرح داده شده است.


این مجموعه (You can see links before reply)بیش از 14 ساعت فیلم آموزشی می باشد آموزش ها کاملا کاربردی و مثال ها همگی روی برد EWB-STM8S10X شرکت کویرالکترونیک تست شده اند.

این مجموعه دو قسمت تقسیم شده است :
راه اندازی پریفرال ها شامل شرح رجیستری و سپس توابع SPL
پروژه های عملی و ترکیبی برای کار با واحدهای میکرو

سر فصل فیلم آموزش میکروکنترلر STM8S :

پریفرال ها :


مقدمه - آشنایی با STM8 و کامپایلرIAR ، ایجاد پروژه و پروگرام کردن

آشنایی با میکروکنترلرهای STM8
نصب IAR و شرح نحوه ایجاد پروژه و پروگرام کردن
اجرای عملی ایجاد پروژه در IAR و پروگرام کردن
ایجاد پروژه با Standard Peripherals Library


GPIO

پایه ها و شرح رجیسترها
شرح مثال 1 برای خروجی کردن پایه و اجرای عملی 14:33
شرح مثال 2 برای ورودی کردن پایه و اجرای عملی
مثال خروجی ورودی با StdPeriph_Driver


EXTI

آشنایی با وقفه، عملکرد و شرح رجیسترها
شرح مثال و اجرای عملی
مثال وقفه خارجی با StdPeriph_Driver


USART

پایه ها، رجیسترها و شرح رجیسترها
شرح مثال های ارسال دریافت کاراکتر و رشته و اجرای عملی
استفاده از توابع stdio و اجرای عملی
وقفه سریال، شرح مثال و اجرای عملی
نحوه ایجاد کتابخانه و اضافه کردن به پروژه
دریافت و ارسال کاراکتر و رشته با StdPeriph_Driver
دریافت وقفه ای کاراکتر و رشته با StdPeriph_Driver


Timer

رجیسترها و شرح رجیسترهای تایمر
شرح مثال و اجرای عملی
رجیسترها و شرح رجیسترهای PWM
شرح و اجرای مثال های PWM
راه اندازی تایمر1 و 4 با StdPeriph_Driver


ADC

پایه ها، رجیسترها و شرح رجیسترها
شرح راه اندازی ADC و اجرای عملی مثال
وقفه ADC، شرح و اجرای عملی مثال
راه اندازی ADC با StdPeriph_Driver


آشنایی با واحد کلاک (CLK)

بلوک دیاگرام و شرح رجیسترها
شرح مثال پیکربندی اولیه کلاک
پیکربندی کلاک با StdPeriph_Driver


Watchdog

عملکرد IWDG و WWDG و شرح رجیسترهای IWDG
شرح مثال IWDG و اجرای عملی
شرح عملکرد و رجیسترهای WWDG
اجرای عملی WWDG


EEPROM

رجیسترها و شرح رجیسترها
اجرای عملی مثال


I2C

سخت افزار و نحوه ارسال دریافت در i2c
شرح رجیسترها
شرح مثال و اجرای عملی


SPI

اتصالات، پایه ها و شرح رجیسترها
شرح مثال و اجرای عملی


واحد AWU

بلوک دیاگرام Auto-wakeup و شرح رجیسترها و اجرای عملی




پروژه ها :



7Segment

سخت افزار، توسعه مرحله به مرحله برنامه
استفاده از تایمر در نمایش


افزایش و کاهش روشنایی با تغییر پتانسیومتر

توسعه قدم به قدم با ایجاد کتابخانه برای ADC و Timer و 7Seg


OLED

ایجاد سمپل از سمپل اصلی و تابع ارسال کاراکتر
توسعه مثال و تابع ارسال رشته و نمایش عدد
شرح عملکرد توابع از پایه




4. ایجاد یک پروژه ترکیبی از تمام پریفرالهای استفاده شده.



مقدمه و توسعه برنامه با ایجاد کتابخانه برای GPIO و EXTI
اضافه کردن سایر کتابخانه ها و مشاهده ایرادات
رفع ایرادات و تکمیل پروژه



روال کار بدین صورت است که ابتدا در پاورپوینت توضیحات کامل هر فصل مرحله به مرحله ارائه شده و سپس مرحله به مرحله وخط به خط سمپل ها از ابتدا شرح داده شده و در عمل تست می گردد. کامپایلر مورد استفاده IAR است و با استفاده از برد EWB-STM8S10X (You can see links before reply)کویرالکترونیک تست شده است:


You can see links before reply (You can see links before reply)



همانند مجموعه های قبل در این مجموعه جهت تهیه پاورپونیت ها و تست عملی مثال ها، ضبط و ویرایش فیلم ها، وقت بسیار زیادی گذاشته شده است. این همه در جهت این بوده است که یک مجموعه آموزشی مفید و کاربردی و دارای محتوای خالص در اختیار شما قرار داده شود که مورد رضایت شما واقع شود.
در پایان به این نکته توجه داشته باشید که :
• پیش نیاز اجرای پروژه های میکروکنترلر ، تسلط به زبان C (You can see links before reply) و تسلط به خود میکروکنترلر می باشد.

• تسلط به خود میکروکنترلرها، نیاز به تمرین و صرف زمان دارد.
این مجموعه به همراه تمرین، مقدمه تسلط شما به این میکروکنترلر را فراهم می کند و قطعا باعث پیشرفت شتابان شما جهت کار با این میکروکنترلر خواهد بود اِن شاء الله.
حمایت شما از ما، خرید مجموعه از فروشگاه کویرالکترونیک (You can see links before reply)به همراه ارائه نظرات، پیشنهادات و انتقادات در این تاپیک می باشد. خریداران مجموعه در فروم ایران میکرو از ساپورت ویژه برخوردار خواند بود.
تمامی مثالهای تست شده در داخل دی وی دی می باشد. این آموزش ها کاملا کاربردی و عملی می باشد و روی برد شرکت کویرالکترونیک تست شده است



[*=right]تذکر: هر گونه کپی برداری و پخش غیر قانونی این اثر از نظر شرعی حرام می باشد و پدید آورندگان این اثر هیچ گونه رضایتی ندارند!



تمامی حقوق مادی و معنوی این اثر برای پدید آورندگان این اثر محفوظ می باشد.



[*=right]این مجموعه (You can see links before reply) با همکاری شرکت کویرالکترونیک تهیه شده است. You can see links before reply (You can see links before reply)


محصولات پیشنهادی:

فیلم آموزش کاربردی زبان c در میکروکنترلرهای ARM (You can see links before reply)


You can see links before reply (You can see links before reply)


برد (You can see links before reply)EWB-STM8S (You can see links before reply)10X (You can see links before reply) :



You can see links before reply (You can see links before reply)

mohammadya
01-01-2019, 18:40
سلام مهندس جان ببخشید ی سوال من محصول تهیه کردم ممنون از اموزش های خوبتون مهندس جانببخشید مثال های تست شده ds18b20و.... که در توضیحات محصول فرمودین در قسمت دانلود ویژه دانلود کنیم موجود نیس ممنون میشم ی پیگیری کنید

mzarkoob
02-01-2019, 09:14
این مربوط به برد فروشگاه است که ذکر شده :

13-DS18B20بعد از خرید آنلاین در تب دانلود ویژه محتوای فایل برای دانلود آماده می باشد که میتوانید دانلود کنید.شماتیک برد /تمامی نرم افزارها /تمامی مثالهای ذکر شده در محتوای فایل دانلودی می باشد.
که بایستی از طریق پشتیبانی پیگیری شود.
@kavirsupport

ilgar
22-01-2019, 10:51
سلام
آقای مهدس زرکوب ضمن تشکر از این مجموعه بسیار عالی سوالی داشتم از خدمتتون
stm8s ها همشون واحد uart1 رو دارن. چرا وقتی تو فایل stm8s.h آی سی رو از 103 که شما نوشتین به 003 تغییر میدیم تو دستورات مربوط به تابع uart کلی ارور میده؟

mzarkoob
22-01-2019, 23:58
سلام
برای سری 003 از توابع spl استفاده نکرده ام و رجیستری بوده.
با توجه به سوال شما با مراجعه به سمپل و بررسی دقیق هدر stm8s.c مشاهده شد که این سری جزو دیفاین ها نیست:

/* #define STM8S208 */ /*!< STM8S High density devices with CAN */ /* #define STM8S207 */ /*!< STM8S High density devices without CAN */
/* #define STM8AF52Ax */ /*!< STM8A High density devices with CAN */
/* #define STM8AF62Ax */ /*!< STM8A High density devices without CAN */
/* #define STM8S105 */ /*!< STM8S Medium density devices */
/* #define STM8AF626x */ /*!< STM8A Medium density devices */
#define STM8S103 /*!< STM8S Low density devices */
/* #define STM8S903 */ /*!< STM8S Low density devices */
در مجموعه آموزشی دیفاین STM8S103 استفاده شده ولی برای سری STM8S003 دیفاینی قرار داده نشده.
با توجه به تعریف رجیسترها در توابع بایستی دید اصلا می توان برای این سری از spl استفاده کرد یا چه تغییراتی در آن داد.

ilgar
23-01-2019, 10:12
سلام
برای سری 003 از توابع spl استفاده نکرده ام و رجیستری بوده.
با توجه به سوال شما با مراجعه به سمپل و بررسی دقیق هدر stm8s.c مشاهده شد که این سری جزو دیفاین ها نیست:

/* #define STM8S208 */ /*!< STM8S High density devices with CAN */ /* #define STM8S207 */ /*!< STM8S High density devices without CAN */
/* #define STM8AF52Ax */ /*!< STM8A High density devices with CAN */
/* #define STM8AF62Ax */ /*!< STM8A High density devices without CAN */
/* #define STM8S105 */ /*!< STM8S Medium density devices */
/* #define STM8AF626x */ /*!< STM8A Medium density devices */
#define STM8S103 /*!< STM8S Low density devices */
/* #define STM8S903 */ /*!< STM8S Low density devices */
در مجموعه آموزشی دیفاین STM8S103 استفاده شده ولی برای سری STM8S003 دیفاینی قرار داده نشده.
با توجه به تعریف رجیسترها در توابع بایستی دید اصلا می توان برای این سری از spl استفاده کرد یا چه تغییراتی در آن داد.

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

ilgar
28-01-2019, 13:04
سلام
آقای مهندس در ارتباط آی تو سی اسلیو از کجا میدونه که باید منتظر یک آدرس 7 بیتی بمونه یا منتظر یک آدرس 10 بیتی؟

mzarkoob
29-01-2019, 10:06
دقیقا مشخص کنید در کجا این مورد وجود دارد ؟
چیزی که انجام شده آدرس 7 بیتی بوده

ilgar
29-01-2019, 10:52
دقیقا مشخص کنید در کجا این مورد وجود دارد ؟
چیزی که انجام شده آدرس 7 بیتی بوده

من برای ارتباط با یک سنسور مشکل داشتم مجبور شدم دیتا شیت میکرو و متن فایل هدر که برای ایتوپرام AT24C02 نوشتین بخونم/ برنامه من درست تو سطر ارسال آدرس گیر میکنه . همون جایی که اید 1 بشه/ دیتاشیتو نگاه کردم دیدم همچی تنظیماتی باید داشته باشه/

بیتهای ADDMODE و ADDCONF از رجیستر I2C_OARH هم ظاهرا به این امر اختصاص دارن


یا مشکلو یه جور دیگه عرض کنم خدمتتون:
برای اسلیو بیت ADDR از رجیستر SR1 زمانی 1 میشه که آدرس با موفقیت دریافت بشه اما برای مستر کافیه فقط آدرس ارسال بشه تا ADDR یک بشه/ چرا میکروی من آدرس اسلیو رو ارسال نمیتونه بکنه؟









و یه سوال دیگه
دستور asm("nop تو پیکره بندی i2c چه کاری انجام میده؟

با تشکر

mzarkoob
02-02-2019, 09:20
در رابطه با ایراد این موضوعیست که اگر بخواهم ایرادشو پیدا کنیم باید خود سنسور به همراه دیتا شیت سنسور در اختیار باشه و ببینیم روند ارسال دیتا به سنسور در دیتاشیت چی نوشته و چه کاری در برنامه می کردیم و اصلاح کنیم و در عمل مجدد تست کنیم و ...
مورد دوم برای ایجاد کمی مکث از یک تاخیر جزیی استفاده کرده.

ilgar
06-02-2019, 13:16
آقای مهندس سلام
من دو هفتس درگیر یک بیتم
addr من 1 نمیشه!!!


تو ارتباط I2C بیت
addr از رجیستر sr1 برای مستر کی 1 میشه؟

وقتی مستر 7 بیت آدرسو ارسال کرد یا وقتی اسلیو تایید دریافت آدرسو به مستر فرستاد؟

mzarkoob
08-02-2019, 11:29
پس شما هم چالش یک بیت را لمس کرده اید:
------------------------
گاهی ست نکردن یک بیت باعث کار نکردن کل برنامه می شود. شاید اهمیت این بیت متناسب با زمانی باشد که صرف پیدا کردن آن شده است. چند ساعت ... چند روز ... کل کار به خاطر همین یک بیت متوقف شده است! ممکن است این یک بیت سخت افزار را هم دچار چالش بکند چون فکر می کنیم برنامه درست است و لابد سخت افزار مشکل دارد که کار نمی کند.
و این می شود چالش یک بیت!
شما در کجاها دچار چنین چالشی شده اید؟
@armeducation
---------------------------------
پریفرال i2c گاهی اذیت می کنه و خودم هم برای یک ایتوپرام ساده هم موارد عجیب غریب زیاد دیدم.
در کارهام به این مورد رسیدم بررسیش می کنم

vahid-t
08-02-2019, 19:39
با سلام وخسته نباشید بابت مجموعه آموزشی stm8
یه سوال داشتم ایاکامپایلر iar روی ویندوز 7 هم نصب میشه چون من نتونستم روی 7 نصب کنم اجرا نمی شد اما همون فایل روی 10 نصب و اجرا شد . ویندوز 7 64 بیتی بود

mzarkoob
08-02-2019, 21:02
بله
ار من روی ویندور 7 نصب است.
دانلود کامپایلر IAR برای میکروکنترلر STM8
EWSTM8-3104 :


Index of /software/EWSTM8-3104 (You can see links before reply)

ilgar
28-02-2019, 11:11
سلام
آقای مهندس تو کدهای رجیستری که برای راه اندازی i2c داخل سی دی ها هست، اگه برنامه تو یکی از سطرهایی که با دریافت بیتش قراره یک یا صفر بشه گیر کنه به جز watchdog چیکار میشه کرد؟

mzarkoob
01-03-2019, 20:18
شرط بذارید که اگر خروجی اون کار اوکی نبود خارج بشه

mohammadya
17-03-2019, 20:07
سلام مهندس جان ببخشید ی سوال دارم در تایمر 4 وقتی فرکانس 16 باشه مقدار پیش تقسیم کننده 4 باشه و مقدار اتئ ریلود 200 باشه و مقدار ثابت 5000 باشه تا 1 ثانیه ایجاد بشه ولی با توجه به رابظه 16 اگه بر 8 تقسیم و سپس معکوس بشه و در 200 و سپس در 5000 ضرب بشه مقدار .5 ثانیه تولید میشه مگر اینکه فرکانس کاری 8 مگ باشه ممنون میشم مهندس جان راهنماییم کنید
هنوز وارد بخش کلاک نشدم




void InitialiseSystemClock(void)
{






CLK_ICKR = 0; // Reset the Internal Clock Register.
CLK_ICKR_HSIEN = 1; // Enable the HSI.
CLK_ECKR = 0; // Disable the external clock.
while (CLK_ICKR_HSIRDY == 0); // Wait for the HSI to be ready for use.
CLK_CKDIVR = 0; // Ensure the clocks are running at full speed.
CLK_PCKENR1 = 0xff; // Enable all peripheral clocks.
CLK_PCKENR2 = 0xff; // Ditto.
CLK_CCOR = 0; // Turn off CCO.
CLK_HSITRIMR = 0; // Turn off any HSIU trimming.
CLK_SWIMCCR = 0; // Set SWIM to run at clock / 2.
CLK_SWR = 0xe1; // Use HSI as the clock source.
CLK_SWCR = 0; // Reset the clock switch control register.
CLK_SWCR_SWEN = 1; // Enable switching.
while (CLK_SWCR_SWBSY != 0);







// Pause while the clock switch is busy.
}

xarash001
12-05-2019, 12:30
سلام مهندس جان ببخشید ی سوال دارم در تایمر 4 وقتی فرکانس 16 باشه مقدار پیش تقسیم کننده 4 باشه و مقدار اتئ ریلود 200 باشه و مقدار ثابت 5000 باشه تا 1 ثانیه ایجاد بشه ولی با توجه به رابظه 16 اگه بر 8 تقسیم و سپس معکوس بشه و در 200 و سپس در 5000 ضرب بشه مقدار .5 ثانیه تولید میشه مگر اینکه فرکانس کاری 8 مگ باشه ممنون میشم مهندس جان راهنماییم کنید
هنوز وارد بخش کلاک نشدم




void InitialiseSystemClock(void)
{






CLK_ICKR = 0; // Reset the Internal Clock Register.
CLK_ICKR_HSIEN = 1; // Enable the HSI.
CLK_ECKR = 0; // Disable the external clock.
while (CLK_ICKR_HSIRDY == 0); // Wait for the HSI to be ready for use.
CLK_CKDIVR = 0; // Ensure the clocks are running at full speed.
CLK_PCKENR1 = 0xff; // Enable all peripheral clocks.
CLK_PCKENR2 = 0xff; // Ditto.
CLK_CCOR = 0; // Turn off CCO.
CLK_HSITRIMR = 0; // Turn off any HSIU trimming.
CLK_SWIMCCR = 0; // Set SWIM to run at clock / 2.
CLK_SWR = 0xe1; // Use HSI as the clock source.
CLK_SWCR = 0; // Reset the clock switch control register.
CLK_SWCR_SWEN = 1; // Enable switching.
while (CLK_SWCR_SWBSY != 0);







// Pause while the clock switch is busy.
}

سلام این کد مشکلی نداره فرمول محاسبه ی پری اسکیلر تایمر 2 با 4 یکی هست اگر مثال های این میکرو با کتاب خانه های استاندارد را ببینی متوجه می شی
فکر کنم اشتباه تایپی تو یوزر منوال باشه

- - - Updated - - -

سلام من تایمر 1و2و4 را راه اندازی کردم به طور همزمان و تو وقفه هر کدومشون یک ال ای را تاگل کردم زمانی که برنامه را از روی برد اجرامی کنم ابتدا هر سه led با هم روشن و خاموش می شن سپس نا هماهنگ می شن مشکل از کجاست؟

emad01
26-11-2019, 20:12
سلام مهندس آموزش بسیار عالی هست اما هنوز هم کامل نیست اما فعلا بهترین ورژن آموزشی فارسی موجود هست میخاستم بپرسم تا بحال از تایمر 1 به عموان ورودی یا input capture استفاده کردین یا راه اندازیش کردین اگر براتون ممکن هست ی کمکی به ما بکنین

mzarkoob
05-12-2019, 17:10
سلام مهندس آموزش بسیار عالی هست اما هنوز هم کامل نیست اما فعلا بهترین ورژن آموزشی فارسی موجود هست میخاستم بپرسم تا بحال از تایمر 1 به عموان ورودی یا input capture استفاده کردین یا راه اندازیش کردین اگر براتون ممکن هست ی کمکی به ما بکنین
در این مد نیاز نشده
در حالت انکدر استفاده شده در stm32

emad01
23-12-2019, 16:49
در این مد نیاز نشده
در حالت انکدر استفاده شده در stm32

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

askhorshid
23-02-2020, 14:04
با سلام
به تازگی این آموزش رو تهیه کردم و تا این جا خوب بوده اما سوالاتی برای من پیش اومده
پیش از عنوان سوالاتم بگم که سابق بر این با کدویژن و آردوینو برای AVR و STM32F103C8 کد می نوشتم اما به واسته یک پروژه که باید ارزان سازی میشد به STM8S003F3P6 رسیدم و در نهایت به آموزش شما
خب چندین جلسه از DVD1 رو نگاه کردم و چیزی که دستگیرم شده استفاده راحت و کد نویسی ساده با استفاده از پریفرال هایی هست که در اختیار گذاشتید اما در همون قدم اول من در استفاده از این راه به مشکل بر خوردم
شما با استفاده از میکروکنترلر STM8S103K3 نمونه کد می نویسید در حالی که من این نمونه کد های با استفاده از پریفرال ها رو نمیتونم برای STM8S003F3 بهینه کنمو تمام نکات آمورزشی شما رو رعایت میکنم و همچنان ارور
اگر اشتباه نکرده باشم و خاطرم درست مونده باشه در جلسات اول عنوان کرده بودید که آموزش جامع هست و برای همه خانواده STM8S بسته به امکانات هر چیپ میتونید از آموزش استفاده کنید
ما که سر به سنگ شدیم همین قدم اول و برای کلاک نتونستم از کتابخانه stm8s_clk استفاده کنم و ظاهرا کلا این پریفرال ها برای تعداد خاصی از STM8S ها تهیه شدند.
لطفا راهنمایی بفرمایید

saeedhi21
20-09-2020, 23:41
با سلام

مهندس عزیز بابت اموزش بی نظیرتون سپاس گذارم، اینجانب در بخش کار با کتابخانه SPL به مشکل خورده ام
کاملا مطابق اموزش پیش رفته اما فایل app که حاوی stm8s_confi.h بوده را پیدا نکرده و با ارور های جدیدی
روبه رو شده ام که روند اموزش را متوقف کرده ممون میشم کمکم کنید.

با تشکر