امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
تايمرها
نویسنده پیام
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #1
تايمرها
سلام
من چنتا مثال كاربردي درباره تايمر 0و1و2 ميخاستم.برنامش به زبان بيسيك باشه.
۱۲-شهریور-۱۳۸۷, ۱۱:۵۲:۴۹
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: تايمرها
يكم بيشتر توضيح بده كه چيشو مي خواي بدوني
pwm - timer - counter
آخه تايمرها حرف واسه گفتن زياد دارن و رو يه قسمت بحث شه بهتره ؟
۱۲-شهریور-۱۳۸۷, ۲۱:۲۹:۲۳
ارسال‌ها
پاسخ
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #3
RE: تايمرها
pwm راه اندازي موتور dc و timer واسه زمان هاي دقيق براي ساخت ساعت
از كتاب اقاي كاهه خوندم واون يكمي هم كه حاليم ميشد رو هم گاتي كردم.اگه اينا رو بگي حله!
۱۳-شهریور-۱۳۸۷, ۱۲:۵۰:۲۵
ارسال‌ها
پاسخ
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #4
RE: تايمرها
سلام
اول زمان
در مورد بدست آوردن زمان دقيق واسه ساعت از كدوم تايمر؟(دقيق ترين كدومه؟؟)
اگه اينو بگين بعدي در مورد pwm واسه موتور dcيه.
۱۳-شهریور-۱۳۸۷, ۱۸:۲۹:۴۳
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #5
RE: تايمرها
سلام دوباره .
تايمر 2 يه قابليت خوبي داره كه مي تونه از كرستال ساعت ( 32768 هرتز ) پالسهاش رو قبول كنه .
مي توني يه كرستال ساعت به پايه 28 و 29 در Atmega 32 وصل كني طبق دستورات زير تايمر دو را كريستال ساعت تغذيه كني .

کد:
Config Timer2 = Timer , Async = On , Prescale =128
Enable Interrupts
Enable Timer2
On Timer2 Ant
تايمر دو در مود تايمر بوده و از كريستال خارجي كه فركانش رو تقسيم بر 128 كرده تغذيه شده و در هر بار سرريز شدن وقفه به زير روال Ant مراجعه مي كند .
به عبارت ديگر در هر ثانيه يه بار در هر كجاي برنامه كه باشد به برنامه وقفه مراجعه كرده و پس مراجعه با دستور Return به ادامه برنامه اصلي بر مي گردد .
اگر Prescale =32 باشد در هر ثانيه 4 بار مراجعه مي كند و به همين ترتيب مي توان با تغيير عدد 32 زمان مراحعه را تغيير داد . البته هر عددي نمي توان گذاشت . فقط يه سري اعداد پيش فرض .

پرو‍ژه زير هم مي تونه كمكت كنه .
ساعت با تايمر لجوج ، ترموستات و نمايش تاريخ شمسي با AVR
۱۳-شهریور-۱۳۸۷, ۲۲:۲۹:۴۹
ارسال‌ها
پاسخ
تشکر شده توسط : 1nafar, mehrdadgh
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #6
RE: تايمرها
سلام
يه سوال كلي كه منو درگيره خودش كرده!
مهندس اين تنظيم فيوزبيتها واسه كلاك خارجي وكريستال وRTC ديگه چه صيغه ايه؟
كلاك خارجي با كريستال يا RTC چه فرقي دارن؟
اينا رو هم بگين فكر كنم حله!!!
۱۵-شهریور-۱۳۸۷, ۱۸:۰۰:۰۳
ارسال‌ها
پاسخ
1nafar غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,195
موضوع‌ها: 91
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 1577
( 4273 تشکر در 953 ارسال )
ارسال: #7
RE: تايمرها
سلام
بدست اوردن زمان برای تایمر از فرمول زیر هست
زمان=کریستال/(بیت تایمر * پرسکال)
در مثال زیر کریستال 1مگا هرتز است و پرسکال 1 میباشد
از تایمر کانتر 16 بیتی 1 اصتفاده شده بنابراین طبق فرمول تایمر بهد از 65536 میکرو ثانیه سر ریز میشود
میکرو ثانیه65536=1000000/(1*16^2)
کد php:
$regfile "m32def.dat"
$crystal 1000000
Config Timer1 
Timer Prescale 1
Enable Interrupts
Enable Timer1
Enable Ovf1
On Ovf1 Q
Start Timer1
Do
Locate 1 1
Lcd Timer1
Loop
Q
:
Locate 2 1
Lcd 
"vdv"
Return 
۱۵-شهریور-۱۳۸۷, ۱۸:۰۹:۳۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #8
RE: تايمرها
ممنون
ولي من تو برنامه نويسيش مشكل دارم مشكل من اينه:
اين تنظيم فيوزبيتها واسه كلاك خارجي وكريستال وRTC ديگه چه صيغه ايه؟
كلاك خارجي با كريستال يا RTC چه فرقي دارن؟
۱۵-شهریور-۱۳۸۷, ۱۸:۲۱:۲۶
ارسال‌ها
پاسخ
1nafar غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,195
موضوع‌ها: 91
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 1577
( 4273 تشکر در 953 ارسال )
ارسال: #9
RE: تايمرها
سلام
میکرو ها برای راه اندازی و تنظیم عملکردشون به یه نوسان ساز نیاز دارند که این نوسان ساز میتونه کریستال ، یا نوسان ساز داخلی یا کلاک خروجیه یه دستگاه دیگه باشه
کریستال : یه قطعه دو پایه هست که به پایه xtal 1 , xtal2 کمیکرو میخوره و کارش نوسان سازی هست ، در حالت عادی میکرو از نوسان ساز داخلی خودش که یه نوسان ساز rc هست و روی 1 مگا هرتز تنظیم شده استفاده میکنه که شما میتونی با تغییر فیوز بیت ها از کریستال خارجی استفاده کنید
rtc :rtc یه ساعت مجزا هست که به دیگر عمل کرد های میکرو کاری نداره و زمان رو به طور دقیق میشماره ، در این حالت کریستالی جدا از کریستال میکرو به دو پایه tosc1 , tosc2 متصل میشه ، فرکانس کریستال 32.768 کیلو هرتز هست
فیوز بیت ها رو دارم جمع اوری میکنم تا فردا نحوه تنظیم همشون رو میزلرم
۱۵-شهریور-۱۳۸۷, ۱۸:۲۲:۵۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mehrdadgh, t3r!p3000
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #10
RE: تايمرها
سلام
در مورد كلاك خارجي كه گفتين ميشه از يه دستگاه ديگه گرفت مثلا چه دستگاهي؟؟
rtc رو فقط تو حالت تايمر 2 متصل ميكنيم؟؟؟
چرا وقتي كه ميخايم زمان دقيق بدست بياريم بايد كريستال بذاريم مگه فركانس ميكرو 8مگا نيست پس چرا بايد يه كريستال به همون فركانس بزاريم؟؟؟
۲۰-شهریور-۱۳۸۷, ۱۶:۰۰:۱۶
ارسال‌ها
پاسخ
mmajid آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 0
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #11
RE: تايمرها
سلام
ميخواهم از تايمر0 در ATMEGA32 طوري استفاده كنم كه اگر PINB.0==1 شد تايمر 2 ثانيه بشمارد و وقتي شمارش تمام شد ‌PORTC.0==1 شود.
برنامه ي اين كار با C چه طور ميشود؟
ممنون ميشم اگر كمكم كنيد.[/quote]
با تشكر.
۲۰-شهریور-۱۳۸۷, ۱۹:۰۶:۰۳
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS