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) |
162 |
TXIF = 0; |
TXIF = 0; |
163 |
} |
} |
164 |
*/ |
*/ |
165 |
|
|
166 |
|
if (TMR1IF == 1) |
167 |
|
{ |
168 |
|
timer1_interrupt(); |
169 |
|
TMR1IF = 0; |
170 |
|
} |
171 |
} |
} |
172 |
|
|
173 |
/////////////////////////////////////////////////////////////////// |
/////////////////////////////////////////////////////////////////// |
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 |
} |
} |
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 |
{ |
{ |
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 |
|
|
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(); |