HI guys here i am using pic16f877a microcontroller to generate 5 second delay using timer1

// CONFIG

#pragma config FOSC = HS    // Oscillator Selection bits (HS oscillator)

#pragma config WDTE = OFF    // Watchdog Timer Enable bit (WDT disabled)

#pragma config PWRTE = OFF   // Power-up Timer Enable bit (PWRT disabled)

#pragma config BOREN = OFF   // Brown-out Reset Enable bit (BOR disabled)

#pragma config LVP = OFF    // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)

#pragma config CPD = OFF    // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)

#pragma config WRT = OFF    // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)

#pragma config CP = OFF     // Flash Program Memory Code Protection bit (Code protection off)


// #pragma config statements should precede project file includes.

// Use project enums instead of #define for ON and OFF.


#include <xc.h>

#define _XTAL_FREQ 20000000

void timer1isr();

void delay(int a);

int main()

{

  TRISD=0X00;

  while(1)

  {

    PORTD=0Xff;

    delay(5);//delay for 5 seconds;

    PORTD=0X00;

    delay(5);

}

   

}

void timer1isr()//for creating 1 second delay;

{

  

  int i;

  TMR1ON=0X01;

 for(i=0;i<82;i++) {

  TMR1H=TMR1L=0;

  while(!TMR1IF);

  TMR1IF=0;  

 }

  

}

void delay(int a)

{

 int j=0;

 for (j=0;j<=a-1;j++)

 {

   timer1isr();

 }

}


要查看或添加评论,请登录

Embedded enthusiastic的更多文章

  • STM32G0B1CBT6 internal flash operation.

    STM32G0B1CBT6 internal flash operation.

    #include "main.h" #include "stm32g0b1xx.

  • CAN-receiver.

    CAN-receiver.

    This is the CAN-receiver . The receiver accpets data from CAN-transmitter and when data-match happens INT pin goes low…

    3 条评论
  • using uart of pic16f877a to transfer sensor values

    using uart of pic16f877a to transfer sensor values

    #define _XTAL_FREQ 16000000 #define RS RD2 #define EN RD3 #define D4 RD4 #define D5 RD5 #define D6 RD6 #define D7 RD7…

  • Interfacing lcd with pic16f877a

    Interfacing lcd with pic16f877a

    define _XTAL_FREQ 16000000 #define RS RD2 #define EN RD3 #define D4 RD4 #define D5 RD5 #define D6 RD6 #define D7 RD7…

  • Mini servo program by pic16f877a

    Mini servo program by pic16f877a

    #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = ON // Watchdog Timer Enable…

  • Smoke detector sensor interface with pic16f877a

    Smoke detector sensor interface with pic16f877a

    // 'C' source line config statements // CONFIG #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)…

  • TOAY i am using pic16f877a microcontroller to generate 10bit pwm

    TOAY i am using pic16f877a microcontroller to generate 10bit pwm

    #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = OFF // Watchdog Timer…

  • program the pic16f877a timer0 for 10sec delay

    program the pic16f877a timer0 for 10sec delay

    // PIC16F877A Configuration Bit Settings // 'C' source line config statements // CONFIG #pragma config FOSC = HS //…

社区洞察

其他会员也浏览了