В последнее время я пытался создать программу, которая использует timer0 для переполнения с 255 до 0 и перехода к коду isr, который включит светодиод, если кнопка на выводе T0CKI была нажата один раз, как меня учили из учебника таблицы timer0 микрочипа, но он не работает Вообще, что бы я ни пытался изменить из кода, написанного в MPLAB X IDE, скомпилированного с XC8, вот код:
#include "config.h"
void interrupt ISR();
void INIT();
void main(){
INIT();
while(1){
if(PORTAbits.RA4 == 1){
TMR0--;
}
}
}
void interrupt ISR(){
if(INTCONbits.TMR0IF == 1 && INTCONbits.TMR0IE == 1){
TMR0 = 255;
INTCONbits.TMR0IF = 0;
PORTDbits.RD0 = 1;
}else{
PORTDbits.RD0 = 0;
}
}
void INIT(){
INTCON = 0b11100000;
OPTION_REG = 0b11100111;
TRISDbits.TRISD0 = 0;
PORTDbits.RD0 = 0;
TRISAbits.TRISA4 = 1;
TMR0 = 255;
}
это main.c, где я написал весь код config.h именно там я установил биты конфигурации с помощью Windows-> Configuration биты в MPLAB
заранее спасибо всем, кто очень ценит ответы