Advertisement
ango

PIC16F88 _ FREQ TMR2 switch

Nov 26th, 2012
355
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.37 KB | None | 0 0
  1. void interrupt() {
  2.   if (TMR2IF_bit) {
  3.     TMR2IF_bit = 0;           // mazu FLAG
  4.    // TMR2 = 0;                 // resetuju TMR2    filip rika ze nemusim
  5.     PORTB = ~PORTB;           // prepinam PORTB
  6.   }
  7. }
  8.  
  9. void main() {
  10.      ANSEL = 0;       //vypneme
  11.      CMCON = 7;       //sracky
  12.      TRISB = 0;       //B vystup
  13.      TRISA = 255;     //vstup
  14.      T2CON = 39;      //nastaveni tmr2 - zapnutej, postsc:4 / presc: 16
  15.      INTCON = 192;    //GLOBAL INTERRUPT ENABLED + PEIE -> preruseni od perif.
  16.      while(1){
  17.      switch(PORTA & 0x07){
  18.                    case 0:
  19.                         PR2 = 156;
  20.                         break;
  21.                    case 1:
  22.                         PR2 = 78;
  23.                         break;
  24.                    case 2:
  25.                         PR2 = 39;
  26.                         break;
  27.                    case 3:
  28.                         PR2 = 20;
  29.                         break;
  30.                    case 4:
  31.                         PR2 = 10;
  32.                         break;
  33.                    case 5:
  34.                         PR2 = 5;
  35.                         break;
  36.                    case 6:
  37.                         PR2 = 2;
  38.                         break;
  39.                    case 7:
  40.                         PR2 = 1;
  41.                         break;
  42.                    default:
  43.                         PR2 = 156;
  44.      }    }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement