Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

PIC 8-Channel Sony SIRC Decoder Demo [Deleted]

Status
Not open for further replies.

Mike - K8LH

Well-Known Member
Mike - K8LH submitted a new article:

PIC 8-Channel Sony SIRC Decoder Demo - Sony Remote Control Signal Decoding Demo (PIC16F1827 & Assembly Language).

This microcontroller project demonstrates one of many ways to decode Sony SIRC infrared remote control data. The assembly language program in this project borrows a method or algorithm found in a similar SIRC decoder project published by David De Vleeschauwer. I believe David's method is very well thought out and should be relatively immune to noise and IR interference. More on this later.

In operation, pressing any key from...

Read more about this article...
 
Can you please explain this area

movf TMR0,W ; pulse lo time (64-us ticks) |B0
addlw -(2600/64+1) ; test for ~2400 ± 200 usecs |B0
addlw 400/64+1 ; C=1 (2200..2600 usec range)? |B0
 
Can you please explain this area

Code:
        movf    TMR0,W          ; pulse lo time (64-us ticks)     |B0
        addlw   -(2600/64+1)    ; test for ~2400 ± 200 usecs      |B0
        addlw   400/64+1        ; C=1 (2200..2600 usec range)?    |B0

There's a page titled "" in the source code repository on PICLIST that's probably worth checking out. I'm using this method to test if the IR signal low and high pulse widths are within a given range. In this case, I'm checking for a value in the range of 2200 to 2600 usecs. Of course the numbers are being scaled by 64 to match TMR0 resolution of 64-usecs so what we're really looking for here is a TMR0 value in the range of 34 to 40 (64-usec 'ticks') to qualify a ~2400-usec "start" pulse.

I hope this helps. Mike
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top