Page 1 of 1

C Code for Interfacing Delay routine for PIC 16F87X

Posted: Sat Oct 24, 2009 9:47 am
by Magneto
delay.h
(4.89 KiB) Downloaded 339 times
always.h
(6.39 KiB) Downloaded 331 times


#ifndef __DELAY_C
#define __DELAY_C

#include <pic.h>
#include "always.h"

unsigned char delayus_variable;

#include "delay.h"

void DelayBigUs(unsigned int cnt)
{
unsigned char i;

i = (unsigned char)(cnt>>8);
while(i>=1)
{
i--;
DelayUs(253);
CLRWDT();
}
DelayUs((unsigned char)(cnt & 0xFF));
}

void DelayMs(unsigned char cnt)
{
unsigned char i;
do {
i = 4;
do {
DelayUs(250);
CLRWDT();
} while(--i);
} while(--cnt);
}

//this copy is for the interrupt function
void DelayMs_interrupt(unsigned char cnt)
{
unsigned char i;
do {
i = 4;
do {
DelayUs(250);
} while(--i);
} while(--cnt);
}

void DelayBigMs(unsigned int cnt)
{
unsigned char i;
do {
i = 4;
do {
DelayUs(250);
CLRWDT();
} while(--i);
} while(--cnt);
}

void DelayS(unsigned char cnt)
{
unsigned char i;
do {
i = 4;
do {
DelayMs(250);
CLRWDT();
} while(--i);
} while(--cnt);
}

#endif