دستورات تایمر کانتر 0 به زبان بیسیک BASIC

دستورات تایمر کانتر 0

حال که با مقدمات برنامه نویسی یک میکروکنترلر avr توسط نرم افزار Bascom آشنا شده اید نوبت به آن رسیده تا با برنامه نویسی و پیکر بندی امکاناتی دیگر از این مجموعه آشنا شوید. در این قسمت برنامه نویسی پیچیده تر خواهد شد و شما باید با تکیه بر آموزه های قبلی خود شروع کنید.

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

دستورات تایمر کانتر 0 به زبان بیسیک BASIC

پیکر بندی تایمر کانتر 0 به عنوان تایمر در زبان بیسیک BASIC

این تایمر 8 بیتی بوده, پس حداکثر مقدار شمارش آن تا 255 خواهد بود.

1/8/64/256/1024 : مقادیری که می توان برای تقسیم فرکانس میکرو استفاده کرد.

با دستور بالا تایمر – کانتر 0 به عنوان یک تایمر به میکرو معرفی می شود. میزان فرکانس کار این تایمر از رابطه زیر به دست می آید:

فعال و روشن کردن تایمر کانتر 0 در زبان بیسیک BASIC

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

نکته : برای روشن کردن تایمر در جاهای مختلف برنامه از Start Timer0 و برای خاموش کردن تایمر از دستور Stop Timer0 استفاده نمایید.

غیر فعال کردن تایمر کانتر 0 در زبان بیسیک BASIC

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

نکته : با خاموش کردن timer0 مقدار شماش شده صفر نخواهد شد و با روشن کردن دوباره آن ادامه شمارش انجام خواهد شد.

نوشتن و خواندن تایمر در زبان بیسیک BASIC

نکته : مقدار تایمر در رجیستری به نام timer0 قرار گرفته است که می توان به این رجیستر مقدار داد تا تایمر از آن مقدار شروع به شمارش کند و یا مقدار آن را در متغیری که برای انجام عملیاتی لازم دارید بریزید.

وقفه تایمر 0 در زبان بیسیک BASIC

پرچم سریزی تایمر 0 به نام ovfo بوده و همانطور که گفته شد با رسیدن مقدار تایمر به عدد 255 (مقدار timer0 برابر صفر می شود) این پرچم 1 شده و می توان از آن به عنوان پرش به یک زیر برنامه استفاده کرد و در زیر برنامه با return بازگشت. در این دستور باید اول پرچم را فعال سازی و بعد با دستور ovfo on در صورت یک شدن ovf0 به برچسب زیر برنامه پرش کرد.

نکته : فراموش نشود برای کار با هر وقفه ای اول باید وقفه کلی enable interrupts را فعال کرد.

مثال اول :

مثال دوم :

نکته : در مثال بالا تایمر هر بار تا مقدار 200 شمرده و با هر بار سریز شدن به زیر برنامه رفته و مقدار اولیه 55 را می گیرد تا دوباره تا 200 بشمارد.

پیکر بندی تایمر – کانتر 0 به عنوان کانتر در زبان بیسیک BASIC

با این دستور کانتر 0 پیکر بندی شده و با اعمال پالس به پایه T0 میکرو یک واحد به رجیستر COUNTER0 اضافه می شود. این کانتر 8 بیتی بوده, پس حداکثر مقدار شمارش آن تا 255 خواهد بود (پالس ورودی بعدی کانتر را صفر می کند).

Edge : گزینه rising برای حساس بودن پایه به لبه بالارونده و گزینه falling برای حساس بودن پایه به لبه پایین رونده است.

فعال و روشن کردن کانتر 0 در زبان بیسیک BASIC

دو دستور بالا را حتما با هم به کار برید تا میکرو کانتر را روشن کند.

نکته : برای روشن کردن کانتر در جاهای مختلف برنامه از start coutner0 استفاده نمایید.

غیر فعال کردن کانتر 0 در زبان بیسیک BASIC

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

نکته : با خاموش کردن counter0 مقدار شمارش شده صفر نخواهد شد و با روشن کردن دوباره آن ادامه شمارش انجام خواهد شد.

نوشتن و خواندن کانتر 0 در زبان بیسیک BASIC

نکته: مقدار کانتر در رجیستری به نام counter0 قرار گرفته است, که می توان به این رجیستر مقدار داد تا کانتر از آن مقدار شروع به شمارش کند و یا مقدار آن را در متغیری که برای انجام عملیاتی لازم دارید بریزید.

وقفه کانتر 0 در زبان بیسیک BASIC

پرچم سریزی کانتر 0 به نام ovf0 بوده و همان طور که گفته شد با رسیدن مقدار کانتر به عدد 255 و با ورود یک پالس دیگر ( مقدار counter0 برابر صفر می شود ) این پرچم 1 شده و می توان از آن به عنوان پرش به یک زیر برنامه استفاده کرد و در زیر برنامه با returnبازگشت. در این دستور باید اول پرچم را فعال سازی و بعد با دستور on ovf0 در صورت یک شدن ovf0 به برچسب زیر برنامه پرش کرد.

نکته : فراموش نشود برای کار با هر وقفه ای اول باید وقفه کلی enable interrupts را فعال کرد.

مثال اول :

مثال دوم :

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 24 سپتامبر 2014

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

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

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