0% found this document useful (0 votes)
17 views

Code:: #Pragma Config OSC HS #Pragma Config WDT OFF

coding,practical work

Uploaded by

Prince Sam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Code:: #Pragma Config OSC HS #Pragma Config WDT OFF

coding,practical work

Uploaded by

Prince Sam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

CODE:

#include<p18f452.h>

#pragma config OSC = HS

#pragma config WDT = OFF

void delay1(void);

void delay2(void);

void delay8(void);

void chk_isr(void);
void INT0_ISR(void);

#pragma codeMy_HiPrio_Int=0X0008
void My_HiPrio_Int(void)
{

_asm

GOTO chk_isr

_endasm

#pragma code

#pragma interrupt
chk_isr void
chk_isr (void)
{

if(INTCONbits.INT0IF==1)
INT0_ISR();
}
void main(void)

TRISC=0x0;

TRISD=0x0;
TRISB=255;
INTCONbits.INT0IF=0;
INTCONbits.INT0IE=1;
INTCONbits.GIE=1;

while(1){

PORTCbits.RC0 =1;
PORTDbits.RD2 =1;
delay8();
PORTCbits.RC1=1;
delay2();

PORTCbits.RC0 =0;

PORTDbits.RD2 =0;

PORTCbits.RC1 =0;

PORTCbits.RC2 = 1;
PORTDbits.RD0=1;
delay8();
PORTDbits.RD1=1;
delay2();
PORTCbits.RC2 =0;

PORTDbits.RD0 =0;

PORTDbits.RD1 =0;
}

void INT0_ISR(void)

PORTCbits.RC0 =0;

PORTDbits.RD2 =0;

PORTCbits.RC1 =0;

PORTCbits.RC2 =0;

PORTDbits.RD0 =0;

PORTDbits.RD1 =0;

while(PORTBbits.RB0!=0)
{ PORTCbits.RC1=1;
PORTDbits.RD1=1;
delay1();
PORTCbits.RC1=0;
PORTDbits.RD1=0;
delay1();

INTCONbits.INT0IF=0;

_asm
GOTO main

_endasm

void delay1(void){
unsigned char i;
for(i=0;i<16;i++){
T0CON =
0x08;
TMR0L
= 0x00;
TMR0H
= 0x00;
T0CONbits.TMR0ON = 1;
while(INTCONbits.TMR0IF == 0);

T0CONbits.TMR0ON =0;

INTCONbits.TMR0IF =0;

void delay2(void){

unsigned char i;

for(i=0;i<31;i++){
T0CON = 0x08;
TMR0L = 0x00;
TMR0H = 0x00;
T0CONbits.TMR0ON = 1;

while(INTCONbits.TMR0IF == 0);

T0CONbits.TMR0ON =0;

INTCONbits.TMR0IF =0;

void delay8(void){
int i;
for (i=0;i<=123;i++){
T0CON = 0x08;
TMR0L = 0x00;

TMR0H = 0x00;

T0CONbits.TMR0ON = 1;
while(INTCONbits.TMR0IF == 0);

T0CONbits.TMR0ON =0;

INTCONbits.TMR0IF =0;

You might also like