وضع تعديل عرض النبضة PWM بقناتين ، والتحكم فى تزايد وتناقص عرض النبضات  :

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

وضع تعديل عرض النبضة PWM بقناتين ، والتحكم فى تزايد وتناقص عرض النبضات  :

مُساهمة من طرف Admin في الثلاثاء مايو 19, 2015 6:51 pm

وضع تعديل عرض النبضة PWM بقناتين ، والتحكم فى تزايد وتناقص عرض النبضات  :

الدائرة الكهربية :



البرنامج :


الكود:

/******************************************************
      PIC16F877 - UP / DOWN Duty Cycle PWM1 Control
*******************************************************/
#include <16f877.h>     //
#use delay (clock=4000000) //
int16  i=5; // declare a variable

/********* Main function *******/

void main ( )
{
   setup_ccp1(CCP_PWM);  // setup CCP1 in PWM mode
   setup_ccp2(CCP_PWM);  // setup CCP2 in PWM mode

   setup_timer_2(T2_DIV_BY_16,170,1); // setup Timer2

   set_pwm1_duty(i); // set PWM1 on base of variable i
   set_pwm2_duty(i); // set PWM2 on base of variable i

   while(true) // endless loop
   {
      if (input(pin_a0)) // test increasing button at RA0
      {
         delay_ms(20);   // Button Debouce
         while(input(pin_a0)); // Wait for button depressed
         i+=3; // i=i+3 increase 3 steps each time , full range from 0-1024 ,but :.

         if (i>=170) // i maximum increasing value = 170 ,
            i=170;

         set_pwm1_duty(i); // set PWM1
         set_pwm2_duty(i); // set PWM2
      }

      if (input(pin_a1)) // test decreasing button at RA1
      {
         delay_ms(20);  // Buton Debounce
         while(input(pin_a1)); // Wait for button depressed
         i-=3;  // i=i-3 increase 3 steps each time , full range from 0-1024 , but :

         if (i<5) // i minimum decreasing value = 5
            i=5;

         set_pwm1_duty(i); // set PWM1
         set_pwm2_duty(i); // set PWM2
      }
   }
}


Admin
Admin

عدد المساهمات : 1003
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى