دوستان من می خوام با تایمر 0 یا 1 زمان دقیق 1ثانیه بسازم ، نه زمانی در حدود ثانیه ، اگر هم امکان باشه این زمان کسری از ثانیه هم باشه خوبه اما فقط می خوام که دقیق باشه و اعشار ازش پیدا نشه ؛ با بسکام کار میکنم/. :read:
اطلاعیه
Collapse
No announcement yet.
تایمر های میکرو
Collapse
X
-
تایمر های میکرو
وقتی گریبان عدم با دست خلقت می درید/وقتی ابد چشم تو را پیش از ازل می آفرید/وقتی زمین ناز تو را در آسمانها می کشید/وقتی عطش طعم تو را با اشکهایم می چشید/من عاشق چشمت شدم ، نه عقل بود و نه دلی/چیزی نمی دانم از این دیوانگی و عاقلی/یک آن شد این عاشق شدن ، دنیا همان یک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتی که من عاشق شدم شیطان به نامم سجده کرد/آدم زمینی تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشی و نه گلی/چیزی نمی دانم از این دیوانگی و عاقلی/. -
پاسخ : تایمر های میکرو
یعنی یکی نیست جواب بده؟ :angry:وقتی گریبان عدم با دست خلقت می درید/وقتی ابد چشم تو را پیش از ازل می آفرید/وقتی زمین ناز تو را در آسمانها می کشید/وقتی عطش طعم تو را با اشکهایم می چشید/من عاشق چشمت شدم ، نه عقل بود و نه دلی/چیزی نمی دانم از این دیوانگی و عاقلی/یک آن شد این عاشق شدن ، دنیا همان یک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتی که من عاشق شدم شیطان به نامم سجده کرد/آدم زمینی تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشی و نه گلی/چیزی نمی دانم از این دیوانگی و عاقلی/.
-
پاسخ : تایمر های میکرو
سلام
اگه میخوای زمانت خیلی خیلی دقیق باشه باید از تایمر 2 که آسنکرون هست یعنی کلاکش از یه منبع کلاک خارجی تامین میشه استفاده کنی.
برای منبع کلاک هم باید از کریستال ساعت که مقدارش 32768 هرتزه.
یه روش دیگه هم هست که میتونی از آی سی ds1307 استفاده کنی که خودش برات زمانو میشماره و فقط شما به وسیله میکرو اون اطلاعاتو میخونید از روش
برای اطلاعات بیشتر برو به تایپیک زیر
http://www.eca.ir/forum2/index.php?topic=38492.0گفت که دیوانه نهی لایق این خانه نهی
دیدگاه
-
پاسخ : تایمر های میکرو
سلام moslem1368 :applause:
تشکر ، یعنی باید با RTC تایم دقیق رو بسازیم ، درسته؟
یعنی چطوریه ؟ که تایمر2 آسنکرون هستش؟اگه توضیح بیشتر بدی ممنون میشم/.
وقتی گریبان عدم با دست خلقت می درید/وقتی ابد چشم تو را پیش از ازل می آفرید/وقتی زمین ناز تو را در آسمانها می کشید/وقتی عطش طعم تو را با اشکهایم می چشید/من عاشق چشمت شدم ، نه عقل بود و نه دلی/چیزی نمی دانم از این دیوانگی و عاقلی/یک آن شد این عاشق شدن ، دنیا همان یک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتی که من عاشق شدم شیطان به نامم سجده کرد/آدم زمینی تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشی و نه گلی/چیزی نمی دانم از این دیوانگی و عاقلی/.
دیدگاه
-
پاسخ : تایمر های میکرو
سلام محمد جان
سکنرون و آسنکرون یعنی همزمان و غیر همزمان کاری به جزئیاتش نداریم
برای این به تایمر2 میگن آسنکرون که شما میتونی یه کریستال جدای از میکرو براش بذاری
ببین پایه های XTAL1 و XTAL2 در میکرو کنترلر واسه چیه؟
برای نصب کریستال خارجی که میکرو کلاکش از اون تامین بشه
و پایه های TOSC1 و TOSC2 هم برای گذاشتن کریستال خارجی برای تایمر 2 هستش
چون این دو جزء یعنی پردازنده میکروکنترلر و تایمر2 منابع کلاک متاوتی دارند پس مد کاری آنها غیر همزمان یا آسنکرون هستش
البته دوست عزیز من بهت پیشنهاد میکنم هم با تایمر2 و هم با آی سی ds1307 کار کن اما تو پروژه هات حتما از ds1307 استفاده کنگفت که دیوانه نهی لایق این خانه نهی
دیدگاه
-
پاسخ : تایمر های میکرو
ممنون مسلم جان ، پس آسنکرون برا همین میگن!!!!!!! :read:
راستی با تایمر 1 و 2 بخوایم کار کنیم ، چند تا مد داره ، می تونی واسه مدهاشون به غیر از تایمر ، کانتر و PWM با یه توضیح هر کدومشون رو توضیح بدی عزیز؟
تشکر :nerd:
وقتی گریبان عدم با دست خلقت می درید/وقتی ابد چشم تو را پیش از ازل می آفرید/وقتی زمین ناز تو را در آسمانها می کشید/وقتی عطش طعم تو را با اشکهایم می چشید/من عاشق چشمت شدم ، نه عقل بود و نه دلی/چیزی نمی دانم از این دیوانگی و عاقلی/یک آن شد این عاشق شدن ، دنیا همان یک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتی که من عاشق شدم شیطان به نامم سجده کرد/آدم زمینی تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشی و نه گلی/چیزی نمی دانم از این دیوانگی و عاقلی/.
دیدگاه
-
پاسخ : تایمر های میکرو
مسلم جان ، داداش این به زبان C گفته ، اما من با بسکام کارمیکنم/. :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:وقتی گریبان عدم با دست خلقت می درید/وقتی ابد چشم تو را پیش از ازل می آفرید/وقتی زمین ناز تو را در آسمانها می کشید/وقتی عطش طعم تو را با اشکهایم می چشید/من عاشق چشمت شدم ، نه عقل بود و نه دلی/چیزی نمی دانم از این دیوانگی و عاقلی/یک آن شد این عاشق شدن ، دنیا همان یک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتی که من عاشق شدم شیطان به نامم سجده کرد/آدم زمینی تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشی و نه گلی/چیزی نمی دانم از این دیوانگی و عاقلی/.
دیدگاه
-
پاسخ : تایمر های میکرو
آره دقیقا ، الگوریتم رو با c بهتر میشه پیاده کرد ، اما دیگه با بسکام عادت کردم و حسابی درگیرم باهاش :angry: :angry: :angry: :angry:
فقط مدهای مختلف رو می خوام درک کنم ، بعد برم رو برنامه نویسیش :read:
توضیح خوب و مختصر بگی با ذکر یه چند تا مثال خیلی کارم راه میفته :nerd:
ممنون دادا :nice:وقتی گریبان عدم با دست خلقت می درید/وقتی ابد چشم تو را پیش از ازل می آفرید/وقتی زمین ناز تو را در آسمانها می کشید/وقتی عطش طعم تو را با اشکهایم می چشید/من عاشق چشمت شدم ، نه عقل بود و نه دلی/چیزی نمی دانم از این دیوانگی و عاقلی/یک آن شد این عاشق شدن ، دنیا همان یک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتی که من عاشق شدم شیطان به نامم سجده کرد/آدم زمینی تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشی و نه گلی/چیزی نمی دانم از این دیوانگی و عاقلی/.
دیدگاه
-
پاسخ : تایمر های میکرو
سلام به دوست عزیز ، آقای یوسفی !!! :bye
کاری نداره که برادر !!! به یاد زمانی که با بسکام خاطره ها داشتیم () ، چند تا مثال میذارم براتون : ( :eek: )
مثال یک : ساخت زمان 1 ثانیه به وسیله تایمر 0 میکرو با فرض کریستال 1MHz :
همونطور که میدونین این تایمر 8 بیتی است و نهایتا تا 255 میشماره . با دستور زیز معرفی میشه :
کد:CONFIG TIMER0 = TIMER ,PREACALE =1|8|64|256|1024
زمان = (مقدار بیت تایمر * PREACALE ) / مقدار کریستال
(زمان مساوی است با مقدار بیت تایمر ضرب در دقت ، تقسیم بر مقدار کریستال )!!! به این میگن فرمول فارسی! :eek:
با شروع شمارش ، بعد از رسیدن مقدار تایمر به 255 ، سرریز میشه و اگه وقفه سراسری و تایمر فعال باشه ، به یه برچسب دلخواه و با استفاده از دستور زیر ، پرش میکنه :
کد:ON OVF0 LABLE
کد:$regfile = "m32def.dat" $crystal = 1000000 Dim x As Byte Dim y As Byte Config Timer0 = Timer , Prescale = 1024 Enable Interrupts Enable Timer0 On Timer0 sarriz Start Timer0 Do .................. Loop End sarriz: Incr x If x > 3 Then Incr y enf if return
تمام توضیحات مثل بالاست ، اما این تایمر 16 بیتیه و با در نظر گرفتن سرریز تا 65536 میشماره . توضیحات ساده س و تا حدود زیادی مثل تایمر 0 هست . مثلا برای ساخت زمان حدود 1 ثانیه ، میشه به این صورت کار کرد :
فرکانس میکرو 4MHz و مقدار PREACALE برابر 64 . پیکره بندی تایمر به این صورته :
کد:Config Timer1 = Timer , PRESCALE = 1| 8 | 64 | 256 | 1024
کد:$regfile = "m32def.dat" $crystal = 1000000 Dim x As Byte Config Timer1 = Timer , Prescale = 64 Enable Interrupts Enable Timer1 On Timer1 sarriz Start Timer1 Do ...................... Loop End Incr x
همونطور که دوست عزیز آقای مسلم فرمودن میشه با کریستال 32.768MHz هم این کار رو کرد . برای این کار باید از تایمر 2 استفاده کرد که 8 بیتیه و محاسبات مثل قبل هست و با این دستور پیکره بندی میشه :
کد:CONFIG TIMER2 = TIMER , ASYNC = ON|OFF , PREACALE=1|8|32|64|128|256|1024
برنامش هم مثل تایمر 0 و 1 هسست با این تفاوت که باید تایمر 2 پیکره بندی بشه !!! ( جدی!!! :eek: )
اگه بازم سوال یا ابهامی بود ، در حد توان در خدمتم !!!
یا علی !در انتظار تو چشمم سپید گشت و غمی نیست
اگر قبول تو افتد، فدای چشم سیاهت
http://upload7.ir/images/83524254953910725183.gif
دیدگاه
-
پاسخ : تایمر های میکرو
سلام به اقا مسعود :nerd:
اول تشکر که توضیح خوب در رابطه با تایمر دادی ، اما یه سوال وقتی داریم با تایمر2 زمان میسازیم و کریستال رو به 2 پایه مذکور میزنیم زمان دقیق یک ثانیه رو میسازه و 2 تا سوال پیش میاد
1-RTC میکرو و آی سی DS1307 چه تفاوتی با هم دارن ؛ :eek:
2-اگه بخوایم در حد میلی ثانیه بشماریم باید چیکار کنیم؟ :angry:
وقتی گریبان عدم با دست خلقت می درید/وقتی ابد چشم تو را پیش از ازل می آفرید/وقتی زمین ناز تو را در آسمانها می کشید/وقتی عطش طعم تو را با اشکهایم می چشید/من عاشق چشمت شدم ، نه عقل بود و نه دلی/چیزی نمی دانم از این دیوانگی و عاقلی/یک آن شد این عاشق شدن ، دنیا همان یک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتی که من عاشق شدم شیطان به نامم سجده کرد/آدم زمینی تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشی و نه گلی/چیزی نمی دانم از این دیوانگی و عاقلی/.
دیدگاه
-
پاسخ : تایمر های میکرو
1 - شما با ds1307 میتونین علاوه بر داشتن ساعت دقیق ، تاریخ رو هم داشته باشین ، و همینظور قابلیت اتصال باتری بک پ برای جلو گیری از پاک شدن اطلاعات در صورت قطع برق رو داره!
آقا محسن هم در این مورد یه لینک گذاشتن که چند تا پست بالاتره !!!
2 - اگه توضیحاتی که دادم رو دقیق خونده باشین ، جواب رو پیدا میکنین ! باید با توجه به ظرفیت شمارش تایمر ، یه مقدار اولیه در داخل رججیستر تایمر مربوطه بنویسین و تایمر رو استارت کنین . برای نوشتن در تایمر هم از دستور ساده زیر استفاده میشه : (مثلا تایمر 1 )
کد:Timer1 = value
در انتظار تو چشمم سپید گشت و غمی نیست
اگر قبول تو افتد، فدای چشم سیاهت
http://upload7.ir/images/83524254953910725183.gif
دیدگاه
-
پاسخ : تایمر های میکرو
مرسی مسعود جان ، منهواسم به اون لینک هواسم نبود
وقتی گریبان عدم با دست خلقت می درید/وقتی ابد چشم تو را پیش از ازل می آفرید/وقتی زمین ناز تو را در آسمانها می کشید/وقتی عطش طعم تو را با اشکهایم می چشید/من عاشق چشمت شدم ، نه عقل بود و نه دلی/چیزی نمی دانم از این دیوانگی و عاقلی/یک آن شد این عاشق شدن ، دنیا همان یک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتی که من عاشق شدم شیطان به نامم سجده کرد/آدم زمینی تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشی و نه گلی/چیزی نمی دانم از این دیوانگی و عاقلی/.
دیدگاه
دیدگاه