I try different variant of PBP code; no result.
I find the example of Mr.Bruce :
Code:
' IR carrier generator routines. Freq.inc.
Cycles VAR BYTE ' Number of carrier cycles
GOTO OverFreq ' jump over pulse routines
' Generate "Cycles" number of 40kHz pulses
ASM
_Pulse40
bcf IRTX,PIN ; 1uS, LED=on
goto $+1 ; + 2uS = 3uS
goto $+1 ; + 2uS = 5uS
goto $+1 ; + 2uS = 7uS
goto $+1 ; + 2uS = 9uS
goto $+1 ; + 2uS = 11uS
goto $+1 ; + 2uS = 13uS
bsf IRTX,PIN ; 1uS, LED=on
goto $+1 ; + 2uS = 3uS
goto $+1 ; + 2uS = 5uS
goto $+1 ; + 2uS = 7uS
goto $+1 ; + 2uS = 9uS
decfsz _Cycles,f ; + 1uS = 10S
goto _Pulse40 ; + 2uS = 12uS
return ; Return to caller
ENDASM
' Generate "Cycles" number of ~38.4kHz pulses
ASM
_Pulse38
bcf IRTX,PIN ; 1uS, LED=on
goto $+1 ; + 2uS = 3uS
goto $+1 ; + 2uS = 5uS
goto $+1 ; + 2uS = 7uS
goto $+1 ; + 2uS = 9uS
goto $+1 ; + 2uS = 11uS
goto $+1 ; + 2uS = 13uS
bsf IRTX,PIN ; 1uS, LED=on
goto $+1 ; + 2uS = 3uS
goto $+1 ; + 2uS = 5uS
goto $+1 ; + 2uS = 7uS
goto $+1 ; + 2uS = 9uS
nop ; + 1uS = 10uS
decfsz _Cycles,f ; + 1uS = 11S
goto _Pulse38 ; + 2uS = 13uS
return ; Return to caller
ENDASM
OverFreq:
so I write my program, for the hardware like in schematic ( for now I test just Volume Up) :
Code:
@ DEVICE PIC12F675, intrc_osc, wdt_off, pwrt_off, mclr_off, bod_off
DEFINE OSC 4
DEFINE OSCCAL_1K 1 ' Set OSCCAL for 1k -HELPS tuning the crystal for more accurate timing
@ #define IRTX GPIO ; Define port to use for IR out
@ #define PIN 1 ; Define port pin to use for IR out
INCLUDE "Freq.inc" '
but var gpio.5
GPIO.5=1
TRISIO.5=1
GPIO.1 = 1 ' IR LED off -----|<|----/\/\/\----+5
TRISIO.1 = 0 ' Output for IR signal
WPU = %00111101
CMCON = 7 ' Comparators disabled
ANSEL = 0 ' A/D disabled
Loops VAR BYTE
Main:
if but=0 then
FOR Loops = 1 TO 10
Cycles = 102 ' 102 * 26 = 2652 uS
CALL Pulse38
Pauseus 2580 ' accurate pause of 2580 uS ?!?
Cycles = 25 ' 25 * 26 = 650 uS ; maybe must EXACTLY 660 uS - how ?!?
CALL Pulse38
pauseus 50000
pauseus 50000
Next loops
endif
GOTO Main
END
but, OF COURSE ?!?, no results. Somebody, just one little help ? Please...
Bookmarks