Kod: Markera allt
//interrupt
void interrupt()
{
if(INTCON.INTF == 1)
{
INTCON.INTF = 0; //clear intrerrupt
PORTB = 0b11111111; //Trigger the flash
delay_ms(20); //wait to be shure that the flash has triggerd
PORTB = 0; //release flash circut
}
}
//Main
void main()
{
//input output assignment
TRISB = 0b00001101; //RB0 sensor input RB1 Flash trigger output RB2-3 Input button RB4-7 N-A
//Timer and other settings
OPTION_REG = 0b11000000; //PORTB Pull-ups are dissabled, interrupt on rising edge
INTCON.GIE = 1;
INTCON.INTE = 1;
ANSEL = 0; // Configure AN pins as digital I/O
ANSELH = 0;
IOCB = 0;
//Clearing and setting regs, bits and varibles
PORTB = 0; //Clears PORTB
while(1);
}