Arkadaşlar 16f877 ile 12 servolu bir robotu yazılımsal pwm ile kontrol etmeye çalışıyorum
birkaç servoyu 4mhzde kontrol edebiliyorduk ancak servo sayısı arttınca problem çıkardığından 20 mhz kristal taktım devreya. kristali değiştirdikten sonra devreyi çalıştıramadık programlarken winpic800 kullanıyorum osilatörü HS seçtim yükleme ayarlarım şu şekilde
(http://img179.imageshack.us/img179/7645/adszwh.jpg)
Problem neden kaynaklanıyor olabilir daha önce 20 mhz de hiç çalışmadım yazılım ISIS da 20mhzde çalışıyor
Kullandığınız Pic 20Mhz ile çalışacak şekilde mi üretilmiş? 16f877 20/p ibaresi picin üzerinde yer alıyor mu?
20/p ibaresi picin uzerinde yer alıyor.
evet adnncr arkadaşın dediği gibi 20/p var
Yazdığınız kaynak koda bakın. PWM ile uğraşıyorsanız gerek picin registerleri gerek yazılımda ayarlanması gereken yerler vardır. Sonuçta 4MHZ den 20MHZ ye çıkış yapıyorsunuz. Yazılımınızda zamanlama ile ilgili rutin varsa 4 te farklı 20 de farklı olur. ikinci bir olasılık arızalı pic veya kristal olabilir.
yazılımsal pwm uyguluyoruz __delay_ms() kullanıyorum yazılımda kristali 20mhz ayarladım. proteusda sorunsuz çalışıyor dediğiniz gibi kristali kontrol edeyim...