> Wouldn't it take multiple overflows to count to a second if I switch > my OSC up to 8Mhz ? > Wouldn't that involve me using some memory location as a place to > count the number of overflows ? Yes > Actually, the only reason my OSC is set so low, is because this is > the easy'est way for me to count seconds. I welcome any > alternative that works at 8Mhz OSC setting with a 1x prescaler > setting OK, you can switch to Timer1, which is 16-bit + 3-bit pre-scaler. That gives you a division of up to 524,288 between rollovers. At 8MHz (2MHz instruction cycles) = 2,000,000 / 524,288, or roughly 4 interrupts / second without re-loading TMR1. If that's too rough (if you want it exactly 1 second), then you have at least three options 1) re-loading. See http://www.piclist.com/techref/microchip/time.htm You'll have seen Dmitriy's example DELAY1S movlw -const movwf TMR0 bcf INTCON,T0IF 2) use a 32kHz crystal on T1OSC. The binary division will output TMR1 rollovers that neatly divide into 1 second 3) change to a hex value for the main oscillator. This will output TMRx rollovers that divide neatly into 1 second The problem is that 8MHz is a decimal value, and internally the PIC is binary/hexadecimal. When you divide 2000000 by, for example, 256 you'll get 7812.5. Not an impossible number to work with but a hex value crystal will divide evenly by 256. I keep a stock of 9.3804MHz, 18.432MHz, and 19.6608MHz for that reason (and also RS232) as well as 10s and 20s - sometimes you need a decimal result. Depends what in the code has priority -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist