#include #define izlaz RB1 #define ogranicenje 39 //sa ukljucenim prescalerom od 256 to je oko 10ms unsigned char vrednost_tajmera; void interrupt //pocinje rutina za prekid intt(void) { if(T0IF){ //obradjuje tajmerski interapt T0IF = 0; // resetuje TMR0 interrupt TMR0=ogranicenje; //upisuje vrednost 39 } if( INTF){ //obradjuje RB0/INT interapt INTF=0; //resetuje vanjski interapt RB0/INT vrednost_tajmera=TMR0; //ocitava tajmer TMR0=0; //brise tajmer } } //zavrsava rutina za prekid void main (void){ vrednost_tajmera=ogranicenje; TMR0=ogranicenje; PORTB=0b00000000; TRISB = 0b00000001; //RB0 je ulaz ostali pinovi RB1...RB7 izlazi OPTION=0b11000111; //prescaler je 256,RB0/INT generise prekid na uzlaznu ivicu INTCON = 0b10110000; // ukljucen vanjski interapt RB0/INT, TMR0 interapt... while(1){ asm(" clrwdt"); //brise watchdog timer ako je ukljucen if(vrednost_tajmera