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
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