Mạch điều khiển từ xa các thiết bị trong nhà dùng vi điều khiển at89s52
1.Họ tên sinh viên: Trần Minh Tùng
-MSSV:05111116
-Lớp:051112B
-Email:
-Điện thoại:01696918587
2.Tên đề tài :
<span style="color:#FF0000">MẠCH ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ TRONG NHÀ DÙNG VI ĐIỀU KHIỂN AT89S52</span>
Gồm 2 phần chính:
<span style="color:#FF0000">+Phát tín hiệu:</span>
Dùng remote TV sony
Tín hiệu từ 1 nút trên remote Sony có dạng:
Phần đầu tiên của tín hiệu có độ dài 3T bằng 1800ms gọi là header hay start bit. Các bit còn lại được mã hóa như sau:
500ms im lặng + 700ms hồng ngoại = bit 0
500ms im lặng +1300ms hồng ngoại = bit 1
<span style="color:#FF0000">+Thu tín hiệu</span>
Dùng led thu hồng ngoại để thu tín hiệu. Tín hiệu qua led thu sẽ bị đảo như sau:
bit 0=500ms mức cao+700ms mức thấp
bit 1=500ms mức cao+1300ms mức thấp
+VDK 89s52 sẽ giải mã đưa vào thanh ghi A và xuất hiển thị mã này ra port 2.
đồng thời mã này sẽ so sánh với các mã lệnh của các phím xuất ra port 2 để đóng mở các relay tương ứng.
<u><span style="color:#FF0000">3.Phương án giải quyết :</span></u>
-Tín hiệu từ remote Sony
-Với 7 bit đầu là bit lệnh, 5 bit cuối là bit địa chỉ. Vì các tín hiệu đều lấy từ cùng renote nên ta chỉ cần giải mã 7 bit lệnh đầu tiên.
-Để thu được 7 bit lệnh
-Ta cần nạp cho thanh ghi A giá trị 01000000B
-Để sau 7 lần quay trái có cờ nhớ C thì giá trị thanh ghi A chính là mã lệnh điều khiển của phím bấm remote.
4 .Sơ đồ mạch nguyên lý.
+Sơ đồ mạch layout:
5 .Lưu đồ giải thuật:
<span style="color:#FF0000">Thuật toán giải mã:</span>
1.Nạp thanh ghi A giá trị 40H
2.Chờ tín hiệu đi xuống( bit start)
3.Chờ tín hiệu đi lên(khởi đầu của 1 bit)
4.Chờ tín hiệu đi xuống
5.Chờ khoảng 700ms<t<1300ms, chon t=1000ms=1ms
6.Đo tín hiệu: + nếu ở mức cao bit nhận được là bit 0, đặt C=0 quay phải A có cờ C, quay lại bước 4.
+ nếu ở mức thấp bit nhận được là bit 1, đặt C=1 quay phải A có cờ C, quay lại bước 3.
7.Nếu C=1, giá trị trong thanh ghi A= D6D5D4D3D2D1D00, quay phải A thu được A=0 D6D5D4D3D2D1D0
-Xuất nội dung thanh ghi A ra port 1 hiển thị bằng các led( đây chính là mã lệnh từ remote mà VDK giải mã được).
+<span style="color:#FF0000">Lưu đồ giải mã tín hiệu:
+Lưu đồ điều khiển bật tắt thiết bị:
-Code chương trình :
SOLAN BIT 70H;nhan 2 lan
ON_OFF BIT 71H
ORG 00H
MOV P2,#0H
SETB ON_OFF
MOV P1,#0;
MAIN:
MOV 32H,0FFH
SETB SOLAN;lan dau bit=1
LAN2: MOV A,#40H
SETB P3.3;chong nhieu do do rong bit start
DIL2: MOV 30H,#2
DIL1: MOV 31H,#255
DIL:
JB P3.3,DIL2;tao khoang do bit thap
DJNZ 31H,DIL
DJNZ 30H,DIL1
<span style="color:#FF0000">;GIAI MA TIN HIEU</span>
<span style="color:#FF00FF"><span style="color:#0000FF">LAP1: JNB P3.3,LAP1 ; CHỜ TÍN HIỆU MỨC CAO, KHỞI ĐẦU CỦA BIT
LAP2: JB P3.3,LAP2 ; CHỜ TÍN HIỆU MỨC THẤP
LCALL DELAY1MS
JNB P3.3,LAP3 ; NHẢY TỚI LAP3 NẾU TÍN HIỆU MỨC THẤP
CLR C
RRC A ; XOAY PHẢI A CÓ CỜ NHỚ C
JNC LAP2 ; NHẢY TỚI NHÃN LAP2 NẾU C=0
SJMP KETTHUC;NHẢY TỚI NHÃN KETTHUC NẾU C=1
LAP3: SETB C ; ĐẶT C=1 NẾU TÍN HIỆU MỨC THẤP
RRC A ; XOAY PHẢI A CÓ CỜ NHỚ
JNC LAP1; NHẢY ĐẾN NHÃN LAP1 NẾU C=0
KETTHUC:
RR A ; QUAY PHẢI A THU ĐƯỢC MÃ CỦA TÍN HIỆU
JNB SOLAN,SOSANH;solan=1 nap tin hieu vao o 32h =0 nhay ss
CLR SOLAN
MOV 32H,A
JMP LAN2;nhay ve lay lan 2
SOSANH:
CJNE A,32H,MAIN
CJNE A,#2H,KTONOFF;kiem tra on off neu dc nhan dao bit on off
CPL ON_OFF
SJMP KT
KTONOFF:
JNB ON_OFF,MAIN
PHIM1: CJNE A,#0H,PHIM2 ;SO SÁNH MÃ LỆNH PHÍM VỚI MÃ TH
CPL P2.0 ; ĐẢO BIT ĐÓNG MỞ RELAY
SJMP KT
PHIM2: CJNE A,#3H,PHIM3 ;
CPL P2.1
SJMP KT
PHIM3: CJNE A,#6H,PHIM4
CPL P2.2
SJMP KT
PHIM4: CJNE A,#9H,PHIMKHAC
CPL P2.3
SJMP KT
KT:
LCALL KIEMTRACONNHANHAYKO
JMP MAIN
PHIMKHAC:
NOP
SJMP MAIN
DELAY1MS:
MOV R0,#10
HERE:
MOV R1,#50
DJNZ R1,$
DJNZ R0,HERE
RET
KIEMTRACONNHANHAYKO:;kiem tra co nhan phim ko
GEC:
MOV 20H,#03H
DEL3:
MOV 21H,#25H
DEL2:
MOV 22H,#0FFH
DEL1:
JNB P3.3,GEC;tao khoang do bit cao
DJNZ 22H,DEL1
DJNZ 21H,DEL2
DJNZ 20H,DEL3
RET
END
6.Mô hình thi công:
Videoclip demo:
http://w w w .mediafire
Download
7. Kết quả đạt được:
-mạch chạy tốt và được chống nhiểu và chống dội
-mạch chạy ổn định
+Hạn chế của đề tài và phương hướng phát triển
-Mở rông thêm modul kết nối với máy tính dùng điều khiển relay(qua cổng COM hay LPT).
-Đây là mô hình thí nghiệm nên khi dùng thực tế cần lắp thêm cầu chì để bảo vệ vđk tại chân đóng ngắt relay.
-Điều khiển được với tất cả các remote khác.
-Ứng dụng cao hơn nửa là dùng vđk giải mã sóng bluetooth hay wifi…
8.Link Download: code chương trình , file mạch điện :