Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Diy duvaljka, jbc lemilica, led svetlo, mikroskop
TMR0 prekid se kod tebe desi odmah nakon IOC pa ti je na RA5 uvek vrlo kratak impuls.
Pri podešavanju tajmera neophodno je da obrišeš interrupt flag pa da nakon toga dozvoliš prekid.
Dakle, TMR0 postavke treba da idu ovako:
Code:
void timer0_initialise(void)
{
    //1.2 ms x (xtail / 4)
    // 0.0012 * 8000000 = 9600 ticks ; prescaler=64 = 9600/64 = 150 ticks for 1.2ms

    // writing to TMR0 resets prescaler, so you need to set prescaler every time!
    TMR0 = 105; // start at 105 ticks (255 - 150)

    OPTION_REGbits.TMR0CS = 0; //Internal instruction cycle clock (FOSC/4)
    OPTION_REGbits.PSA = 0; // Prescaler is assigned to the Timer0 module
    OPTION_REGbits.PS = 0b101; //prescaler 64

    //000 1 : 2
    //001 1 : 4
    //010 1 : 8
    //011 1 : 16
    //100 1 : 32
    //101 1 : 64
    //110 1 : 128
    //111 1 : 256
  
    INTCONbits.TMR0IF = 0; // !!! Ovo dodaj !!!
    INTCONbits.TMR0IE = 1; //enable timer0
}

Impuls na RA5 će nakon toga biti oko 1.2ms.
Reply


Messages In This Thread
RE: Diy duvaljka, jbc lemilica, led svetlo, mikroskop - by gorankg - 01-12-2023, 10:27 PM

Forum Jump:


Users browsing this thread: 2 Guest(s)