Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
814,5 KB
Nội dung
SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG LỜI MỞ ĐẦU Trong sống ngày thường phải đóng mở thiết bị gia dụng nhà như:đèn,quạt,máy bơm nước,v.v…Việc làm đôi lúc phải khó chịu, ví dụ ta xem chương trình tivi hấp dẫn mà phải đứng dậy để bật quạt đặt xa hay mở máy bơm nước mà cầu dao lại đặt cao thật bất tiện.Do yêu cầu cần điều khiển mà làm tất công việc mà không cần tới vị trí đặt công tắc để tắt mở nó.Tại ta không nghĩ tới remote tivi mà ta sử dụng nhà! Nó thật tiện lợi phải không.Với suy nghĩ ta phải thiết kế mạch giả mã tín hiệu hồng ngoại để từ đóng mở thiết bị nhà Khoảng cách từ 10m trở xuống tia hồng ngoại từ remote tivi đáp ứng tốt yêu cầu đóng mở thiết bị gia dụng nhà.Do kiến thức hạn chế nên đồ án không tránh khỏi thiếu sót, mong góp ý chân thành quý thầy cô để hoàn thiện đồ án ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG MỤC LỤC PHẦN I: LÝ THUYẾT HỒNG NGOẠI……………………………… Trang I Hồng ngoại điện tử………………………………………… Trang II Điều khiển TV Sony……………………………………………….Trang PHẦN II: SƠ ĐỒ PHẦN CỨNG…………………………………… Trang PHẦN III: NGUYÊN LÝ PHẦN MỀM…………………………………Trang 10 I Lưu đồ giải thuật……………………………………………………Trang 10 II Phương pháp giải mã tín hiệu Remote control SONY…………… Trang 12 III.Mã nguồn chương trình……………………………………………Trang 12 IV.Hướng phát triển đề tài…………………………………………….Trang 20 ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG PHẦN LÝ THUYẾT HỒNG NGOẠI Hồng ngoại xạ lượng với tần số thấp tần số mà mắt ta nhìn thấy Vì nhìn thấy Tuy nhiên biết không “nhìn” thấy tần số âm biết tồn tai ta nghe thấy chúng Ta nhìn thấy hay nghe thấy hồng ngoại ta cảm thấy từ cảm ứng nhiệt da Khi bạn đưa tay tới gần lửa vật nóng, bạn cảm thấy nhiệt dù bạn không nhìn thấy Bạn nhìn thấy lửa phát nhiều loại xạ mắt ta nhìn thấy, đồng thời phát hồng ngoại mà ta cảm nhận qua da I Hồng ngoại điện tử: Hồng ngoại thật thú vị, tạo cách dễ dàng không bị ảnh hưởng nhiễu điện từ sử dụng cách rộng rãi tiện lợi thông tin điều khiển Tuy nhiên không hoàn hảo, nhiều nguồn sáng khác phát hồng ngoại gây nhiễu đến thông tin Mặt trời ví dụ, phát khoảng phổ rộng có phổ hồng ngoại Việc sử dụng hồng ngoại thiết bị điều khiển từ xa TV/VCR nhiều ứng dụng khác phần Diode phát thu hồng ngoại rẻ sẵn có thị trường Như nói trên, nhiều thứ tạo hồng ngoại, thứ xạ nhiệt có khả Bao gồm thể chúng ta, đèn, lò vi sóng, chà sát tay bạn vào nhau, thâm chí nước nóng Vì phép truyền thông hiệu sử dụng hồng ngoại tránh tín hiệu nhiễu không mong muốn phải sử dụng “khoá” để báo cho đầu thu đâu tín hiệu có ích, đâu nhiễu Khi nhìn lên bầu trời đêm bạn thấy nhiều sao, bạn dễ dàng nhận máy bay ánh sáng nhấp nháy Ánh sáng nhấp nháy coi “khoá” , kiểu mã hoá Tương tụ máy bay bầu trời đêm ,TV nhận hàng trăm nguồn hồng ngoại li ti từ thể chúng ta, đèn xung quanh chí tách trà nóng Một cách để tránh nguồn hồng ngoại khác tạo khoá Do đó, điều khiển từ xa dùng để điều biến hồng ngoại tần số Đầu thu hồng ngoại TV/VCR theo tần số mà lờ hồng ngoại khác nhận Khoảng tần số hay sử dụng 3060KHz, tốt khoảng từ 3638KHz Hồng ngoại phát từ diode hồng ngoại theo xung nhịp với tần số 36000 lần giây phát mức logic “0” “1” Để tạo tần số 36 Khz việc đơn giản, khó thu nhận dạng Đó lý nhiều công ty sản xuất thiết bị thu hồng ngoại bao gồm lọc, mạch ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG giải mã sửa dạng đầu Một xung vuông chu kỳ xấp xỉ 27µs đưa vào cực bazơ Transistor điều khiển LED hồng ngoại để truyền Bạn bật tắt tần số đầu phát , đầu thu đầu phát bật hay tắt Những giải điều chế có mức logic đảo đầu có gói hồng ngoại gửi, đầu mức tích cực thấp ,tương đương mức logic Để tránh việc điều khiển từ xa Philip thay đổi kênh TV Panasonic , người ta sử dụng cách mã hoá khác cho khoảng tần số Chúng sử dụng kiểu tổ hợp bít khác để mã hoá việc truyền liệu tránh nhiễu II Điều khiển TV SONY: Sony sử dụng loại mã hóa độ rộng bít, kiểu mã hoá đơn giản cho việc giải mã Hãy xem xét khoảng thời gian nhỏ T cỡ 600µs Mỗi bit truyền đI kết hợp -T+T cho bít “0” -T+2T cho bít ”1” Vì bit có chiều dài 1200µs bit có chiều dài 1800µs ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG Mức lên (+T) tín hiệu có nghĩa hồng ngoại truyền , mức xuống (-T) nghĩa Để tiết kiệm Pin, hầu hết nhà sản xuất khoảng 5/6 chí 3/4 so với độ rộng xung lý thuyết Bằng cách này, pin 500 sử dụng tới 600giờ (5/6) 800 (3/4) Một số nhà sản xuất khác không quan tâm lắmvề vấn đề Họ tăng cường hiệu truyền tín hiệu cách mở rộng chút khoảng thời gian sóng mang 36 KHz tích cực rút nhắn khoảng thời gian Như tín hiệu tử REMOTE SONY có dạng sóng sau: Ta thấy: - Phần truyền gọi Header( mào đầu) , coi bit bắt đầu (START bit ) , phần mào đầu có độ rộng 3T hay 1800µs - Tiếp theo phần Header bạn thấy 12 bit liên tiếp giải điều chế sau: 500µs im lặng + 700µs hồng ngoại = bit 500µs im lặng +1300µs hồng ngoại = bit Bit sau bit START bit LSB, ta đặt tên bit B0, bit cuối B11 B0 -B6 : bit mã lệnh B7 -B11 : bit địa ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG Trong hình vẽ , địa 02H, mã lệnh 16H Có 32 khả địa 128 lệnh Toàn thời gian truyền khung thay đổi theo thời gian độ rộng bit > độ rộng bit Nếu bạn giữ nút bấm, khung liệu lặp lại sau 25ms Nếu bạn sử dụng mắt nhận hồng ngoại có sẵn thị trường , tất dạng sóng bị đảo lại sau: Để thu giải mã tín hiệu từ REMOTE SONY, thực tế ta không cần thu toàn 12 bit mã hoá Ta cần thu bit COMMAND bỏ qua bit địa chỉ, với điều khiển tất nút bấm phát mã địa nhau, khác mã lệnh Mã địa SONY sử dụng để phân biệt MODEL REMOTE SONY khác Trạng thái bit0 bit1 nhận chân out mắt nhận hồng ngoại ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG PHẦN II SƠ ĐỒ PHẦN CỨNG ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG PHẦN III:NGUYÊN LÍ PHẦN MỀM I Lưu đồ giải thuật: Main Lưu đồ giải thuật phần dùng phím để điều khiển thiết bị Thu tín hiệu Key_1: Key_8: Key_2: PUSH A So sánh A=4H Thu tín hiệu So sánh A=CH Đảo bit P2.0 So sánh A=5H So sánh A=BH PUSH A PUSH A Mov A,R0 Mov A,R0 So sánh A=DH So sánh A=13H Đảo bit P2.1 Đảo bit P2.7 P2.1 Nhảy Main Nhảy Main POP A POP A Key_3 Other_key Nhảy Main Mov R0,A Nhảy Main POP A Nhảy đến Key_2 Key_8 Thu tín hiệu Mov R0,A POP A Key_2 ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG Lưu đồ giải thuật phần đổi mã điều khiển thiết bị Thu tín hiệu NEXT1: NEXT2: So sánh A= #0H NEXT8: So sánh A= #1H So sánh A= #7H Thu tín hiệu Thu tín hiệu Thu tín hiệu Mov 4H,A Mov 4H,A Mov 4H,A Thu tín hiệu Thu tín hiệu Thu tín hiệu Mov 0CH,A Mov 0DH,A Mov 13H,A Nhảy Main Nhảy Main Nhảy Main Nhảy đến NEXT2 Nhảy đến NEXT3 Nhảy đến NEXT8 ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 10 Nhảy Main SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG II Phương pháp giải mã tín hiệu Remote control SONY: Để thu bit mã lệnh ta có thuật toán sau: Thiết lập ghi A = 01000000B Khởi đầu cách chờ tín hiệu xuống – Đây bit START Chờ cho tín hiệu lên - Đây khởi đầu bit Chờ tín hiệu xuống Chờ khoảng 750-950µs Đo mức tín hiệu Nếu mức tín hiệu mức cao (UP) –Bit nhận bit - Thiết lập bit nhớ C = (bit mã lệnh thu được) - Quay phải có nhớ A, C gửi vào MSB A, LSB A gửi vào C - Ban đầu, A = 01000000B sau quay ta có C = MSB A bit mã lệnh - Như sau lần quay C = bít bên trái A chứa mã lệnh - Kiểm tra bit nhớ C, C = nhảy tới bước , C = quay lại bước Nếu mức tín hiệu mức thấp (DOWN) – Bit nhận - Thiết lập Bit nhớ C = (bit mã lệnh thu được) - Quay phải có nhớ A - Kiểm tra bit nhớ C, C = nhảy tới bước , C = quay lại bước bit mã lệnh chứa bit trái A : A = D6D5D4D3D2D1D00 - Quay phải A bít phải A chứa mã lệnh : A = 0D6D5D4D3D2D1D0 III.Mã nguồn chương trình: ORG 00H MOV P1,#0 MOV P2,#0 CLR P3.0 MOV SP,#29H ; -;PHIM MAC DINH MOV 04H,#0H MOV 05H,#1H MOV 06H,#2H MOV 07H,#3H MOV 08H,#4H MOV 09H,#5H MOV 0AH,#6H MOV 0BH,#7H MOV 0CH,#0H MOV 0DH,#1H MOV 0EH,#2H MOV 0FH,#3H ;Nạp địa cho ngăn xếp ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 11 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG MOV 10H,#4H MOV 11H,#5H MOV 12H,#6H MOV 13H,#7H ; PASSWORDMAIN MOV 00H,#1 MOV 01H,#0 MOV 02H,#7 MOV 03H,#6 ;KEY = ;Mã mặc định ; MAIN: ACALL DECODE CJNE A,#3AH,DG LJMP TM ;Thay mã cho thiết bị DG: LJMP XUATMA DECODE: LCALL LONG_DELAY1 ;Trễ dài chống nhiễu SETB P3.3 ;Chân nhận tín hiệu hồng ngoại MOV A,#01000000B RP1: JB P3.3, RP1 ;Chờ tín hiệu xuống LCALL DELAY800US ;Kiểm tra bit=0 JB P3.3,RP1 ;Nếu P3.3=1,thi bit la bit 0,quay lai RP1 LCALL DELAY600US ;Kiểm tra bit=1? JB P3.3,RP1 ;Nếu P3.3=1,thi bit la bit 0,quay lai RP1 RP2: ;Ở bit=startbit JNB P3.3, RP2 ;Chờ tín tín hiệu lên RP3: JB P3.3, RP3 ;Chờ tín tín hiệu xuống LCALL DELAY900US MOV C,P3.3 ;Ghi tín hiệu thu vào C JC BIT0 ;Nếu tín hiệu mức cao bit nhận SETB C ;Tín hiệu mức thấp bit nhận RRC A ;Đưa bit nhận vào A JC END_SIGNAL ;Nếu C=1 nhận đủ bit mã lệnh SJMP RP2 ;C=0 quay lại nhận tiếp tín hiệu BIT0: CLR C ;Tín hiệu mức cao bit nhận RRC A JC END_SIGNAL ;Nếu C=1 nhận đủ bit mã lệnh SJMP RP3 ; C=0 quay lại nhận tiếp tín hiệu ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 12 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG END_SIGNAL: ;7 bit bên trái A chứa mã lệnh RR A ;7 bit bên phải A chứa mã lệnh MOV P1,A ;Đưa mã tín hiệu port RET ; -XUATMA: CJNE A,#15H,NEXT11 ;Chuyển qua chế độ sử dụng mật mã LJMP OPENDOOR ;Phím bấm =Power NEXT11: ; -KEY= MUTE -CJNE A,#14H,NEXT22 ;Cài lại mật mã LJMP RESETPASSWORD NEXT22: KEY_0: CJNE A,#9,KEY_1 MOV P2,#0 SJMP MAIN ; -KEY_1: PUSH ACC CJNE A,4H,KEY_01 LCALL DECODE CJNE A,0CH,$+7 ; -KEY = CPL P2.0 LJMP MAIN MOV R0,A POP ACC LJMP KEY_2 KEY_01: LCALL DECODE MOV R0,A POP ACC ; KEY_2: CJNE A,5H,KEY_3 PUSH ACC MOV A,R0 CJNE A,0DH,$+7 ; -KEY = CPL P2.1 LJMP MAIN POP ACC ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 13 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG ; KEY_3: CJNE A,6H,KEY_4 PUSH ACC MOV A,R0 CJNE A,0EH,$+7 CPL P2.2 LJMP MAIN POP ACC ; KEY_4: CJNE A,7H,KEY_5 PUSH ACC MOV A,R0 CJNE A,0FH,$+7 CPL P2.3 LJMP MAIN POP ACC ; KEY_5: CJNE A,8H,KEY_6 PUSH ACC MOV A,R0 CJNE A,10H,$+7 CPL P2.4 LJMP MAIN POP ACC ; KEY_6: CJNE A,9H,KEY_7 PUSH ACC MOV A,R0 CJNE A,11H,$+7 CPL P2.5 LJMP MAIN POP ACC ; KEY_7: CJNE A,0AH,KEY_8 PUSH ACC MOV A,R0 CJNE A,12H,$+7 CPL P2.6 ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 14 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG LJMP MAIN POP ACC ; KEY_8: CJNE A,0BH,OTHER_KEY PUSH ACC MOV A,R0 CJNE A,13H,$+7 CPL P2.7 LJMP MAIN POP ACC OTHER_KEY: LJMP MAIN ; ; DELAY900US: ;DELAY 900us PUSH 05H MOV R5,#165 AGAIN: NOP NOP NOP DJNZ R5,AGAIN POP 05H RET ; -DELAY800US: ;DELAY 800us tdelay=150x5x1.085 PUSH 05H MOV R5,#150 AGAIN1: NOP NOP NOP DJNZ R5,AGAIN1 POP 05H RET ; DELAY600US: ;DELAY 600us tdelay=110x5x1.085 PUSH 05H MOV R5,#110 AGAIN2: NOP NOP ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 15 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG NOP DJNZ R5,AGAIN2 POP 05H RET ; LONG_DELAY1: ; tdelay=6x150x255=76500us PUSH 05H PUSH 06H PUSH 07H MOV R7,#6 AGAIN3: MOV R5,#50 REPEAT1: MOV R6,#255 HERE1: DJNZ R6,HERE1 DJNZ R5,REPEAT1 DJNZ R7,AGAIN3 POP 07H POP 06H POP 05H RET ; ; NHAY1: LJMP MAIN RET RESETPASSWORD: ; -NHAP PASSWORD CU LCALL DECODE CJNE A,00H,NHAY1 LCALL DECODE CJNE A,01H,NHAY1 LCALL DECODE CJNE A,02H,NHAY1 LCALL DECODE CJNE A,03H,NHAY1 ; NHAP PASSWORD MOI LCALL DECODE MOV 00H,A LCALL DECODE MOV 01H,A LCALL DECODE ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 16 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG MOV 02H,A LCALL DECODE MOV 03H,A LJMP MAIN RET ; -MO CUA -NHAY: LJMP MAIN RET ; -OPENDOOR: LCALL DECODE CJNE A,00H,NHAY LCALL DECODE CJNE A,01H,NHAY LCALL DECODE CJNE A,02H,NHAY LCALL DECODE CJNE A,03H,NHAY CPL P3.0 ;MO CUA LJMP MAIN RET ; TM: ;Thay mã LCALL DECODE ; NEXT1: CJNE A,#0H,NEXT2 LCALL DECODE MOV 4H,A LCALL DECODE MOV 0CH,A LJMP MAIN ; NEXT2: CJNE A,#1H,NEXT3 LCALL DECODE MOV 5H,A LCALL DECODE MOV 0DH,A LJMP MAIN ; NEXT3: ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 17 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG CJNE A,#2H,NEXT4 LCALL DECODE MOV 6H,A LCALL DECODE MOV 0EH,A LJMP MAIN ; NEXT4: CJNE A,#3H,NEXT5 LCALL DECODE MOV 7H,A LCALL DECODE MOV 0FH,A LJMP MAIN ; NEXT5: CJNE A,#4H,NEXT6 LCALL DECODE MOV 8H,A LCALL DECODE MOV 10H,A LJMP MAIN ; NEXT6: CJNE A,#5H,NEXT7 LCALL DECODE MOV 9H,A LCALL DECODE MOV 11H,A LJMP MAIN ; NEXT7: CJNE A,#6H,NEXT8 LCALL DECODE MOV 0AH,A LCALL DECODE MOV 12H,A LJMP MAIN ; NEXT8: CJNE A,#7H,NEXT9 LCALL DECODE MOV 0BH,A ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 18 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG LCALL DECODE MOV 13H,A NEXT9: LJMP MAIN END Bảng mã phím remote control Sony Mã Hex 14 36 15 00 01 02 3A 0B 0E 3B 12 13 10 11 16 74 75 60 65 Phím Muting Sleep Power Display Enter Ch Guide Jump Volume Up Volume Down Channel Up Channel Down Reset R+ LMenu Return IV.Hướng phát triển: Mạch tốt thêm yêu cầu sau đây: -Mạch dùng ic nhớ để lưu mật mã bị nguồn -Giải mã thêm nhiều loại remote SAMSUNG,PHILLIP… -Thiết kế nguồn riêng cho mạch đóng ngắt thiết bị TÀI LIỆU THAM KHẢO 1.Giáo trình vi xử lí - Phạm Quang Trí Website: http://www.ustr.net ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 19 [...]... nhớ để lưu mật mã khi bị mất nguồn -Giải mã thêm nhiều loại remote như SAMSUNG,PHILLIP… -Thiết kế nguồn riêng cho mạch đóng ngắt thiết bị TÀI LIỆU THAM KHẢO 1.Giáo trình vi xử lí - Phạm Quang Trí 2 Website: http://www.ustr.net ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 19 ... chứa trong 7 bit trái của A : A = D6D5D4D3D2D1D00 - Quay phải A được 7 bít phải của A chứa mã lệnh : A = 0D6D5D4D3D2D1D0 III.Mã nguồn chương trình: ORG 00H MOV P1,#0 MOV P2,#0 CLR P3.0 MOV SP,#29H ; -;PHIM MAC DINH MOV 04H,#0H MOV 05H,#1H MOV 06H,#2H MOV 07H,#3H MOV 08H,#4H MOV 09H,#5H MOV 0AH,#6H MOV 0BH,#7H MOV 0CH,#0H MOV 0DH,#1H MOV 0EH,#2H MOV 0FH,#3H ;Nạp địa chỉ cho ngăn xếp ĐIỂU KHIỂN... MINH HỒNG II Phương pháp giải mã tín hiệu Remote control SONY: Để thu 7 bit mã lệnh ta có thuật toán sau: 1 Thiết lập thanh ghi A = 01000000B 2 Khởi đầu bằng cách chờ tín hiệu xuống – Đây sẽ là bit START 3 Chờ cho tín hiệu lên - Đây là khởi đầu của bit 4 Chờ tín hiệu đi xuống 5 Chờ khoảng 750-950µs 6 Đo mức tín hiệu 7 Nếu mức tín hiệu là mức cao (UP) –Bit nhận được là bit 0 - Thiết lập bit nhớ C =... -KEY = 1 CPL P2.0 LJMP MAIN MOV R0,A POP ACC LJMP KEY_2 KEY_01: LCALL DECODE MOV R0,A POP ACC ; KEY_2: CJNE A,5H,KEY_3 PUSH ACC MOV A,R0 CJNE A,0DH,$+7 ; -KEY = 2 CPL P2.1 LJMP MAIN POP ACC ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 13 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG ; KEY_3: CJNE A,6H,KEY_4 PUSH ACC MOV A,R0 CJNE A,0EH,$+7 CPL P2.2 LJMP MAIN POP ACC ; KEY_4: CJNE A,7H,KEY_5... A,10H,$+7 CPL P2.4 LJMP MAIN POP ACC ; KEY_6: CJNE A,9H,KEY_7 PUSH ACC MOV A,R0 CJNE A,11H,$+7 CPL P2.5 LJMP MAIN POP ACC ; KEY_7: CJNE A,0AH,KEY_8 PUSH ACC MOV A,R0 CJNE A,12H,$+7 CPL P2.6 ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 14 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG LJMP MAIN POP ACC ; KEY_8: CJNE A,0BH,OTHER_KEY PUSH ACC MOV A,R0 CJNE A,13H,$+7 CPL P2.7 LJMP MAIN POP ACC OTHER_KEY:... ;DELAY 800us tdelay=150x5x1.085 PUSH 05H MOV R5,#150 AGAIN1: NOP NOP NOP DJNZ R5,AGAIN1 POP 05H RET ; DELAY600US: ;DELAY 600us tdelay=110x5x1.085 PUSH 05H MOV R5,#110 AGAIN2: NOP NOP ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 15 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG NOP DJNZ R5,AGAIN2 POP 05H RET ; LONG_DELAY1: ; tdelay=6x150x255=76500us PUSH 05H PUSH 06H PUSH 07H MOV... DECODE CJNE A,00H,NHAY1 LCALL DECODE CJNE A,01H,NHAY1 LCALL DECODE CJNE A,02H,NHAY1 LCALL DECODE CJNE A,03H,NHAY1 ; NHAP PASSWORD MOI LCALL DECODE MOV 00H,A LCALL DECODE MOV 01H,A LCALL DECODE ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 16 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG MOV 02H,A LCALL DECODE MOV 03H,A LJMP MAIN RET ; -MO CUA -NHAY: LJMP MAIN RET ; -OPENDOOR: LCALL DECODE... ;Thay mã LCALL DECODE ; NEXT1: CJNE A,#0H,NEXT2 LCALL DECODE MOV 4H,A LCALL DECODE MOV 0CH,A LJMP MAIN ; NEXT2: CJNE A,#1H,NEXT3 LCALL DECODE MOV 5H,A LCALL DECODE MOV 0DH,A LJMP MAIN ; NEXT3: ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 17 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG CJNE A,#2H,NEXT4 LCALL DECODE MOV 6H,A LCALL DECODE MOV 0EH,A LJMP MAIN ; NEXT4: CJNE A,#3H,NEXT5 LCALL DECODE MOV 7H,A... A,#5H,NEXT7 LCALL DECODE MOV 9H,A LCALL DECODE MOV 11H,A LJMP MAIN ; NEXT7: CJNE A,#6H,NEXT8 LCALL DECODE MOV 0AH,A LCALL DECODE MOV 12H,A LJMP MAIN ; NEXT8: CJNE A,#7H,NEXT9 LCALL DECODE MOV 0BH,A ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 18 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG LCALL DECODE MOV 13H,A NEXT9: LJMP MAIN END Bảng mã các phím của remote control Sony Mã Hex 14 36 15 00 01 02 3A 0B 0E... mã lệnh SJMP RP2 ;C=0 quay lại nhận tiếp tín hiệu BIT0: CLR C ;Tín hiệu mức cao bit nhận được là 0 RRC A JC END_SIGNAL ;Nếu C=1 thì nhận đủ 7 bit mã lệnh SJMP RP3 ; C=0 quay lại nhận tiếp tín hiệu ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 12 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG END_SIGNAL: ;7 bit bên trái của A chứa mã lệnh RR A ;7 bit bên phải của A chứa mã lệnh MOV P1,A ;Đưa mã tín hiệu ra port ... HỒNG NGOẠI TRANG 18 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG LCALL DECODE MOV 13 H,A NEXT9: LJMP MAIN END Bảng mã phím remote control Sony Mã Hex 14 36 15 00 01 02 3A 0B 0E 3B 12 13 10 11 16 74 75 60... A,# 010 00000B RP1: JB P3.3, RP1 ;Chờ tín hiệu xuống LCALL DELAY800US ;Kiểm tra bit=0 JB P3.3,RP1 ;Nếu P3.3 =1, thi bit la bit 0,quay lai RP1 LCALL DELAY600US ;Kiểm tra bit =1? JB P3.3,RP1 ;Nếu P3.3 =1, thi... MOV 0DH,#1H MOV 0EH,#2H MOV 0FH,#3H ;Nạp địa cho ngăn xếp ĐIỂU KHIỂN TỪ XA BẰNG REMOTE HỒNG NGOẠI TRANG 11 SVTH:VŨ VĂN CHUNG GVHD:TRẦN MINH HỒNG MOV 10 H,#4H MOV 11 H,#5H MOV 12 H,#6H MOV 13 H,#7H