C Code for Interfacing Delay routine for PIC 16F87X

Microcontroller Topics
Post Reply
User avatar
Magneto
Major
Major
Posts: 430
Joined: Wed Jul 15, 2009 1:52 pm
Location: London

C Code for Interfacing Delay routine for PIC 16F87X

Post by Magneto » Sat Oct 24, 2009 9:47 am

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
Post Reply

Return to “Microcontrollers”