سلام من دو تا مشکل دارم.اول اینکه من هر وقت میخوام با کانتر 1 کار کنم بسکام اونو نمیشناسه یعنی وقتی مینویسم:enable counte1. خطای اون رو مینویسه:(unkouwn interrupts source(counter1 ایسی من مگا 8. دوم اینکهpwm که از طریق فرمول بدست میارم با اونی که از طریق برنامه مینویسم و تو پروتوس نشون میده فرق میکنه.واسه محاسبه شکل موج خروجی کرسیتال داخلی باید محاسبه بشه یا خارجی؟ میشه دقیقا بگید واسه تولید پالس از چه فرمولی استفاده میشه؟
سلام
مشكل اولو نميدونم
ولي براي مشكل دوم بستگي داره كه رجيستر TCCR رو چه طوري تغيير بدين ، ميتونين هم از يه پايه خارجي مثل T0 براي تايمر 0 و T1 براي تايمر1 و TSOC براي تايمر 2 استفاده كنين . اگر هم ميخواين با كلاك خود ميكرو كار كنين ( چه خارجي و چه داخلي بسته به فيوز بيت ) با همين رجيستر ميتونين خودش يا قسمي از كلاك رو انتخاب كنين .
در مورد فرمولش اگر تو مد PWM سريع هستين فرمولهاش به اين شكله :
کد:
dutu-cycle=pwm/max-pwm
f=clock/max-pwm
براي مد تصحيح فاز :
کد:
duty-cycle=pwm/max-pwm
f=clock/(2*maxpwm)