Timer
Timer
#include <xc.h>
void init_timers() {
T1CON = 0b00110001; // Enable Timer1, 1:8 prescaler, Internal clock
OPTION_REG = 0b00000100; // Use 1:8 prescaler for Timer0
void stop_spin_timer() {
TMR0 = 0;
TMR0ON = 0;
spin_overflow_count = 0;
}
void stop_wash_timer() {
TMR1 = 0;
TMR1ON = 0;
wash_overflow_count = 0;
}
if (TMR1IF) {
// Timer1 Overflow Interrupt
TMR1IF = 0; // Clear Timer1 flag
if (wash_overflow_count < wash_timer_limit) {
wash_overflow_count++;
} else {
stop_wash_timer();
}
}
}
void main() {
init_timers();
start_wash_timer(300000); //wash for 5 minutes
start_spin_timer(300000); //spin for 5 minutes
while (1) {
}
}
// Configuration Bits
#pragma config FOSC = HS
#pragma config WDTE = OFF
#pragma config PWRTE = OFF
#pragma config BOREN = ON
#pragma config LVP = OFF
void main() {
TRISC2 = 0; // Set RC2 as Output (PWM Pin)
while(1) {
}
}