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.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…