RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • ntct
    replied
    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

    Leave a comment:


  • huyphuc1981
    replied
    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.

    Leave a comment:


  • HuyPhuc
    replied
    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ở.

    Leave a comment:


  • mrcuongcon
    replied
    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.

    Leave a comment:


  • vntuan12
    replied
    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?!

    Leave a comment:


  • mrcuongcon
    replied
    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

    Leave a comment:


  • vodangks
    replied
    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!!!

    Leave a comment:


  • mrcuongcon
    replied
    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é.
    Attached Files
    Last edited by mrcuongcon; 17-01-2009, 07:51.

    Leave a comment:


  • pavo_lusa
    replied
    mrcuongcon làm đồ án đến đâu rồi nhỉ? post lên cho anh em cùng bàn chứ. Mình cũng đang tò mò xem bạn dùng VB cho project này thế nào.
    Chúc vui!

    Leave a comment:


  • mrcuongcon
    replied
    Nguyên văn bởi team.hatlife Xem bài viết
    ủa nếu chơi vậy thì 1 con send là 2 con nhận đc à ?

    Vậy code phải thêm ID để phân biệt các con à ???
    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.

    Leave a comment:


  • team.hatlife
    replied
    ủa nếu chơi vậy thì 1 con send là 2 con nhận đc à ?

    Vậy code phải thêm ID để phân biệt các con à ???

    Leave a comment:


  • mrcuongcon
    replied
    sangthai có thể nói cụ thể về cách kết nói 3 con chíp được không, mình cũng đang định truyền tín hiệu như vậy, nhưng làm sao khó quá?
    Mạch thế này có được không bạn Sang Thái?
    [IMG][/IMG]

    Leave a comment:


  • vntuan12
    replied
    sangthai có thể nói cụ thể về cách kết nói 3 con chíp được không, mình cũng đang định truyền tín hiệu như vậy, nhưng làm sao khó quá?

    Leave a comment:


  • xuanluc_td07
    replied
    xin cac cao thu giup em voi . em co mot giao dien VB chi voi 2 nut nhan ,yeu cau la khi an mot nut thi no se truyen mot byte du lieu co dinh ra chan TXD cau cong RS232,va khi an nut con lai thi no se truyen mot byte khac co dinh luon ra chan TXD ra cong RS232.cac bac ai co the giup minh doan code nay voi.em dang can rat gap.mong cac bac giup do .co gi goi wa mail cho em cung dc. 'ngoxuanluc_tudong07@yahoo.com.vn'.em cam oin nhieu!

    Leave a comment:


  • mrcuongcon
    replied
    Nguyên văn bởi dung_vmtb Xem bài viết
    Minh Muốn Giao Tiếp Giữa 1 Eprom Với Một Vi Điều Khiển 89c Qua Chuẩn RS232 Có Được Không . Bạn Nào Làm Qua Rồi Giúp Mình Với. Đang Cần Gấp
    EEProm, tùy loại nhưng thường giao thức giao tiếp của nó hình như không có loại nào dùng chuẩn RS232 cả, mình chỉ thấy hoặc là giao tiếp song song, hoặc là giao tiếp theo chuẩn SPI hay I2c mà thôi.

    Leave a comment:

Về tác giả

Collapse

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

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

Collapse

There are no results that meet this criteria.

Đang tải...