M ch đi u khi n thi t b dùng Remote TV s d ng AT89S52 ế
Hôm nay s gi i thi u đ n các b n m t m ch đi u khi n khá hay đó là: đi u khi n thi t b ế ế
dùng Remote TV. đây ta dùng remote Tv hi u Sony. N u các b n mu n dùng các remoteế
c a các hãng khác thì tham kh o thêm mã phát remote c a các hãng t ng ng. ươ
M ch nguyên lý
Lo i m t thu remote mua lo i có b c v s t ( có 3 chân: 1 ngu n, 1 mass, 1 tín hi u ra; giá
kho ng 8 đ n 10 nghìn đ ng) ế
Công t c: ta có th dùng công t c đèn nhà ta hay dùng.
Cách th c ho t đ ng:
+ Trên remote Tv: nh n s 1: Thi t b 1 b t; nh n s 2: thi t b 1 t t; T ng t cho thi t b 2 ế ế ươ ế
là s 3 s 4; thi t b 3 là s 5 s 6; thi t b 4 là s 7 s 8. ế ế
+ Các thi t b còn có th đ c đi u khi n b ng công t c ( lo i công t c đi n bình th ng).ế ượ ườ
N u thi t b đang t t thì ta b t ng c l i thì thi t b s m , n u đang m ta b t ng c l i thìế ế ượ ế ế ượ
thi t b s t t.ế
Ch ng trình cho 89S52.ươ
Mã:
ORG 0000H
JMP MAIN
ORG 0003H
JMP NHANDULIEU
ORG 0030H
MAIN: MOV TMOD,#01H
MOV IE,#10000001B
MOV P1,#0
MOV R1,#0FH
MOV R2,#0FH
MOV R3,#0FH
MOV R4,#0FH
MOV R7,#0FFH
CALL KIEMTRANUTNHAN
TT: CALL XULY
CALL XULY1
JMP TT
;===== CHUONG TRINH NHAN DU LIEU ========
NHANDULIEU:
PUSH ACC
MOV R6,#8
MOV R7,#0
CHOLEN: JNB P3.2,$ ; DUNG CHO HET BIT START
CHOXUONG:
JB P3.2,$; CHO CHO TIN HIEU XUONG
CALL DELAY900 ; CHO 900 uS
JB P3.2,LUUBIT0
;======== LUU BIT 1====
SETB C
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
JC DOCXONG
JMP CHOLEN
LUUBIT0:
CLR C
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
JC DOCXONG
JMP CHOXUONG
DOCXONG:
MOV R5,#4
QUAYTIEP:
CLR C
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
DJNZ R5,QUAYTIEP
POP ACC
RETI
;=== HET CHUONG TRINH NHAN DU LIEU=======
XULY:
MOV A,R7
ANL A,#07FH
MOV R7,A
; DIA CHI R6
; LENH TRONG R7
; CHU YEU MINH TINH TOI LENH THOI
;==========P1.0
CJNE R7,#0,SS1
SETB P1.0
JMP THOATXL
SS1: CJNE R7,#1,SS2
CLR P1.0
JMP THOATXL
SS2: CJNE R7,#2,SS3
;====
JMP THOATXL
;=============P1.1
SS3: CJNE R7,#3,SS4
SETB P1.1
JMP THOATXL
SS4: CJNE R7,#4,SS5
CLR P1.1
JMP THOATXL
SS5: CJNE R7,#5,SS6
;====
JMP THOATXL
;===========P1.2
SS6: CJNE R7,#6,SS7
SETB P1.2
JMP THOATXL
SS7: CJNE R7,#7,SS8
CLR P1.2
JMP THOATXL
SS8: CJNE R7,#8,SS9
;====
JMP THOATXL
;====P1.3
SS9: CJNE R7,#9,SS10
SETB P1.3
JMP THOATXL
SS10: CJNE R7,#19H,SS11
CLR P1.3
JMP THOATXL
SS11: CJNE R7,#18H,SS12
;====
JMP THOATXL
SS12:
THOATXL:
MOV R7,#0FFH
RET
;== CHUONG TRINH XU LY 1
XULY1:
; == KIEM TRA NUT THU 1
JB P2.0,KIEM11
CJNE R1,#0FH,KIEM21
MOV R1,#0F0H
CPL P1.0
JMP KIEM21
KIEM11: CJNE R1,#0F0H,KIEM21
MOV R1,#0FH
CPL P1.0
KIEM21:
; == KIEM TRA NUT THU 2
JB P2.1,KIEM22
CJNE R2,#0FH,KIEM31
MOV R2,#0F0H
CPL P1.1
JMP KIEM31
KIEM22: CJNE R2,#0F0H,KIEM31
MOV R2,#0FH
CPL P1.1
KIEM31:
; == KIEM TRA NUT THU 3
JB P2.2,KIEM33
CJNE R3,#0FH,KIEM41
MOV R3,#0F0H
CPL P1.2
JMP KIEM41
KIEM33: CJNE R3,#0F0H,KIEM41
MOV R3,#0FH
CPL P1.2
KIEM41:
; == KIEM TRA NUT THU 4
JB P2.3,KIEM44
CJNE R4,#0FH,KIEM51
MOV R4,#0F0H
CPL P1.3
JMP KIEM51
KIEM44: CJNE R4,#0F0H,KIEM51
MOV R4,#0FH
CPL P1.3
KIEM51:
RET
;== CHUONG TRINH KIEM TRA CONG TAC
KIEMTRANUTNHAN:
JB P2.0,KOCO1
MOV R1,#0F0H
KOCO1: JB P2.1,KOCO2
MOV R2,#0F0H
KOCO2: JB P2.2,KOCO3
MOV R3,#0F0H
KOCO3: JB P2.3,KOCO4
MOV R4,#0F0H
KOCO4:
RET
;==== CHUONG TRINH DELAY950 uS=====
DELAY900:
MOV TH0,#HIGH(-950)
MOV TL0,#LOW(-950)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
;=== HET CHUONG TRINH DE LAY 950
END