Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

help me for IR remote control(transmitter+receiver)

Status
Not open for further replies.

anuradha bulakh

Newbie level 5
Joined
Apr 7, 2010
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
pune
Activity points
1,356
Please help me to design tx and rx of IR remote with 4 keys to tx.
I am thinking to use 89c2051 for both tx/rx.
But as tx will run on 2 battery of 1.5v each.Is 3v is enough for 89c2051?
Help me.
 

Dear my friend

I Think this link will help you about some information a bout IR

**broken link removed**

If it help you please press helped me

Best Regards

MedTronic
 

look at this page:
**broken link removed**

This receiver code runs on an 89C2051. You can probably modify it to do only 4 keys.

Code:
;  ÛÛÛÛÛÛÛÜ     ÜÛÛÛÛÛÜ            ÛÛÛÛÛÛÛÛ
;  ÛÛ    ßÛÛ   ÛÛß    ßÛ           ÛÛ
;  ÛÛ    ÜÛÛ   ÛÛ                  ÛÛ
;  ÛÛÛÛÛÛÛÛ    ÛÛ                  ÛÛÛÛÛÛÛÜ
;  ÛÛ   ÛÛ     ÛÛ                        ßÛÛ
;  ÛÛ    ÛÛ    ÛÛÜ    ÜÛ           ÛÛÜ   ÜÛÛ
;  ÛÛ     ÛÛ    ßÛÛÛÛÛß             ßÛÛÛÛÛß
;
; SOFTWARE FOR AT89C2051 TO DECODE PHILIPS REMOTE CONTROL
; RC-5 CODIFICATION - INFRA-RED RECEIVER LT1029-ND DIGIKEY
; CLIPPED PARTS FROM THE ORIGINAL SOURCE TEXT:
;   A) TRANSMITTER
;   B) SELECTION FOR PHILIPS / FC1 - (WORKING PHILIPS)
; AT89C2051 RUNNING AT 2MhZ <== IMPORTANT
; WAGNER LIPNHARSKI - NOVEMBER 1999 - WAGNER@USTR.NET
; UST RESEARCH INC. - ORLANDO, FL - WWW.USTR.NET
;
$MOD51
$NOPAGING
$LIST
;
; PIN 11 (P37) : 0 = RECEIVER CIRCUIT
;              : 1 = TRANSMITTER CIRCUIT
;
; PIN  2 (P30) : 1 = RECEIVER DECODES PHILIPS REMOTE
;              : 0 = RECEIVER DECODES FC1 REMOTE
;
; PIN 12 (P10) : PULLED UP = FC1 CODE TRANSMITTER
;              : GROUND    = PHILIPS CODE TRANSMITTER
;
; RECEIVER CONFIGURATION:
; -----------------------
; PIN 7 (P33) INPUT SIGNAL FROM IR RECEIVER
; PINS 12-19 DECODER OUTPUT (DRIVE TO GROUND)
; PIN 11 TO GROUND.
; CLOCK CERAMIC RESSONATOR 2MhZ
; RESET CAP 1uF TO +VCC
; PIN 9 (P35) CAN BE USED TO LITE A LED WHEN RECEIVING VALID IR
; PIN 8 (P34) SCOPE GATE TIME (SOFTWARE TIMMING ADJUSTMENT)
;
; ---___---___------______---___---___--- PIN 7 P33 IRDATA
; _|_____|_____|_____|_____|_____|_____|_ PIN 8 P34 SCOPE READ GATE TIME
;
; --__  1 BIT
;             RX DATA
; __--  0 BIT
;

; TRANSMITTER CONFIGURATION:
; --------------------------
; PINS 2,3,6,7,8,9 & 11 TIED TOGETHER TO DRIVE IR LED
; PINS 16-19 KEYBOARD MATRIX DRIVE (4 PINS)
; PINS 14 & 15 KEYBOARD MATRIX RETURN WITH PULL UP
; CRYSTAL 6MHZ
; RESET CONTROLLED BY FET BS110, DIODES FROM KEYBOARD.
; PIN 12 GOES TO GROUND WHEN IN POWER OFF

             ;------------------
             ; Receiver
             ;------------------
Led          BIT   0B5h   ; P3.5
IrInput      BIT   0B3h   ; P3.3
Scope        BIT   0B4h   ; P3.4
RxTx         BIT   0B7h   ; P3.7 ; Grounded if Receiver/High if TX
             ;------------------
             ; Transmitter
             ;------------------
TXLED        EQU   P3     ; FF = Off, 00 = On
KO1          Bit   097h   ; P1.7 Keyboard Output
KO2          Bit   096h   ; P1.6
KO3          Bit   095h   ; P1.5
KO4          Bit   094h   ; P1.4
KI1          Bit   093h   ; P1.3 Keyboard Input
KI2          Bit   092h   ; P1.2

IRDATA      DATA   010H   ; Memory to store IR code received

;======================================;
;
; P H I L I P S     R E M O T E
; CODE "10" AT AV6 UNIVERSAL PROGRAMMABLE REMOTE CONTROL
;
;======================================;
ORG 00H
MAIN:
;		Mov  SP,#SPVALUE  	   ;
		Mov  SP,#6Fh	         ;

PH0:         Mov  P1,#0FFh             ; Reset Decoder Output High
             Setb LED                  ; Turn off IR Indicator
             ;                         ;
PH1:         Mov  4,#022               ; 2MHz
             Mov  5,#000h              ; 2MHz Time loop
PH2:         Jnb  IrInput,PH3          ; Wait for Incomming IR (first low)
             Djnz 5,PH2                ; This time loop is to keep the last
             Djnz 4,PH2                ; ..pressed key available at P1 for few
             Jmp  PH0                  ; ..time in case you press it again
                                       ; ..and avoid glitches at P1.
             ;-------------------------;
PH3:         Clr  A                    ; IR Receiver First Low level.
             Clr  Led                  ; Lite IR Indicator
             ;                         ;
             Mov  2,#110               ; Time Loop (3/4 bit time)
             Djnz 2,$                  ; Waste Time to sync second bit
             ;                         ; 2MHz = 1.296ms
             Mov  B,#7                 ;
PH4:         Setb Scope                ; Scope Gate Indicator Pulse UP
             Mov  C,IrInput            ; Shift IR state to Carry bit
             Clr  Scope                ; Scope Gate Indicator Pulse Down
             Rlc  A                    ; Insert LEFT Carry Bit into A Reg
             ;                         ;
             Mov  2,#145               ; Waste time for next BIT
             Djnz 2,$                  ; 2MHz clock, 1.728ms
             ;                         ;
             Djnz B,PH4                ; Rotate 7 bits into A
             ;                         ; AGC#2, CHKbit, ADDRESS field (5 bits)
             ;-------------------------;
             Anl  A,#0F7h              ; Cut off CHECK Bit (Flipping bit)
             Cjne A,#40h,PH5           ; 10h means second AGC UP & Address 00
             ;                         ; Not 10h?, wrong sync, go again (PH5)
             ;-------------------------;
             Mov  B,#6                 ; Will Get the COMMAND field
PH4A:        Setb Scope                ; Scope Gate Indicator Pulse UP
             Mov  C,IrInput            ; Shift IR state into Carry bit
             Clr  Scope                ; Scope Gate Indicator Pulse Down
             Rlc  A                    ; Insert LEFT carry bit into A Reg
             ;                         ;
             Mov  2,#145               ; Waste time for next BIT
             Djnz 2,$                  ; 2MHZ clock = 1.728ms
             ;                         ;
             Djnz B,PH4A               ; Rotate 8 bits into A (Command)
             ;                         ; Here A holds Command bits
             ;-------------------------;
             Mov  IRData,A             ; Save Command at IRData memory
             Cjne A,#25h,$+3           ; Is Command >=25h
             Jnc  PH5                  ; Yes? Wrong everything, go again PH5
             ;                         ;
             Call PH6                  ; Go get Conversion at Table
             Cjne A,#0FFh,PH4B         ; If conversion <> FF, is valid.
             Jmp  PH5                  ; ..Not Expected Command. go again PH5
             ;                         ;
PH4B:        Mov  P1,A                 ; Valid Command is post at P1 Port
             Jmp  PH1                  ; Job done, go wait next pulse train.
             ;                         ;
             ;-------------------------;
PH5:         Mov  3,#8                 ; 2MHz
             Mov  2,#112               ; Wait 15 bit time
PH5A:        Djnz 2,$                  ; Wasting time to sync ok next train
             Djnz 3,PH5A               ;
             Jmp  PH0                  ; Go back and wait for next train.
             ;-------------------------;
PH6:         Inc  A                    ; Table conversion, Inc skip RET
             Movc A,@A+PC              ; Point to TABLE + Value at A (1-255)
             Ret                       ;
             ;-------------------------;
             ;  The following table bit values at the first column, means
             ;  the translation from remote control key to the value to be
             ;  be post at P1.  The program ignores values of "FF".
             ;  Change those bits according to your needs.
             ;
             ;  Bit #7 is "0" when a valid key is pressed, otherwise is "1"
             ;  It can be used to recognize values as key "zero" pressed,
             ;  when all bits UP means command ZERO.
             ;
             ;  This TV remote uses only Address = "00"
             ;
             ;    PHILIPS TV REMOTE CONTROL DECODING
             ;
             ;    VALUE TO P1   REMOTE KEY   COMMAND CODE FIELD (HEX)
             ;    -----------   ----------   ------------------------
TABLE:       DB   01111111b    ; 0         ; 0
             DB   01111110b    ; 1         ; 1
             DB   01111101b    ; 2         ; 2
             DB   01111100b    ; 3         ; 3
             DB   01111011b    ; 4         ; 4
             DB   01111010b    ; 5         ; 5
             DB   01111001b    ; 6         ; 6
             DB   01111000b    ; 7         ; 7
             DB   01110111b    ; 8         ; 8
             DB   01110110b    ; 9         ; 9
             DB   11111111b    ;           ; A
             DB   11111111b    ;           ; B
             DB   01110011b    ; ON/OFF    ; C
             DB   01110010b    ; MUTE      ; D
             DB   01110001b    ; PP        ; E
             DB   01110000b    ; OSD       ; F
             DB   01101111b    ; Volume+   ; 10
             DB   01101110b    ; Volume-   ; 11
             DB   01101101b    ; Bright+   ; 12
             DB   01101100b    ; Bright-   ; 13
             DB   01101011b    ; Color+    ; 14
             DB   01111010b    ; Color-    ; 15
             DB   11111111b    ;           ; 16
             DB   11111111b    ;           ; 17
             DB   11111111b    ;           ; 18
             DB   11111111b    ;           ; 19
             DB   11111111b    ;           ; 1A
             DB   11111111b    ;           ; 1B
             DB   01100011b    ; Contrast+ ; 1C
             DB   01100010b    ; Contrast- ; 1D
             DB   11111111b    ;           ; 1E
             DB   11111111b    ;           ; 1F
             DB   01011111b    ; Program+  ; 20
             DB   01011110b    ; Program-  ; 21
             DB   11111111b    ;           ; 22
             DB   11111111b    ;           ; 23
             DB   01011011b    ; Timer     ; 24
             DB   01010111b    ; Special 1 ; 25
             DB   01000001b    ; Special 2 ; 26
             DB   01000111b    ; Special 3 ; 27
             DB   01001110b    ; Special 4 ; 28
             DB   01000101b    ; Special 5 ; 29
             DB   01010010b    ; Special 6 ; 2A
END
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top