قسمت هفتم: LED چشمک‌زن

قسمت هفتم: LED چشمک‌زن

قسمت هفتم: LED چشمک‌زن
قسمت هفتم: LED چشمک‌زن

سیسوگ در قسمت‌های قبل آموزش میکروکنترلر STM8  برنامه‌نویسی و پروگرام کردن میکروکنترلر STM8 را به همراهانش آموزش داد. در این مقاله قصد دارد از این آموزش‌ها به صورت عملی استفاده کند تا شما نتیجه یادگیر‌های خود را به صورت یک LED چشمک‌زن مشاهده نمایید.

اولین پروژه‌ای که برای هر نرم‌افزار جدید انجام می‌شود، برنامه LED چشمک‌زن است. در آموزش میکروکنترلر STM8 نیز همین کار را انجام می‌دهیم. تابع خروجی را با ساختن یک LED چشمک‌زن تست می‌کنیم. شماتیک برد Disco  را مشاهده کنید و پین‌هایی که به LED ها متصل می‌شوند را بررسی کنید.

 

شماتیک برد Disco

 

 

همچنین می‌توانید از  STM8CubeMX نیز استفاده کنید.

در زیر  بلوک دیاگرام داخلی پین‌های GPIO نشان داده شده است:

 

بلوک دیاگرام داخلی پین‌های GPIO

 

 

از آنجا که هر I / O  به طور مستقل قابلیت تنظیم دارد و گزینه‌های بسیاری با آن مرتبط است، بلوک زیر در نگاه اول پیچیده به نظر می‌رسد. گزینه‌های مختلف هر I / O  را می‌توانید در جدول زیر مشاهده کنید:

 

گزینه‌های مختلف هر I / O

 

در زیر توابع SPL مرتبط با ماژول GPIO نمایش داده شده است.

 

توابع SPL مرتبط با ماژول GPIO

 

کد زیر را مشاهده کنید. این کد بدون دسترسی به رجیسترهای سنتی نوشته شده است. در اینجا همه چیز  یک نامگذاری معنادار دارد، درست مانند نامگذاری در کتابچه راهنمای مرجع. با این وجود درک کد ساده است.

 

اتصالات سخت افزاری

 

اتصالات سخت افزاری

 

 

کد نمونه LED چشمک‌زن

 

توضیح

خطوط زیر پیکربندی GPIO هایی که در کد مورد استفاده قرار گرفته‌اند را نشان می‌دهند. هر بار که برای اولین بار سخت‌افزاری را مجدداً تنظیم یا راه‌اندازی می‌کنید، قبل از استفاده آن باید آن را پیکربندی کنید. گر چه این کار اجباری نیست، اما احتمال خطا در تنظیمات را حذف می کند.

 

پس از پیکربندی، می‌توان تنظیمات GPIO ها را انجام داد. ورودی‌ها می‌توانند دارای مقاومت داخلی یا بدون مقاومت داخلی باشند. خروجی‌ها می‌توانند نوع Push_Pull Totem_pole و یا نوع تخلیه باز باشد. هر پین می‌تواند به طور جداگانه پیکربندی شود و هیچ وابستگی به دیگر پین‌ها ندارد. در این کد GPIO PD3 به عنوان یک خروجی Push_Pull سریع تعریف شده است.

 

 

بخش باقیمانده از کد در حلقه اصلی، به صورت زیر است:

 

در قسمت هشتم آموزش میکروکنترلر STM8  کلاک داخلی سیستم را آموزش خواهیم داد. با سیسوگ همراه باشید.

 

منبع

لینک‌های دانلود

مطالب مرتبط

 

 

0 نفر

پــــســنــدیـده انـد

توجه

electronic girl
electronic girl

دوستدار الکترونیک

دیدگاه ها

12 دیدگاه

  • VHD
    ۱۳ مهر ۱۳۹۹

    سلام
    آموزش خوبی بود.
    پروگرم کردم روی stm8s003f3 و جواب داد.
    راستش فقط نفهمیدم چی شد!!!
    ی ide به نام stvd داریم که کامپایلر cosmic رو بهش معرفی کردیم و…
    میشه ی توضیح کلی بدید؟
    (ی سوال غیر مرتبط هم داشتم. چرا st-link خودش ریست نمیکنه تا برای اجرای برنامه نخواهم ی بار قطع و وصلش کنیم؟ )

    • Zeus ‌
      زئوس Zeus
      ۲۳ آبان ۱۳۹۹

      سلام
      خوب فکر میکنم توضیحات مطلب به انداز کافی گویا هست و چیزی نمی بینم که بخوام بهش اظافه کنم
      اگر بگید کجاش براتون گنگ هست شاید بهتر بتونم راهنمایی کنم
      + احتمالا جایی توی تنظیماتش باید چنین قابلیتی باشه ولی به شکل نرم افزاری

  • شایان
    ۱۷ تیر ۱۳۹۸

    سلام وقتتون بخیر ممنون از زحماتی که کشیدید واقعا کارتون درسته.
    یک سوال داشتم ممنون میشم راهنمایی کنید ایا میشه از توابع spl در iar استفاده کرد من کتابخانه هاشو ادد میکنم منتها ارور میده و میگه باید نوع میکرو را هم مشخص کنم البته داخل تنظیمات این کارو انجام دادم اما ارور داره باز هم ممنون میشم راهنمایی کنید.

    • Zeus ‌
      زئوس Zeus
      ۲۹ تیر ۱۳۹۸

      سلام
      بله قطعا میشه این کار رو انجام داد ؛ تنها لازمه که مدل میکرو رو توی منوی تنظیمات کامپایلر قسمت define وارد کنید تا این خطا ها برطرف بشه./

  • Winiston ZZZ
    Winiston ZZZ
    ۲۵ خرداد ۱۳۹۸

    باسلام
    آیا تابع delay در این کتاب خانه موجود هست ؟ به فرض اگر بخواهم مقدار 500 میلی ثانیه تاخیر ایجاد کنیم ، ایا تابعی مختص این کار هست یا باید خودمان با وقفه و تایمر داخلی بسازیمش ؟

    • Zeus ‌
      زئوس Zeus
      ۲۵ خرداد ۱۳۹۸

      تاخیر متاسفانه در کتابخانه خود St موجود نیست اگر تاخیر دقیق لازم دارید از تایمر برای ساختش استفاده کنید اگر نه از حلقه for هم میتونید استفاده کنید.

  • Hossein
    ۳ آذر ۱۳۹۷

    تصاویر باز نمی شوند. لطفا مشکل رو رفع کنید باتشکر

    • Nasim Hematian
      electronic girl
      ۵ آذر ۱۳۹۷

      سلام
      مشکل تصاویر بر طرف شد. سپاس از تذکر شما

  • امیرحسین مرادیان
    ۲۵ مرداد ۱۳۹۷

    چرا تصاویر باز نمیشه؟!!!!

    • Zeus ‌
      زئوس Zeus
      ۲۶ مرداد ۱۳۹۷

      مشکل برطرف شد دوست عزیز:)

  • محمد
    ۲۳ مرداد ۱۳۹۷

    درود….
    این تنظیمات رو میشه واسه میکرو stm8L151 هم بکار برد یا نه ؟

    • Nasim Hematian
      electronic girl
      ۲۵ مرداد ۱۳۹۷

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

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک