با سلام
تایمر های 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 به وقفه رفتيم ، شرط براوردهه مي شه و اعمالي رو كه مي خواهيم مي تونيم درونش بنويسيم و ...