Здравствуйте. Помогите ,пожалуйста, организовать несколько таймеров с разной частотой. ( MPLAB на СИ):
Имеется вот такая программа в виде шаблона, где мигают светодиоды с одинаковой частотой.
void main(void) {
InitializeSystem();
while (1) {
}
}
static void InitializeSystem(void) {
tris_LED1_pin = OUTPUT_PIN;
tris_LED2_pin = OUTPUT_PIN;
tris_LED3_pin = OUTPUT_PIN;
LED1 = 0;
LED2 = 0;
LED3 = 0;
INTCONbits.GIEL = 1;
INTCONbits.GIEH = 1;
RCONbits.IPEN = 0;
#include ‹p18cxxx.h›
#include "ISR.h"
#include "io_cfg.h"
unsigned char flag = 0;
#pragma interrupt HighPriorityISRCode
void HighPriorityISRCode() {
if (INTCONbits.TMR0IF) {
if (flag == 0) {
TMR0H = 0xB3;
TMR0L = 0xB4;
LED1 = 1;
LED2 = 1;
LED3 = 1;
flag = 1;
} else {
LED1 = 0;
LED2 = 0;
LED3= 0;
flag = 0;
}
INTCONbits.TMR0IF = 0;
}
}