Friday, 4 December 2015

TV Remote Controller through 8051


This task is utilized to switch the electrical machines remotely utilizing TV remote. It utilizes Philips RC5 convention based remote. The smaller scale controller utilized is of Atmel i.e. at89c2051 of 8051 microcontroller price. I have utilized triacs rather than transfers to switch the AC apparatus because of the reason of exchanging pace of circuit.
  • Dotted PC
  • 12-0-12 step down transformer
  • 1N4007 diode
  • LM7805 5V voltage regulator
  • 1000uf electrolytic capacitor
  • at89c2051 microcontroller
  • 20dip IC base
  • 11.0592 MHz crystal
  • denounce switch
  • 10uf electrolytic capacitor
  • 33pf ceramic capacitor
  • 8.2k resistor
  • red led’s
  • 1738/1838T/2238 IR receiver modules 
  • BC547 NPN transistor
  • BT136 triacs
  • soldering iron
  • soldering wire
  • 1K resistors
  • RC5 protocol TV remote 
  •  8051 kit online India

  • some wires and jumpers
8051 microcontroller development board kit online india

Here is the complete circuit diagram for project.
Aggregate this asm record utilizing any 8051 constructing agent program. I have utilized this ASEM-51 constructing agent. It makes .hex document, which we have to transfer to the microcontroller utilizing 8051 software engineer. I have utilized "Top wins Universal Programmer". Checks it here Top win Products. It can be interfaced with such a variety of 8051 development board, eeproms and so forth.

 

 Assembly code for 8051 microcontroller


<p>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>;                                                          ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$mod51</p><p>VAR1      equ r7                  ;Temporary Variable
TEMP    equ 10H                ;Temp variable
COUNT   equ 11H                ;Count
ADDR    equ 12H                ;Device address
CMD     equ 13H                ;Command
FLIP    bit 00H                ;Flip bit
TOG     bit 01H                ;Temp bit for flip
IR      equ P3.3               ;IR Receiver connected to this pin
SW1     equ P1.0               ;Switch 1 connected here
SW2     equ P1.1               ;Switch 2 connected here
SW3     equ P1.2               ;Switch 3 connected here
SW4     equ P1.3               ;Switch 4 connected here
SW5     equ P1.4               ;Switch 5 connected here
SW6     equ P1.5               ;Switch 6 connected here
SW7     equ P1.6               ;Switch 7 connected here
SW8     equ P1.7               ;Switch 8 connected here
SWport  equ P1                 ;Port at which switches are connected
       
        org 00H                ;Start of prog
        mov SWport,#00H ;switch all relays off!
        mov sp,#50H            ;Stack pointer initialization
        clr TOG                ;Clear temp bit
       
main:
        jb IR,$                ;Wait for first bit
        mov VAR1,#255           ;3.024mS delay
        djnz VAR1,$
        mov VAR1,#255
        djnz VAR1,$
        mov VAR1,#255
        djnz VAR1,$
        mov VAR1,#255
        djnz VAR1,$
        mov VAR1,#255
        djnz VAR1,$
        mov VAR1,#100
        djnz VAR1,$
        mov c,IR               ;Read Flip bit
        mov FLIP,c
        clr A
        mov COUNT,#5           ;Count for address
fadd:
        mov VAR1,#255          ;1.728mS delay for each bit
        djnz VAR1,$
        mov VAR1,#255
        djnz VAR1,$
        mov VAR1,#255
        djnz VAR1,$
        mov VAR1,#4
        djnz VAR1,$
        mov c,IR
        rlc a
        djnz COUNT,fadd
        mov ADDR,A             ;Save the address
        clr a
        mov COUNT,#6           ;Count for Command
fcmd:
        mov VAR1,#255          ;1.728mS Delay for each bit
        djnz VAR1,$
        mov VAR1,#255
        djnz VAR1,$
        mov VAR1,#255
        djnz VAR1,$
        mov VAR1,#4
        djnz VAR1,$
        mov c,IR
        rlc a
        djnz COUNT,fcmd
        mov TEMP,CMD           ;Save the old command
        mov CMD,a              ;Save the new command
        mov a,ADDR             ;Cheack for valid address
        cjne a,#00,nvalid
        mov a,TEMP
        cjne a,CMD,valid       ;Check for valid command
nvalid:
        ljmp main
valid:                         ;Key press check
        clr a
        mov c,FLIP
        rlc a
        mov TEMP,a
        clr a
        mov c,TOG
        rlc a
        cjne a,TEMP,valid1
        sjmp nvalid
valid1:
        mov c,FLIP
        mov TOG,c
        mov a,CMD
        clr c
        cjne a,#1,skip1        ;Check for SW1
        jb SW1,isset1
        setb SW1
        ljmp main
isset1:
        clr SW1
        ljmp main
skip1:
        cjne a,#2,skip2        ;Check for SW2
        jb SW2,isset2
        setb SW2
        ljmp main
isset2:
        clr SW2
        ljmp main
skip2:
        cjne a,#3,skip3        ;Check for SW3
        jb SW3,isset3
        setb SW3
        ljmp main
isset3:
        clr SW3
        ljmp main
skip3:
        cjne a,#4,skip4        ;Check for SW4
        jb SW4,isset4
        setb SW4
        ljmp main
isset4:
        clr SW4
        ljmp main
skip4:
        cjne a,#5,skip5        ;Check for SW5
        jb SW5,isset5
        setb SW5
        ljmp main
isset5:
        clr SW5
        ljmp main
skip5:
        cjne a,#6,skip6        ;Check for SW6
        jb SW6,isset6
        setb SW6
        ljmp main
isset6:
        clr SW6
        ljmp main
skip6:
        cjne a,#7,skip7        ;Check for SW7
        jb SW7,isset7
        setb SW7
        ljmp main
isset7:
        clr SW7
        ljmp main
skip7:
        cjne a,#8,skip8        ;Check for SW8
        jb SW8,isset8
        setb SW8
        ljmp main
isset8:
        clr SW8
        ljmp main
skip8:
        cjne a,#0CH,exit       ;Check for all switches
        mov SWport,#00H
        ljmp main
exit:
        ljmp main</p><p>     
  END 
For more detail click here