Tải bản đầy đủ (.docx) (5 trang)

Mạch điều khiển thiết bị dùng Remote TV sử dụng AT89S52 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (157.73 KB, 5 trang )

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

×