Thông báo

Collapse
No announcement yet.

Truyền nhận RS232 giữa 3 con chíp

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

  • #16
    Nguyên văn bởi mrcuongcon Xem bài viết
    Mình chưa định làm trên VB, chỉ là làm mạch thật rồi lập trình để nộp cô thôi. Bây h mình đã nghỉ tết rồi, chắc ra tết mới làm tiếp. Khi nào hoàn thành, mình sẽ up cả mạch và Code trên Assem và C cho mọi người cùng tham khảo.
    Chuyên ngành của mình không chuyên lắm về Vi điều khiển nên yêu cầu của cô cũng không phải là khó lắm.
    Đây là phần lập trình trên Assem, có chú thích khá rõ ràng, anh em tham khảo thử nhé. Có cả mạch gỉ lập đi kèm đó ( dùng Proteus nhé)

    Chúc anh em ăn tết thật vui vẻ. Chúng ta sẽ gặp nhau tại luồng này sau tết nhé.
    Ai cũng như bác thì tốt quá. Vi xử lý còn nhiều điều để học quá!!! Thanks bác nhiều!
    Có điều mình ko thấy phần giả lập bằng proteus trong file up lên của bác!!!

    Comment


    • #17
      Nguyên văn bởi vodangks Xem bài viết
      Ai cũng như bác thì tốt quá. Vi xử lý còn nhiều điều để học quá!!! Thanks bác nhiều!
      Có điều mình ko thấy phần giả lập bằng proteus trong file up lên của bác!!!
      Hic...Mình gửi nhầm file...
      Attached Files

      Comment


      • #18
        Hi mrcuongcon, mình cũng thích đề tài này lắm, bạn làm đến đâu rồi, nói mình học hỏi với, mình cũng cũng thử với 2 chíp rồi, giờ đến 3 con sao khó quá, bày cho tôi với?!

        Comment


        • #19
          Mấy file lập trình mình vừa gửi đã viết khá rõ trong đó rồi. Mình lại vừa học xong môn mạng công nghiệp và đã làm bài tập lớn môn đó, nên truyền nhận giữa 3 con chíp lần này mình áp dụng luôn, cũng không phải khó lắm.
          Đúng là 2 con chíp thì dễ rồi, nhưng nếu là 3 hoặc lớn hơn thì khác hẳn.

          Comment


          • #20
            ngợm, lấy lý thuyết PC ra mà bốc phét về 8051. Hồi này bọn PC đều lợn hóa vì bệnh search.
            Nguyên văn bởi mrcuongcon Xem bài viết
            hê hê, tất nhiên rùi, phải đưa Data vào một khung truyền, gồm có byte khởi đầu, các byte ID, các byte dữ liệu, byte kết thúc.


            ghép nối TTL thì đơn giản mà, tuy nhiên lại chỉ được ở tầm gần. Có 3 cách

            một là bạn dùng cổng, hai con giải mã địa chỉ như 138 cho hai chiều đi và về.
            hai là dùng các chân khác giả lập UART, 2 chân là một cặp, ví dụ lấy RX là chân ngắt, còn TX thì chân nào cũng được.
            ba là phần mềm, cái này hay nhất, có hai cách làm phần mềm.
            một là mềm mềm, chỉ có master được hỏi và bó thông tin có thêm một byte ID, đúng ID thì mới được trả lời.

            Hai là cách lưỡng mềm sụn, đạt tốc độ cao, nhưng không an toàn lắm đâu.
            cả master và slaver đều SM 01=1x (2 hoặc 3, truyền 9 bít)
            lúc khởi động, tất cả các slaver đều set SM2=1 , khi này, MCU chỉ thu khi bit 9 =1. master khi cần khởi động một MCU slaver nào, thì truyền một byte ID có bít 9 là 1. Tất cả các slaver đều nghe byte này, thằng slaver nào thấy ID của nó là chuyển SM2=0, lúc này nó sẽ chuyển sang chế độ nghe kể cả khi bit 9 khác 1. những thằng khác thì khóa SM2=1.
            Trong phiên truyền này, master chỉ truyền bít 9 bằng 0, như thế chỉ có chú vừa set SM2=0 là nhận. Bản thân chú cũng vậy, chỉ truyền bit 9 bằng 0.
            kết thúc phiên truyền, master lại truyền một bó bít 9 bằng 1 khác ra lệnh cho tất cả mọi người khóa hoặc trừ một chú khác mở.

            Comment


            • #21
              Phương pháp truyền qua SM2 trong khi SM0, SM1 bằng 2 hoặc 3 bên trên, là phương pháp nhà sản xuất Intel dành sẵn cho truyền kiểu này, thiết lập một mạng các MCU trong một máy, rất phổ biến. Nó có thuân lợi là mất rất ít thông tin và năng lực xử lý để làm việc với các bó tin lớn. Nhược điểm là chưa có kiểm tra sai. Tuy nhiên, nhược điểm này là vô nghĩa khi đặt trong cùng một máy, khoảng cách gần. Nếu như có nhiều dây nối mêm hay sinh lỗi thì sử dụng chế độ truyền 7 bit giá trị, bit 8 là parity, nhờ đó phát hiện và sửa sai.


              Để truyền xa, phải dùng RS232 qua max232, tuy nhiên, xuất hiện các tình huống là mắc cùng chung TX của các slaver, dễ làm hỏng max232 nên protocol phải thật an toàn, đừng cho hai thằng cùng phát.

              Comment


              • #22
                các bác oi cho e hoi tý em muốn thiết kế hệ truyền tin nối tiếp lập trình UART 8250 hoặc 8251A với bộ vi sử lý on chip 89c51 e phải làm ntn đây hic e mới học vxl mà mong các a đi trước chi giáo e !! thanks các bác nhiều
                CÁC THIÊN TÀI THỰC THỤ :
                sáng đá lá đa
                chiều đá cóng bơ

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...
                X