PIC timing

Okay, I was curious about the actual speed my controller is running at, so I ran the following loop on it. If I'm not mistaken, I've set OSCCON to 8MHz, so at 4 clock/instruction I should see

0.5 uS pulses. My scope on RB4 shows pulses 5uS wide!

I'm out by a factor of 10. What have I not taken into account?

#include __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)

Org 0 goto Start Org 4 goto ISR ISR retfie

Start movlw 0x71 ;b'01110001' BANKSEL OSCCON movwf OSCCON

; initialize any register that might affect I/O BANKSEL IOCB clrf IOCB clrf WPUB clrf ANSEL clrf ANSELH

BANKSEL TRISA clrf TRISA ; PORTA all output clrf TRISB ; PORTB all output clrf TRISC ; PORTC all output

BANKSEL SSPCON bcf SSPCON, 5

;=== run timing loop === BSF PORTB,4 BCF PORTB,4 goto $-2 end

Reply to
randy.day
Loading thread data ...

The "goto $-2" takes two instruction times. I make it as, (in 0.5uS steps and 0V,5V) ...

5-0-0-0-5-0-0-0-5-0-0-0-5-0-0-0-5 ... I.e. 2uS repetition (500kHz), at a 1:3 duty cycle with 8MHz clock=2 mips.
Reply to
john jardine

If you are only measuring the part of the pulse that is high, it appears it should be 0.5 us. Check if your scope has a X10 horizontal magnification switch (my old Leader has a knob on the inside of the Variable Possition control (horizontal position) that is labeled, "PULL X10 MAG". Inadvertantly activating that control can throw you off.

By the way, goto takes 2 instruction cycles, so you may be getting a 0.5 us high pulse, followed by a 1 us low pulse.

Richard

Reply to
Richard Seriani
[snip]

ROFL! That's EXACTLY what it was! :D

I just got the scope last week as my early xmas present. I'm going to be giggling over this for the rest of the night...

Yep. The on/off ratio was correct, but it was all

*stretched* by a factor of 10, which seemed suspicious on a base-8 micro, but I *never* would have spotted that. :)

Cheers mate! You made my day!

Reply to
Randy Day

Randy,

Glad to be able to help. Thanks for letting me know.

Happy New Year.

Richard

Reply to
Richard Seriani

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.