[elektro] Mikroelektronika PIC szimulátor mit szimulál ?
potyo
potyo.ada at gmail.com
Fri May 27 09:58:20 CEST 2011
Ha az ebből generált hexet betöltöd az MPLAB-ba és ott szimulálod, ott
számol vagy sem? Meg én megnézném az asm listát is, mielőtt bármi máson
agyalok. Elvileg T0CON = 0xC4; hatására már a TMR0 regisztereknek
számolniuk kellene.
2011. május 27. 9:52 Kovács Kenéz írta, <nonoproblem at citromail.hu>:
> 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
>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list