PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : این برنامه رو چجوری می نویسن ؟



mordadelectro
30-10-2012, 23:20
برنامه ای بنویسید که با زدن یک کلید فشاری یک led به مدت 10 ثانیه روشن شود و اگر کلید را در هر لحظه ای فشار دهیم مدت زمان روشن شدن رو به مدت 10 ثانیه تمدید کند به طور نمونه اگر کلید را سه بار فشار دهیم باید 30 ثانیه به زمان سپری شده اضافه گردد و سپس خاموش شود

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

vahidasm
30-10-2012, 23:33
شما تایمر رو اول راه بنداز و همچنین یه دونه از وقفههای خارجی که هر وقت وقفه خورد عدد مورد نظر رو یه واحد بالاتر ببره.بعدم که معلومه دیگه....

mordadelectro
31-10-2012, 16:12
بدون وقفه نمیشه نوشت ؟
هنوز وقفه ها رو نگفتن

esisafa
31-10-2012, 18:53
بدون وقفه هم میشه. فقط تایمر لازمه
شما باید داخل تایمر یک شمارنده قرار بدین که هر ثانیه یکی اضافه بشه و در یک شرط کوچکتر و بزرگتر بودن از 10 رو بررسی کنید و بگین چکارکنه. هر وقت که کلید فشار داده بشه مقدار شمارنده رو صفر کنه

mordadelectro
31-10-2012, 19:04
میشه برنامشو به زبان c بنویسین

از حلقه for برای شمارش 10 ثانیه استفاده کردم .بعد از اون گفتم که این مقدار رو در delay قرار بده .
اگر کلیدی زده شد 10 ثانیه تاخیر ایجاد کنه و به حلقه for برگرده درسته اینجوری ؟

esisafa
31-10-2012, 19:16
نه وقتی از تایمر استفاده میکنین دیگه تاخیر لازم نیست. حلقه ی for هم نمیخواد. خود تابع وقفه ی تایمر هر ثانیه یکبار اجرا میشه و باید مقدار شمارنده رو که به صورت متغیر سراسری تعریف شده یکی زیاد کنید.
راستی اصلا هیچ وقفه ای نگفته یا منظورتون وقفه ی خارجی هست. وقفه ی تایمر رو خوندین؟

mordadelectro
31-10-2012, 22:37
استاد طبق کتاب میره جلو.من میخام با delay و اینا بنویسم چون هنوز وقفه و تایمر رو نگفته.
من خودم AVR زبان C بلدم در حد متوسط ولی این برنامه رو نتونستم بنویسم هرکاری کردم نشد.

esisafa
01-11-2012, 01:12
اگه فقط تاخیر لازمه که تاخیرتون رو به بخش های مثلا 100 میلی ثانیه ای تقسیم کنید و بین اونا شرایط رو بررسی کنید

mordadelectro
01-11-2012, 20:16
چجوری مثلا ؟
میشه برنامشو بنویسین

esmaeil57
19-03-2013, 11:39
چجوری مثلا ؟
میشه برنامشو بنویسین

سلام مهندس
اگه با بیسیک خواستی بگو برات بنویسم

Ma3ood
19-03-2013, 11:48
مهندس فکر کنم ترم این بنده خدا هم تموم شده :mrgreen:
تاریخ پستو یه نیگاه بندازید