ايران ويج

نسخه‌ی کامل: تایمر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام
تایمر های 0و1یا2 چه فرقی با هم دارند؟مثلا اگه بخواهیم بعد از تحریک ورودی، خروجی ست بشه وبعداز 20ثانیه ریست بشه از کدوم تایمر استفاده کنیم
و اگه امکان داره درمورد فرمول های محاسبه زمان تایمر مفصل توضیح دهید.
با تشکر
(۱۴-اسفند-۱۳۹۰, ۱۰:۵۶:۴۳)alfaalarm نوشته است: [ -> ]با سلام
تایمر های 0و1یا2 چه فرقی با هم دارند؟مثلا اگه بخواهیم بعد از تحریک ورودی، خروجی ست بشه وبعداز 20ثانیه ریست بشه از کدوم تایمر استفاده کنیم
و اگه امکان داره درمورد فرمول های محاسبه زمان تایمر مفصل توضیح دهید.
با تشکر
سلام.. ذوسته من تایمر 0 و 2 تایمر 8 بیتی هستن و تایمر 1 شانزده بیتی
یعنی تایمر 0 بعد از شمارش 255 صفر میشه
و تایمر 2 هم همین طور
تایمر 1 شانزده بیتی است یعنی بعد از 65535شمارش . صفر میشه..
..........................
شما میتونی از تایمر 0 و استفاده کنی..
خیلی کار نداره...


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

فرمول خاصي ندارهه ، سرچ كن و يا كتاب بخون.

مثلا فرض كن كريستال روي 8MHz تنظيم شده ، با prescale=8 مي تونيم به فركانس شمارش برابر 1MHz و به عبارت ديگه 1us برسيم.
حالا فرضا مي خواهيم زمان 1 ثانيه رو درست كنيم .
1s=?us
اينطوري مي فهميم كه بايد 1000000 بار بشماريم تا زمان 1 ثانيه ايجاد بشه ...
با تايمرهاي هشت بيتي ، در هر سري 250 بار مي شماريم ، يعني مقدار اوليه ي 6 به شمارندهه مي ديم ( هر سري )
با شمردن 250 تا تايمر سريز مي كنه و بافعال كردم ويژگي وقفه ، با هر بار سرريز شدن وقفه ، مي ريم به وقفه ...
1000000/250=4000
در اول روتين وقفه شرطي مي گذاريم كه تعداد دفعات اومدن به وقفه بايد 4000 بار بشود .
چون بايد 1000000 بار بشماريم تا 1 ثانيه درست بشه و در هر سري 250 بار مي شماريم .
وقتي به تعداد 4000 به وقفه رفتيم ، شرط براوردهه مي شه و اعمالي رو كه مي خواهيم مي تونيم درونش بنويسيم و ...