(Bascom AVR)راه اندازی تایمر سه در محیط بسکام (timer 3 ) مهندسی برق _ الکترونیک 

پژوهشگر و نویسنده: دکتر (  افشین رشید )

نکته: عدد PREACALE فرکانس (دقت ) تایمر را معیین میکند .فرکانس و زمانی که تایمر میشوند.

بعد از اجرای دستور ، تایمر با دستور TIMER START شروع به شمارش میکند و با دستور TIMER STOP متوقف میشود.تایمر پس از شمردن تا (65536 16^2) سر ریز میشود ، شما با استفاده از دستور OVF3 ENABLE  و ENABLE INTRRUPTS میتوانید وقفه سر ریزی تایمر را راه اندازی کنید . در صورتی که وقفه سر ریزی تایمر فعال باشد ، تایمرپس از سرریزی به برچسبی که با یکی از دستورات LABLE OVF3 ON و یا LABLE TIMER3 ON مشخص شده پرش میکند ، باز گشت از وقفه با دستور RETURN انجام میشود.تایمر 3 با دستور زیر پیکربندی میشود: 

Config Timer3 = Timer , PRESCALE = 1| 8 | 64 | 256 | 1024

شما همچنین میتوانید با استفاده از دستور TIMER3 = VAR ، مقدار تایمر را در یک متغیر از جنس word قرار دهید ویا با دستور VALUE = TIMER3 ، مقدار اولیه ای در تایمر قرار دهید تا تایمر از ان شروع به شمارش کند. یک شمارنده معکوس بسازیم ، برای این کار ابتدا باید یک زمان 1 میلی ثانیه ای 3در این مثال میخواهیم توسط تایمر، 64 استفاده نمایید ، میتوانید زمانی برابر با PRESCALE ایجاد کنیم طبق فرمول اگر شما از کریستا ل 4 مگا هرتز و04.1 ثانیه ایجاد کنید ، 

با مقادیر دیگر نیز میتوانید زمان های دقیق تر بسازید .(بیشترین زمانی که با این تایمر میتوانید بسازید برابر با 108864.67 ثانیه میباشد)، شما ابتدا باید یک مقدار را تعین کنید ، میکرو بعد از گذشت 1 ثانیه از مقدارتعیین شده 1 واحد کم میکند.

$regfile = "m64def.dat"

هنگامی که تایمر 3 تا 1000 شمرد پایه oc3a یک میشود و هنگامی که مقدار شمرده شده به 5000 رسید پایه oc3b یک میشود (oc3a پایه 5 و oc3b پایه6 مگا 64 میباشد).

استفاده از وقفه مد مقایسه ای تایمر 3 timer مد مقایسه ای دارای 2 منبع وقفه میباشد که با دستورات زیر فعال میشوند: 

Enable Interrupts 

Enable Oc3a 

Enable Oc3b 

با دستور فعال سازی وقفه مقایسه ، هنگامی که مقدار شمرده شده توسط میکرو با Compare3a برابر شد cpu میکرو با دستور lable oc3a on به برچسب مورد نظر برش میکند و در انجا عملیات دلخواه را انجام میدهد، هنگامی که مقدار شمرده شده توسط میکرو با Compare3b برابر شد cpu میکرو با دستور lable oc3b on به برچسب مورد نظر برش میکند و در انجا عملیات دلخواه را انجام میدهد. در صورتی که در پایان برچسب دستور return گذاشته شود cpu به حلقه ی اصلی پرش میکند.

پژوهشگر و نویسنده: دکتر (  افشین رشید )