The idea is that the chip sleeps until it gets an interrupt. This all works fine with 6 volts. I'm not setting the brown out to disabled here because I have to do it via the programmer (believe me, I've tried it both ways). I also set the internal oscillator with the programmer. It only has a setting for internal with or without the clock, not a frequency.
Code:
Thanks!Code:'---------------------------------------------------------------- ' includes '---------------------------------------------------------------- Include "modedefs.bas" '---------------------------------------------------------------- ' definitions '---------------------------------------------------------------- '---------------------------------------------------------------- ' constants '---------------------------------------------------------------- '---------------------------------------------------------------- ' variables '---------------------------------------------------------------- i var byte '---------------------------------------------------------------- ' init '---------------------------------------------------------------- init: ' set all VARs to zero clear ' set configuration fuses @ DEVICE pic16F628A, WDT_OFF ' turn watchdog timer off ' set up interrupt handler INTCON = %10010000 OPTION_REG = 0 on interrupt goto handleInterrupt low 7 ' set portb/0 to input TRISB.0 = 1 '---------------------------------------------------------------- ' main '---------------------------------------------------------------- main: sleep 0 pause 1 ' blink an LED on pin RB7 for i = 0 to 3 high 7 pause 300 low 7 pause 300 next goto main '---------------------------------------------------------------- ' handleInterrupt '---------------------------------------------------------------- disable handleInterrupt: ' globally turn off interrupts INTCON.7 = 0 ' clear the interrupt triggered flag INTCON.1 = 0 resume enable END
-Tom




Bookmarks