سلام من کار با تایمر رو یاد بلد نیستم چطور میشه یک تایمر متغیر با پتانسیومتر شبیه تایمر راه پله ساخت الیته توسط میکرو نه آستایل
اطلاعیه
Collapse
No announcement yet.
تایمر متغیر
Collapse
X
-
پاسخ : تایمر متغیر
سلام
عید شما هم مبارک
می تونید میکرو رو تو مد RTC ببرین که دقت این کار بسته به نوع پالس وردی مدار(بهتره از نوسان ساز خارجی استفاده شود)و همچنین برنامه نوشته شده میکرو داره
اگر از آی سی های RTC مثل ds1307 استفاده کنی دقت کار به شدت بالا می ره و نسبت به میکرو کیفیت بسیار بهتری داره(بهتره که مدار این آی سی ها نسبت به نویز بالا بوده و توسط فیلتر ها بهترین نوع نوسان و ولتاژ خروجی برای آی سی فراهم شود)هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
دیدگاه
-
پاسخ : تایمر متغیر
دستور timer1=عدد مقدار تایمر رو با عدد مورد نظرتون پر می کنه و با اجرا دستور strat timer1
تایمر بر اساس نوع فرکانس ورودی شروع به شمردن تا رسیدن به مقداری که بهش دادین می کنه سپس بعد از رسیدن به مقدار عددی در صورتی که روال وقفه براش تعریف شده باشه به روال پرش می کنه و دستورات اونجا رو اجرا می کنه
timer1=12345
تایمر از 0 تا 12345 شروع به شمردن می کنههیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
دیدگاه
-
پاسخ : تایمر متغیر
با مقدار دادن پری اسکیل نوسان ساز مشخص می شود (که از چه مقسمی از فرکانس اصلی تایمر کار کند) در صورتی که مقدار یک باشد تایمر هر یک میکر ثانیه یک عدد بیشتر می شودهیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
دیدگاه
-
پاسخ : تایمر متغیر
ممنون از راهنماییتون من یک بر نامه دارم که اینطور نوشته شده
Config Timer1 = Timer , Prescale = 64
Start Timer1
Enable Interrupts
Enable Ovf1
On Ovf1 Shift_l
Timer1 = 55535
طبق گفته شما 4000000 فرکانس کریستال باید تقسیم بر 64 بشه که حاصل میشه
62500 ولی اینجا نوشته شده Timer1 = 55535
دیدگاه
-
پاسخ : تایمر متغیر
نوشته اصلی توسط محمد ایجیوقتی هم که گفته میشه timer1=55535 یعنی وقتی تایمر به تعداد 55536 بار افزایش یافت (یا به عبارت دیگه از 0 شمارش کرد و به 55535 رسید) وقفه بوجود میاد.
فک کنم مفهوم این خط برنامه شمارش از 55536 تا 65536 باشه یعنی 10000 شمارش
نه شمارش از 0 تا 55536 یعنی 55536 شمارش
برنامه رو یه بار بنویس و چک کن
برای برنامه شما هم همچین شرایطی که گفتم صادقهنوشته اصلی توسط baby_1دستور timer1=عدد مقدار تایمر رو با عدد مورد نظرتون پر می کنه و با اجرا دستور strat timer1
تایمر بر اساس نوع فرکانس ورودی شروع به شمردن تا رسیدن به مقداری که بهش دادین می کنه سپس بعد از رسیدن به مقدار عددی در صورتی که روال وقفه براش تعریف شده باشه به روال پرش می کنه و دستورات اونجا رو اجرا می کنه
timer1=12345
تایمر از 0 تا 12345 شروع به شمردن می کنه

اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن
دیدگاه






دیدگاه