[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