منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

برنامج مولد نبضات نبضة كل واحد ثانية :

اذهب الى الأسفل

برنامج مولد نبضات نبضة كل واحد ثانية : Empty برنامج مولد نبضات نبضة كل واحد ثانية :

مُساهمة من طرف Admin في الجمعة مايو 01, 2015 2:38 pm

برنامج مولد نبضات نبضة كل واحد ثانية :

الكود:

/******************************************************
      Timer0-1 application with PIC16F877
    *******************************************************/
#include <16f877.h>    //
#use delay (clock=4000000) //

int i=0; //

//****************** Timer0 interrupt ********************
#int_timer0  // Timer0 interrupt
void  timer0_isr ()  // Interrupt function name
{
    set_timer0(60);      // Put initial value in TMR0 register
//256 * (256 – 60) = 50176 us

    i++;         //i value is increased by 1
    if (i==10)        // if i = 10 , led on  t = 10 * 50176 = ~0.5 sec
      output_high(pin_b0);
   
    if (i==20)        // if i = 20 ,t=1s, led off , and reset counter
      {
          output_low(pin_b0);
          i=0;
      }
}

/********* main function ********/

void main ( )
{
 
  set_tris_b(0x00);  //
  output_b(0x00);    //

  setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); //
  set_timer0(60);  //
  enable_interrupts(INT_timer0); //
  enable_interrupts(GLOBAL);    //

  while(1);  //

 }


برنامج مولد نبضات نبضة كل واحد ثانية : 218

Admin
Admin

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

https://fathallaabdelaziz.forumarabia.com

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

الرجوع الى أعلى الصفحة


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