[elektro] Mikroelektronika PIC szimulátor mit szimulál ?

Kovács Kenéz nonoproblem at citromail.hu
Fri May 27 09:52:22 CEST 2011


Hali !

PIC18F14K50, TMR0 vagy TMR1 vagy TMR3 bekapcsolása / elindítása nem megy !
Sem a valóságban, sem a szimulátorban.
Sebaj, megnézzük a gyári sample programot (PIC18F87J60-ra).

Íme:

unsigned cnt;

void interrupt() {
  if (TMR0IF_bit) {
    cnt++;             // Increment value of cnt on every interrupt
    TMR0L  = 96;
    TMR0IF_bit = 0;    // clear TMR0IF
  }
}

void main() {

  ADCON1 |= 0x0F;      // Configure AN pins as digital
  CMCON  |= 7;         // Disable comparators

  cnt = 0;             // Initialize cnt
  TRISB = 0;           // PORTB is output
  PORTB = 0xFF;        // Initialize PORTB

  T0CON  = 0xC4;       // Set TMR0 in 8bit mode, assign prescaler to TMR0
  INTCON = 0xC0;       // Set GIE, PEIE
  TMR0IE_bit = 1;      // Enable TMRO interrupt

  do {
    if (cnt >= 1250) {
      PORTB = ~PORTB;  // Toggle PORTB LEDs
      cnt = 0;         // Reset cnt
    }
  } while(1);          // endless loop
}

Csakhogy ez sem megy a szimulátor szerint ! 
A timer bekapcsolása után a TMR0L és TMR0H regisztereknek növekedniük kellene.
Ezzel szemben stabilan nullán állnak !
Akkor mit szimulál a szimulátor ?

Vagy elnéztem valamit ?

safi



More information about the Elektro mailing list