TMR0 – IRQ This example modifies TMR0 in the IRQ to obtain a roll over every 1mS. You could use a timer with a prescaller for this, but in this example we show how it’s possible on TMR0 with no prescaller (leaving your prescaller timers available for other uses) Using your own irq function
Category: Timers and Delays
uS Delay
This works really well in XC8 //******************************* //******************************* //********** DELAY #uS ********** //******************************* //******************************* void ds18b20_delay_us(volatile unsigned char us_count) //input value will be in W. "Volatile" attribute prevents an "unused" warning. { #asm temp_ds18b20_dlyloop: addlw 0xFF ;1 clk 0xff=-1, 0xfe=-2, etc //<<<<<<<<<<<<<<<<<<<<SET AS NEEDED btfsc STATUS,0 ;1 clk will be clear if W was smaller […]