ARM, STM, STM8, آموزش, توصیه شده, مقاله

آموزش میکروکنترلر STM8 قسمت 17: تایمر 2

آموزش STM8 قسمت 17 ام تایمر کانتر

آموزش میکروکنترلر STM8 – قسمت هفدهم ;

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

 

تایمر 2 :

تایمر 2 اساسی‌ترین ویژگی هر تایمر است و هم‌چنین نیازهای ضروری هر سیستم در آن جاسازی شده است. این حالت را می‌توان با وقفه و یا بدون وقفه استفاده کرد. ما ابتدا این را بدون وقفه و سپس با وقفه مورد بررسی قرار می‌دهیم.

در تایمر 2، می‌توانیم با استفاده از تأخیر، حلقه و روش‌های دیگر زمان دقیق را بدست آوریم. تایمر 2 با استفاده از سخت‌افزار تایمر و مستقل از بقیه قسمت‌ها کار می کند. این تایمر کاربردهای بسیاری دارد. به عنوان مثال، با استفاده از این تایمر می‌توانیم از تأخیر نرم‌افزار جلوگیری کنیم، شکاف‌های زمانی در سیستم بلادرنگ (RTOS) تولید کرد و غیره.

تایمر 2 در STM8

تمام تایمرهای STM8 مشابه هستند و تنها چند تفاوت دارند. به عنوان مثال، تایمر 1 یک شمارنده تکرار است. این مانند شمارنده‌ای به دنبال شمارنده دیگر است. تایمرهای دیگر این بخش را ندارند. تمامی تایمرها شمارنده رو به بالا هستند، در حالیکه تایمرهای پیشرفته می‌توانند شمارنده معکوس نیز باشند.

تئوری اصلی تایمر 2 به این صورت است که شما یک کلاک داخلی دارید که آن را بر حسب نیاز خود تقسیم بندی می‌کنید. بنابراین شما آن را تنظیم می‌کنید و از کلاک جدید برای شمارنده استفاده می‌کنید. شمارنده از 0 تا 100 شروع به شمارش می‌کند و بعد از اینکه به 100 رسید مجدداً از 0 شروع به شمارش می‌کند. رابطه زیر زمان تایمر را نشان می‌دهد:

فرمول تایمر 2

فرمول بالا نشان دهنده مدت زمان سپری شده قبل از وقوع سرریز تایمر است پس از آن تایمر شمارش را از اول شروع می کند.

در این مثال، کلاک اصلی روی 2 مگاهرتز تنظیم شده است.  تایمر 2 پس از تقریبا 2 ثانیه دوباره بارگذاری می‌شود. ما این کلاک را به 2048 قسمت تقسیم می‌کنیم و که در این حالت شمارنده پس از شماره 1952 مجدداً بارگیری می‌شود. توجه داشته باشید که تایمر 2 شمارنده تکرار ندارد و روی 1 تنظیم می شود.

 

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

 

تایمر 2 در STM8

 

نمونه کد

در این مثال، LED بدون تأخیر زمانی نرم افزار چشمک می زند. تایمر 2 در اینجا برای ایجاد تأخیر زمانی استفاده می‌شود.

 

 

توضیحات

در ابتدا CPU و کلاک داخلی هر دو روی 2 مگاهرتز تنظیم می شوند.

 

همانطور که قبلاً توضیح داده شد، برای اینکه تایمر هر 2 ثانیه یکبار مجدداً بارگیری شود باید شمارنده را به 2048 قسمت تقسیم بندی کنیم و شمارنده روی 1952 بارگیری شود. این تنظیمات کد در زیر نشان داده شده است:

 

هدف ما این است که LED برای 1 ثانیه روشن و برای 1 ثانیه خاموش باشد. برای ایجاد این زمان 2 ثانیه ای شمارنده تا شماره 1952 پیش می رود بنابرین وقتی شمارنده تا 976 پیش برود مدت زمان 1 ثانیه سپری می شود. بنابراین در حلقه اصلی مقدار شمارنده تایمر 2 را چک می کنیم. وقتی شمارنده از 0 تا 976 را می شمارد LED روشن و وقتی از 977 تا 1952 را می شمارد LED خاموش می شود. توجه داشته باشید که پایه مثبت LED به VDD متصل است و وقتی PD3 مقدار کمی دارد روشن می شود.

 

 

سیسوگ در قسمت های بعدی تایمرهای دیگر STM8 را مورد بررسی قرار می دهیم. در قسمت هجدهم تایمر 4 را مورد بررسی قرار می‌دهد. با سیسوگ همراه باشید.

منبع



انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.  همکاری با سیسوگ

 

نوشته های مشابه

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

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