Sony IR Remote


Results 1 to 40 of 41

Thread: Sony IR Remote

Threaded View

  1. #21
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Heeeeeelp, please ...:(....

    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...
    Attached Images Attached Images  

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts