آموزش STM8 ( قسمت اول )

اموزش راه اندازی GPIO در میکروکنترلرهای STM8

  • I/O راه اندازی :

برای کار با پایه ھا به صورت ورودی و یا خروجی دیجیتال ، 5 رجیستر وجود دارد که ھر یک به صورت خلاصه و کاربردی توضیح داده می شود. برای توضیحات تکمیلی به دیتاشیت تراشه مراجعه کنید.

لازم به ذکر است تراشه مورد استفاده در مثال ها stm8s003f3p6 میباشد.

Port x data direction register (Px_DDR) .1 :
توسط این رجیستر میتوانید ورودی یا خروجی بودن پین مورد نظر را مشخص کنید. اگر درون این رجیستر مقدار یک قرار گیرد پین متناظر با بیت رجیستر به عنوان خروجی و اگر مقدار صفر قرار گیرد به صورت ورودی پیکربندی خواھد شد.

Port x control register 1 (Px_CR1) .2 :
اگر پین مورد نظر به صورت ورودی تعریف شده باشد میتوان توسط این رجیستر مقاومت pullup آن را فعال یا غیر فعال کرد و اگر به صورت خروجی تعریف شده باشد توسط این رجیستر میتوان یکی از دو حالت open drain یا Push-pull برای خروجی انتخاب کرد. کھ میتوانید ساختار آن را در blocK diagram قسمت GPIO ببینید.

Port x control register 2 (Px_CR2) .3 :

عملکرد این رجیستر هم مثل رجیستر Px_CR1 تابع ورودی یا خروجی بودن پین مورد نظر میباشد . اگر این پین به صورت ورودی باشد میتوانید توسط این رجیستر وقفه خارجی ان را فعال یا غیر فعال کرد و اگر به صورت خروجی باشد میتوانید mode fast یا slow را انتخاب نمایید. 

Port x output data register (Px_ODR) .4 :
اگر پین را به صورت خروجی تعریف کرده باشید میتوانید توسط این رجیستر مقدار خروجی را تایین کنید.

Port x pin input register (Px_IDR) .5 :
اگر پین را به صورت وردی تعریف کرده باشید میتوانید وضعیت وردی را از این رجیستر بخوانید. همانطور که در شکل زیر مشاهده مینمایید این رجیستر فقط قابل خواندن می باشد.

در زیر میتوانید خلاصه از وضعیت رجیسترها را بهتر مشاهده نمایید:

تمرین 1 : 
وضعیت PIN5 از PORTB را خروجی قرار داده و هر یک ثانیه یک بار چشمک بزند. همچنین از mode fast استفاده نمایید. از اسیلاتور داخلی 16MHZ به عنوان منبع کلاک میکروکنترلر استفاده نمایید. 


سورس برنامه تمرین 1 : دانلود 
لینک در GitHub


تمرین 2:

حال قصد داریم یک pin را ورودی قرار دهیم و با فشار دادن شستی PORTB5 را قطع و وصل کنیم.

سورس برنامه تمرین 2 : دانلود 
لینک در GitHub



نویسنده محمد امین خادم الحسینی 

مراجع :
جزوه مهندس محمد شفیعی 
st.com-stm8

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

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