Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Fpwm.c ile rahat.......

Başlatan apollaa, 03 Eylül 2009, 18:14:16

apollaa

bu yazılımın en önemli özelliği pwm frekansını "run mode" içinde kolay bir şekilde değiştirebilmesidir.
///////////////////////////////////////////////////////////
//                                                       //
//                      Fpwm.c                           //
//                                                       //
//   CCS C için program içerisinde PWM frekansını ve     //
//   duty cycle'ın yüzde olarak değerini değiştirmek     //
//   için kullanılabilecek bir fonksiyon.                //
//                                                       //
//   set_pwm(int32 fpwm, int duty, int32 fosc)           //
//                                                       //
//   duty: 1-100 arası değer alır. (yüzde olarak ifadesi)//
//                                                       //
//                Abdullah ASLAN                         //
//                     Elektronik Mühendisi              //
//                                                       //
///////////////////////////////////////////////////////////



 void set_pwm(int32 fpwm, int duty, int32 fosc)
      {
         int16 PR,S,b_duty;
         
         if (fpwm>fosc)         
         fpwm=fosc/4; 
         
         S= fosc/(4*fpwm);
         
         if (S<=256)
         {
         PR=S-1;
         setup_timer_2(T2_DIV_BY_1,PR,1);             
         }
         
         else if ((S/4)<=256)
         {
         PR=(S/4)-1;
         setup_timer_2(T2_DIV_BY_4,PR,1);        
         }     
         
         else
         {
         PR=(S/16)-1;
         setup_timer_2(T2_DIV_BY_16,PR,1);                 
         }
         
         b_duty=(4*PR*duty)/100;
         set_pwm1_duty(b_duty);        
      }
Vatan Sizden Hizmet Bekler ( Her Alanda)

drmp

teşekkürler eline sağlık