ايران ويج

نسخه‌ی کامل: تنظیم دقیق فرکانس داخلی میکرو
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
باعرض سلام خدمت اساتید محترم
من برای برنامه نویسی میکرو احتیاج دارم که زمان بندی تاخیرها دقیقا برحسب ثانیه باشند
مثلا اگر برنامه ساده ای رو بنویسم که ال ای دی یک ثانیه روشن شود و یک ثانیه خاموش،اگر این دستگاه و پروژه یک ماه روشن ماند نمیخواهم سرعت روشن خاموش شدن ال ای دی ها نسبت به ساعت عقب یا جلو شوند،دقیق بودن زمانبندی برایم خیلی مهمه.
 فرکانس میکرو را با استفاده از اسیلاتور درونی چگونه تنظیم کنم؟
ممنون و سپاسگذارم
درود
اگر اشتباه نکنم اسیلاتور داخلی، RC هست که به دما حساسیت داره و...

بهترین کار استفاده از کریستال خارجی/ یا استفاده از کریستال ساعت هست...
ممنونم از پاسختون
اما مشکل من اینه که نمیتونم فرکانس رو تنظیم کنم،اگر یک کریستال ساعت بگیرم باز مشکل تنظیم با برنامه دارم،من با کد ویژن کار میکنم
اگر امکان داره خیلی ساده بهم توضیح بدید توی کدویژن چکار کنم تا دقیقا ثانیه هام استاندارد بشن
حالا اگر کریستال ساعت نداشتم وبرای استفاده های معمولی بخوام فرکانس رو تنظیم کنم چکار کنم
ممنون
ممنونم از پاسختون
اما مشکل من اینه که نمیتونم فرکانس رو تنظیم کنم،اگر یک کریستال ساعت بگیرم باز مشکل تنظیم با برنامه دارم،من با کد ویژن کار میکنم
اگر امکان داره خیلی ساده بهم توضیح بدید توی کدویژن چکار کنم تا دقیقا ثانیه هام استاندارد بشن
حالا اگر کریستال ساعت نداشتم وبرای استفاده های معمولی بخوام فرکانس رو تنظیم کنم چکار کنم
ممنون
(۰۳-آذر-۱۳۹۵, ۲۱:۲۶:۳۹)xxabasxx نوشته است: [ -> ]ممنونم از پاسختون
اما مشکل من اینه که نمیتونم فرکانس رو تنظیم کنم،اگر یک کریستال ساعت بگیرم باز مشکل تنظیم با برنامه دارم،من با کد ویژن کار میکنم
اگر امکان داره خیلی ساده بهم توضیح بدید توی کدویژن چکار کنم تا دقیقا ثانیه هام استاندارد بشن
حالا اگر کریستال ساعت نداشتم وبرای استفاده های معمولی بخوام فرکانس رو تنظیم کنم چکار کنم
ممنون

متاسفانه کدویژن کار نکردم
ولی اصول کار اینه که فیوز بیت های میکرو تون رو توسط پروگرمر به کریستال خارجی تغییر بدید
(دقت کنید که بسته به نوع پروگرمری که دارید، شاید لازم بشه که پایه های کریستال رو به جای مخصوص اش روی بورد پروگرمر وصل کرده باشید)


بعد کافیه توی کد ویژن یا بسکام، مقدار کریستال رو تعریف کنید .(هر دوتاشون رو میشه از project setting یا wizard بصورت گرافیکی تغییر داد)

اگر لازمه که 1 ثانیه دقیق تولید کنید، کافیه از تایمر کانتر ها استفاده کنید(بطور دقیق تر timer 0 , 1  یا 2 ... در avr ها)

بسته به فرکانس کاری پروسسور میکرو، باید prescaler ها رو برای تولید 1 ثانیه تنظیم کنید.
فرکانس کاری پروسسور میکرو هم همون crystal خارجی تون هست(البته داخلی هم باشه ، بسته به فیوز بیت هاتون، ممکنه 1 مگ، 2 مگ یا اشتباه نکنم 8 مگاهرتز باشه)

گوگل "تولید 1 ثانیه دقیق avr" سرچ کنید، کلی تاپیک میاره از انجمن های فارسی


موفق باشین  :))):
برای تایمر اینتراپت تعریف کنید
با تایمر ، مثلا 10 میلی ثانیه تولید کنید

وقفه هارو بشمارید، وقتی 100 تا شد، تعدادی که شمردید رو صفر کنید و کاری که مدنظرتون هست رو هم انجام بدید
بسیار ممنونم که برام وقت گذاشتید اما همونطور که گفتم من تازه کارم و از توضیحات شما چیزی دستگیرم نشد چون با این اصطلاحات آشنایی ندارم
ولی توی نت سرچ میکنم شاید چیزی دستگیرم بشه
بازم منونم