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

آموزش میکروکنترلر STM8 قسمت ۱۷: تایمر ۲

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

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

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

 

تایمر ۲ :

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

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

تایمر 2 در STM8

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

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

فرمول تایمر 2

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

در این مثال، کلاک اصلی روی ۲ مگاهرتز تنظیم شده است.  تایمر ۲ پس از تقریبا ۲ ثانیه دوباره بارگذاری می‌شود. ما این کلاک را به ۲۰۴۸ قسمت تقسیم می‌کنیم و که در این حالت شمارنده پس از شماره ۱۹۵۲ مجدداً بارگیری می‌شود. توجه داشته باشید که تایمر ۲ شمارنده تکرار ندارد و روی ۱ تنظیم می شود.

 

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

 

تایمر 2 در STM8

 

نمونه کد

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

 

 

توضیحات

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

 

همانطور که قبلاً توضیح داده شد، برای اینکه تایمر هر ۲ ثانیه یکبار مجدداً بارگیری شود باید شمارنده را به ۲۰۴۸ قسمت تقسیم بندی کنیم و شمارنده روی ۱۹۵۲ بارگیری شود. این تنظیمات کد در زیر نشان داده شده است:

 

هدف ما این است که LED برای ۱ ثانیه روشن و برای ۱ ثانیه خاموش باشد. برای ایجاد این زمان ۲ ثانیه ای شمارنده تا شماره ۱۹۵۲ پیش می رود بنابرین وقتی شمارنده تا ۹۷۶ پیش برود مدت زمان ۱ ثانیه سپری می شود. بنابراین در حلقه اصلی مقدار شمارنده تایمر ۲ را چک می کنیم. وقتی شمارنده از ۰ تا ۹۷۶ را می شمارد LED روشن و وقتی از ۹۷۷ تا ۱۹۵۲ را می شمارد LED خاموش می شود. توجه داشته باشید که پایه مثبت LED به VDD متصل است و وقتی PD3 مقدار کمی دارد روشن می شود.

 

 

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

منبع


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

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

 

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

پاسخی بگذارید

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