Wizard da ADC ayarları ve pwm hakkında 2 soru..

Başlatan fbasaris, 18 Kasım 2014, 22:39:39

fbasaris



16f877A daki tüm analog girişleri kullanmak istediğim bir projem var. Yukarıdaki resimde görüleceği üzere ünits yazan yerde 3 seçenek var. 
0-1023 seçersem 10 bit 0-255 seçersem 8 bitlik bir dönüşüm mü oluyor?

Ayrıca units in altında clock değerleri var. 16f877a nın datasheetine baktım. bu konu ile ilgili bir tablo ADC kısmında göremedim. sağlıklı bir çevrim için hangi seçeneği seçmeliyim??

Son olarak aynı sihirbazla CCP1 ve CCP2 uçlarını PWM uçları olarak kullanmak istiyorum. Frekansı ve duty cycle ı seçiyorum. Mesela 20 Khz ve %100 gibi bir değer giriyorum.  Create dedikten sonra açılan programda

setup_timer_2(T2_DIV_BY_1,249,1);      //50,0 us overflow, 50,0 us interrupt
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
set_pwm1_duty((int16)997);
set_pwm2_duty((int16)997);
satırları geliyor.

Program içinde duty değiştirirken buradaki gibi değerlerin önünde her defasında (int16) ibaresini kullanmak zorunda mıyım..

teşekkürler..

Bu arada ccs c demo yani son sürümü ..orjinal ve süre kısıtlamalı. kırık felan değil..


sadogan

Alıntı Yap
16f877A daki tüm analog girişleri kullanmak istediğim bir projem var. Yukarıdaki resimde görüleceği üzere ünits yazan yerde 3 seçenek var. 
0-1023 seçersem 10 bit 0-255 seçersem 8 bitlik bir dönüşüm mü oluyor?

Evet

Alıntı Yap
Ayrıca units in altında clock değerleri var. 16f877a nın datasheetine baktım. bu konu ile ilgili bir tablo ADC kısmında göremedim. sağlıklı bir çevrim için hangi seçeneği seçmeliyim??
internal rc iyi
Alıntı Yap
Son olarak aynı sihirbazla CCP1 ve CCP2 uçlarını PWM uçları olarak kullanmak istiyorum. Frekansı ve duty cycle ı seçiyorum. Mesela 20 Khz ve %100 gibi bir değer giriyorum.  Create dedikten sonra açılan programda

setup_timer_2(T2_DIV_BY_1,249,1);      //50,0 us overflow, 50,0 us interrupt
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
set_pwm1_duty((int16)997);
set_pwm2_duty((int16)997);
satırları geliyor.

Program içinde duty değiştirirken buradaki gibi değerlerin önünde her defasında (int16) ibaresini kullanmak zorunda mıyım..
Hayır deyilsin
unsigned int16 pwm_value;
16 bitlik değişken tanımlayıp
set_pwm1_duty(pwm_value);
bu şekilde kullanabilirsiniz.

fbasaris


aliveli

adc clock değerleri osilatör hızına göre değişir

Huzame

Merhabalar hazır konu açılmışken benim de bir sorum olacak Ccs c wizard ile bir proje ayarladım diyelim daha sonra yine wizardı kullanarak değişiklik yapabilir miyim? Yanıtınız evet ise nasıl? teşekkurler