من به سه تا pwm نیاز دارم و می خوام از atmega8 استفاده کنم،
برای 2تاش از تایمر کانتر 1 میکرو استفاده کردم این دستور رو نوشتم:
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
Pwm1a = 0
Pwm1b = 0
ولی با اینکه داخل دیتاشیت این میکرو نوشته که از تایمر کانتر 2 هم میشه در مد pwm استفاده کرد،(تو help برنامه هم نوشته) اما وقتی دستور زیر رو نوشتم
Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
Compare2 = 0
و پروگرام کردم، بعد به پایه های متناظر میکرو led اضافه کردم و مقدار compare سه pwm رو از صفر تا 255 افزایش دادم دو led که به Pwmهای کانتر 1 وصل بودن درست کار کردن ولی pwm کانتر 2 درست کار نمی کنه، البته چون خود برنامه در config کانتر 2 در مد pwm همراهی نمی کنه احتمالا کد رو اشتباه نوشتم
اگر لطف کنید درست کد رو بنویسید ممنون میشم
برای 2تاش از تایمر کانتر 1 میکرو استفاده کردم این دستور رو نوشتم:
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
Pwm1a = 0
Pwm1b = 0
ولی با اینکه داخل دیتاشیت این میکرو نوشته که از تایمر کانتر 2 هم میشه در مد pwm استفاده کرد،(تو help برنامه هم نوشته) اما وقتی دستور زیر رو نوشتم
Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
Compare2 = 0
و پروگرام کردم، بعد به پایه های متناظر میکرو led اضافه کردم و مقدار compare سه pwm رو از صفر تا 255 افزایش دادم دو led که به Pwmهای کانتر 1 وصل بودن درست کار کردن ولی pwm کانتر 2 درست کار نمی کنه، البته چون خود برنامه در config کانتر 2 در مد pwm همراهی نمی کنه احتمالا کد رو اشتباه نوشتم
اگر لطف کنید درست کد رو بنویسید ممنون میشم






دیدگاه