Mạch điềukhiểntừxacácthiếtbịtrongnhàdùngviđiềukhiểnat89s52 1.Họ tên sinh viên: Trần Minh Tùng -MSSV:05111116 -Lớp:051112B -Email:candy18587@yahoo.com -Điện thoại:01696918587 2.Tên đề tài : <span style="color:#FF0000">MẠCH ĐIỀUKHIỂNTỪXACÁCTHIẾTBỊTRONGNHÀDÙNGVIĐIỀUKHIỂ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ềukhiể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ềukhiể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ềukhiể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 : . 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:candy18587@yahoo.com -Điện. 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& lt;/span> Gồm 2 phần chính: <span style="color:#FF0000">+Phát tín hiệu:</span> Dùng remote. 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