/[H7]/trunk/PIC/main.c
ViewVC logotype

Diff of /trunk/PIC/main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 21 by torben, Tue Jan 30 22:17:53 2007 UTC revision 22 by torben, Tue Jan 30 22:49:03 2007 UTC
# Line 139  void transmit_interrupt(void) Line 139  void transmit_interrupt(void)
139          RB2 = !RB2;          RB2 = !RB2;
140  }  }
141  */  */
142    //Timer1 er en 16 bit timer, der kører med en 1:8 prescaler,
143    // og er styret fra en ekstern 32768 Hz krystal
144    //Når at registrene preloades med 0xEFFF vil det resultere i en
145    //timer overflow ca hvert sekund
146    void timer1_interrupt(void)
147    {
148            RB2 = !RB2;
149            TMR1H = 0xEF;
150            TMR1L = 0xFF;
151    }
152  void interrupt interrupt_handler(void)  void interrupt interrupt_handler(void)
153  {  {
154          if (RCIF == 1)          if (RCIF == 1)
# Line 153  void interrupt interrupt_handler(void) Line 162  void interrupt interrupt_handler(void)
162                  TXIF = 0;                  TXIF = 0;
163          }          }
164          */          */
165            
166            if (TMR1IF == 1)
167            {
168                    timer1_interrupt();
169                    TMR1IF = 0;
170            }
171  }  }
172    
173  ///////////////////////////////////////////////////////////////////  ///////////////////////////////////////////////////////////////////
# Line 310  void interrupt_init(void) Line 325  void interrupt_init(void)
325                                    
326          TXIF = 0; //nulstil intterupt flag          TXIF = 0; //nulstil intterupt flag
327          RCIF = 0;          RCIF = 0;
328            
329            TMR1IE = 1; // Timer 1
330    
331          GIE = 1; //Global interrupt enable bit          GIE = 1; //Global interrupt enable bit
332  }  }
# Line 401  void i2c_init(void) Line 418  void i2c_init(void)
418  #endif  #endif
419  }  }
420    
421    void timer_init(void)
422    {
423            TMR1CS = 1; //use external clock
424            
425            T1CKPS1 = 1; //1:8 prescale
426            T1CKPS0 = 1;
427            
428            TMR1H = 0xEF;
429            TMR1L = 0xFF;
430    
431            T1OSCEN = 1; //enable oscillator circuit        
432            RD16 = 0; //normal 8 bit writes
433            TMR1ON = 1;
434    }
435    
436  char ReadTemp(void)  char ReadTemp(void)
437  {  {
# Line 426  void main(void) Line 456  void main(void)
456          serial_init(); //9600 8N1          serial_init(); //9600 8N1
457          ad_init();          ad_init();
458          io_init();          io_init();
459            timer_init();
460          interrupt_init();          interrupt_init();
461                    
462    
# Line 450  void main(void) Line 481  void main(void)
481                  }                  }
482                                    
483                  RB1 = global_led_0;                  RB1 = global_led_0;
484                  RB2 = global_led_1;          //      RB2 = global_led_1;
485                  RB3 = global_led_2;                  RB3 = global_led_2;
486                                    
487                  global_temp = ReadTemp();                  global_temp = ReadTemp();

Legend:
Removed from v.21  
changed lines
  Added in v.22

  ViewVC Help
Powered by ViewVC 1.1.20