Thông báo

Collapse
No announcement yet.

Hồng ngoại

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Hồng ngoại

    mình dùng mạch để phát và thu hồng ngoại bằng 2 con 8051.
    Có ai biết code nhân tín hiệu xung như thế nào ko?
    Giúp mình với

  • #2
    thử code này nhé ,mình làm bằng asm
    có thể lập trinh giải mã hoặ tự thiết kế bộ phát riêng rồi phát mã theo ý mình
    SHARE KHO PHIM LỚN

    Comment


    • #3
      minh dang làm đố án thuphat :dung hồng ngoại để truyền dữ liệu giữa 2 con 89s52.
      mình dùng hai chan TXD và RX để phát và thu.
      nhưng mà chưa biết cách khởi động phát và thu như thế nào,mình co đọc sách của thầy ON nhưng chưa hiểu lắm.
      bác nào có thể giải thích làm cách nao để khởi động quá trình phát_thu được không.
      nếu có code asm thi cho minh tham khảo luôn được ko.
      mail: tramkhoa@gmail.com

      Comment


      • #4
        Nguyên văn bởi giaosucan Xem bài viết
        thử code này nhé ,mình làm bằng asm
        có thể lập trinh giải mã hoặ tự thiết kế bộ phát riêng rồi phát mã theo ý mình
        Thử "code này" nhé sao không thấy đâu hết vậy, bạn post lên đi cho pà con tham khảo luôn
        |

        Comment


        • #5
          Mình đã làm như thế này:
          Phát: phát xung có độ rộng không đổi, cần nhiều mã khác nhau thì phát số lượng xung khác nhau.
          Thu: Dùng Timer để đếm xung, sau đó nhận đựợc bao nhiêu xung ---> Thực hiện công việc.
          Đây là Code phát, thu. Viết = asm. Trong phần "phát", bác chỉ cần chú ý phần "phat_ma:" , còn mấy cái kia là do cần nhiều mã => cần nhiều phím => Chương trình phải có quét ma trận phím, tôi cứ post cả cho "chắc ăn".
          phát:


          #include <sfr51.inc>

          org 00h
          ljmp main

          org 40h
          main:
          clr p3.3
          mov sp,#5fh
          lcall khoitao
          loop:
          lcall quetphim
          lcall delay10ms
          lcall delay10ms
          lcall delay10ms
          sjmp loop
          ;--------------------------------
          khoitao:

          ret
          ;--------------------------------
          quetphim:
          mov p2,#0f0h
          nop
          nop

          jnb p2.4,hang1
          jnb p2.5,hang2
          jnb p2.6,hang3
          ret
          hang1:
          lcall delay10ms
          jnb p2.4,$
          mov r1,#80
          lcall phat_ma
          ret

          hang2:
          lcall delay10ms
          jnb p2.5,$
          mov r1,#160
          lcall phat_ma
          ret
          hang3:
          lcall delay10ms
          jnb p2.6,$
          mov r1,#240
          lcall phat_ma
          ret
          ;--------------------------------

          phat_ma:
          setb p3.3
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          ;nop

          clr p3.3
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          djnz r1,phat_ma
          ret
          ;--------------------------------

          tre1ms:
          mov r1,#100
          trelap:
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          djnz r1,trelap
          ret
          delay10ms:
          mov r2,#10
          delay_loop1:
          mov r3,#100
          delay_loop2:
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          djnz r3,delay_loop2
          djnz r2,delay_loop1
          ret
          ;--------------------------------
          end

          @@@@@@@@@@@@@@@@@@@@@@@@@@@@
          Thu.Thu 3 mã khác nhau, điều khiển động cơ và có hiển thị lên LCD.
          Phần thu nằm trong chương trình con "int0isr".
          code:

          ;Motor: P2
          ;IR Receiver: P3.2
          ;Bip: p3.3
          ;LCD: p0 + P1
          ;-----------------
          #include <sfr51.inc>

          nguong_1 equ 0bh
          nguong_2 equ 13h

          org 00h
          ljmp main

          org 03h
          ljmp int0isr

          org 40h
          main:
          mov sp,#5fh
          lcall khoitao
          loop:
          sjmp loop
          ;--------------------------------
          khoitao:
          lcall delay10ms
          lcall delay10ms
          lcall delay10ms

          mov a,#38h
          lcall write_cmd
          mov a,#0ch
          lcall write_cmd
          mov a,#01h
          lcall write_cmd

          mov dptr,#thongbao4
          lcall trabangthongbao
          mov a,#0c0h
          lcall write_cmd
          mov dptr,#thongbao5
          lcall trabangthongbao

          setb it0
          setb ex0
          setb ea

          mov tmod,#01h
          ret
          ;--------------------------------
          int0isr:
          mov th0,#0
          mov tl0,#0
          setb tr0

          jnb p3.2,$
          clr tr0
          mov a,th0
          push acc

          clr c
          subb a,#nguong_1
          jc chay_thuan
          pop acc
          clr c
          subb a,#nguong_2
          jc chay_nguoc

          stop:
          lcall bip
          mov p2,#11111111b
          mov a,#0c0h
          lcall write_cmd
          mov dptr,#thongbao3
          lcall trabangthongbao
          reti

          chay_thuan:
          pop acc
          lcall bip
          mov p2,#11001100b
          mov a,#0c0h
          lcall write_cmd
          mov dptr,#thongbao1
          lcall trabangthongbao
          reti

          chay_nguoc:
          lcall bip
          mov p2,#00110011b
          mov a,#0c0h
          lcall write_cmd
          mov dptr,#thongbao2
          lcall trabangthongbao
          reti
          bip:
          clr p3.3
          lcall delay10ms
          setb p3.3
          ret
          ;--------------------------------
          trabangthongbao:
          clr a
          movc a,@a+dptr
          jz het_thong_bao
          lcall write_data
          inc dptr
          sjmp trabangthongbao
          het_thong_bao:
          ret
          ;-------------------------------------
          delay10ms:
          mov r4,#10
          loop1:
          mov r3,#100
          loop2:
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          djnz r3,loop2
          djnz r4,loop1
          ret
          ;-------------------------------------
          write_cmd:
          mov P0,a
          clr P1.1
          clr P1.2
          nop
          nop
          setb P1.0
          nop
          nop
          clr P1.0
          lcall delay10ms
          ret
          ;-------------------------------------
          write_data:
          ;mov P0,a
          clr P1.1
          setb P1.2
          mov p0,a
          nop
          nop
          setb P1.0
          nop
          nop
          clr P1.0
          lcall delay10ms
          ret
          ;-------------------------------------
          thongbao1:
          db 'F','o','r','w','a','r','d',' ',0
          thongbao2:
          db 'R','e','v','e','r','s','e','d',0
          thongbao3:
          db 'S','t','o','p',' ',' ',' ',' ',0
          thongbao4:
          db 'M','o','t','o','r',0
          thongbao5:
          db 'R','e','a','d','y',0

          end
          @@@@@@@@@@@@@@@@@@@@@
          Chương trình này em đã chạy ngon rồi đấy! Chúc bác thành công!
          Nỏ biết chữ mần răng ký được??!! Thôi nhé.

          Comment


          • #6
            thanks !
            minh se thu.dang ban qua nen ko online thuong xuyen duoc.

            Comment


            • #7
              Sóng hồng ngoại được ứng dụng nhiều trong điều khiển các thiết bị điện tử từ xa do nó dễ tạo ra và không bị nhiễu bởi sóng điện từ.

              Để giao tiếp hồng ngoại chính xác, tránh được các tín hiệu giả, thì trong điều khiển người ta sử dụng các “key” để cho bộ phận thu phân biệt được đâu là tín hiệu điều khiển, đâu là tín hiệu giả hoặc là nhiễu .

              Bộ phát IR có nhiệm vụ tạo ra sóng hồng ngoại dưới dạng chuỗi xung quanh 1 tần số trung tâm. Bộ phận thu IR được điều chỉnh để có thể thu được các sóng hồng ngoại quanh tần số trung tâm này. Thông thường, tần số trung tâm được chọn là từ 30-60 KHz .Thực tế, người ta thường chọn 36KHz.

              Bộ phát sử dụng tần số 36KHz để phát thông tin đi. Tia hồng ngoại được phát đi bởi Diode phát hồng ngoại với chuỗi 36.000 lần trong 1s .

              Tạo ra xung hồng ngoại tần số 36 KHz thì khá dễ, cái khó là làm sao thu và nhận dạng được tần số này. Các nhà sản xuất đã giải quyết vấn đề này bằng cách chế tạo ra các bộ thu hồng ngoại được tích hợp bên trong các bộ lọc, bộ giữ mã, bộ sửa dạng xung ngõ ra…nhờ đó xung vuông được khôi phục, đồng thời loại bỏ tần số sóng mang 36KHz .

              Với tần số sóng mang 36KHz sẽ tạo ra xung vuông có chu kỳ xấp xỉ 27µs, xung này tác động đến cực B của transistor, transistor dẫn, lái dòng qua LED phát IR, do đó LED phát IR sẽ phát IR với f = 36 KHz. Cùng lúc đó, bộ thu IR thu được sóng IR này sẽ chuyển ngõ ra lên mức cao ( +5V ).

              Comment


              • #8
                Mình đang làm khóa cửa tự động dùng phát hồng ngoại bằng 555 và được truyền dữ liệu qua chân TXD của 89C51 dùng truyền nối tiếp. Bạn nào có code mã hóa số key (từ bàn phím) dùng 89c51 mã hóa truyền qua mạch phat xung 555. Xin gửu file qua maill:tuan_c1dt1@yahoo.com. Mình cần gấp để hoàn thành báo cáo. Mình cảm ơn.

                Comment


                • #9
                  cac ban co the cho minh xin so do mach dc kg..cam on cac ban nhieu

                  Comment


                  • #10
                    có thể dùng IC PT2265 + vi điều khiển

                    Comment


                    • #11
                      con PT2265 nay co toi da 8 kenh tin hieu !vay tan so moi chan tin hieu no phat ra la bao nhieu? co ai bit ko

                      Comment

                      Về tác giả

                      Collapse

                      moonboy1985 Tìm hiểu thêm về moonboy1985

                      Bài viết mới nhất

                      Collapse

                      Đang tải...
                      X