Thông báo

Collapse
No announcement yet.

Giao tiếp giữa 2 vi điều khiển.

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

  • Giao tiếp giữa 2 vi điều khiển.

    Mình đang viết code cho 1 bài, nhưng làm hoài mà VDK B không nhận được dữ liệu khi mình mô phỏng trên Proteus.
    2 vdk 89c51 cách nhau 5m. VDK A gửi dữ liệu cho VDK B. VDK A có 1 nút nhấn SW. Khi nút nhấn ĐÓNG thì VDK B sẽ sáng 8 đèn led từ trái sang phải và tự
    động lặp lại. KHi nút nhấn MỞ thì VDK B sẽ sáng led đầu tiên, các led còn lại tắt.
    Các bạn giúp mình với!!! Mình viết code có ngắt để nhận và phát và dữ liệu. Nhưng mình không biết là chương trình chính có phải là chương trình kiểm tra nút nhấn hay không??? Hay tất cả code sáng 8 led từ trái sang phải đều nằm trong chương trình phục vụ ngắt ISR??? còn chuơng trình chính chỉ nhảy tại chỗ.
    Nếu các bạn code thì cho mình tham khảo nha.
    Cám ơn các bạn đã đọc chủ đề của mình!!!

  • #2
    quá đơn giản. Cho 8951 B lấy dữ liệu từ 1 port và xuất ra port khác liên tục ko cần delay 8951 A quyết định việc sáng đèn. Còn ko thích thì cứ viết chương trình sáng đèn cho 8951B rồi chờ 8951 A thay đổi trạng trái từ thấp lên cao hay gì đó tùy bạn, 8951 B nhận việc thay đổi trạng thái mà làm việc.
    Cái này chỉ là xuất có điều kiện bên ngoài chứ giao tiếp gì. Ko cần tới ngắt cũng đc

    Comment


    • #3
      đêy là code mình viết cho VDK B, không dùng ngắt port nối tiếp. NHưng không biết sai gì mà lại không chạy, không nhan dc dữ liệu!!! Bạn xem giúp mình nha!!!

      ORG 0000H
      MOV SCON,#50H
      MOV TMOD,#20H
      MOV TH1,#-12
      SETB TR1
      MAIN:
      JNB RI,$
      CLR RI
      MOV P2,SBUF
      JNB P2.0,LB
      MOV P1,#00000001B
      CALL DELAY
      JMP MAIN
      LB:
      MOV A,#00000001B
      LB1:
      MOV P1,A
      CALL DELAY
      CLR C
      RLC A
      JC MAIN
      JMP LB1

      Comment


      • #4
        Code:
        ORG	 0000H
        
        MAIN:
        MOV	R0,#8
        MOV	A,#00H
        SETB	ACC.7
        MAIN2:
        JNB	 P2.0,LB
        RL	A
        MOV	P1,A
        CALL	DELAY
        DJNZ	R0,MAIN2
        SJMP	 MAIN
        LB:
        MOV	 A,#00000001B
        MOV	P1,A
        JNB	 P2.0,$
        SJMP	MAIN
        DELAY:	
        	MOV	R7,#5
        	MOV	TMOD,#11H
        LOOPD:	MOV	TH0,#HIGH(-50000)
        	MOV	TL0,#LOW(-50000)
        	SETB	TR0
        	JNB	TF0,$
        	CLR	TF0
        	DJNZ	R7,LOOPD
        	CLR	TR0
        RET
        END
        chân p2.0 nối với 8951 A . Khi có sự thay đổi trạng thái ở chân p2.0 ( do 8951 A quyết định ) 8951 B sẽ chạy theo ý bạn nói ở trên

        Comment


        • #5
          Bạn chung nói cho mô phỏng à.Thực tế mà 5m thì với 8 dây thì lấy cáp rj45 nhé.DÙng 2 dây xuất áp vi sai.Chứ kô thì nhiễu lắm.
          , , ,

          Comment


          • #6
            Nguyên văn bởi rptdnmqs Xem bài viết
            Bạn chung nói cho mô phỏng à.Thực tế mà 5m thì với 8 dây thì lấy cáp rj45 nhé.DÙng 2 dây xuất áp vi sai.Chứ kô thì nhiễu lắm.
            5 m sài cách tăng áp truyền bằng transistor lên 12V rồi truyền đi là đc. Nếu đã ko truyền data thì phức tạp hóa lên làm gì

            Comment


            • #7
              Nguyên văn bởi chung1608 Xem bài viết
              Code:
              ORG	 0000H
              
              MAIN:
              MOV	R0,#8
              MOV	A,#00H
              SETB	ACC.7
              MAIN2:
              JNB	 P2.0,LB
              RL	A
              MOV	P1,A
              CALL	DELAY
              DJNZ	R0,MAIN2
              SJMP	 MAIN
              LB:
              MOV	 A,#00000001B
              MOV	P1,A
              JNB	 P2.0,$
              SJMP	MAIN
              DELAY:	
              	MOV	R7,#5
              	MOV	TMOD,#11H
              LOOPD:	MOV	TH0,#HIGH(-50000)
              	MOV	TL0,#LOW(-50000)
              	SETB	TR0
              	JNB	TF0,$
              	CLR	TF0
              	DJNZ	R7,LOOPD
              	CLR	TR0
              RET
              END
              chân p2.0 nối với 8951 A . Khi có sự thay đổi trạng thái ở chân p2.0 ( do 8951 A quyết định ) 8951 B sẽ chạy theo ý bạn nói ở trên
              BẠN ƠI!
              Hình như bạn nhầm thì phải, do đề của mình không rõ. hihi
              MÌnh nói vi dieu khien A truyền dữ liệu cho vi dieu khien B, thông qua TxD, RxD đó pạn. Truyền port nối tiếp đó. Và ý mình nói sử dụng ngắt ở đây là xử lý ngắt port nối tiếp. Có cần phải sử dụng ngắt port nối tiếp hay không???
              Cám ơn bạn nha. Đề mình nêu chưa rõ. VDK A chỉ nối với VDK B thông qua 2 chân Txd Rxd thôi. Truyền dữ liệu VDK A sang VDK B. Nút nhấn SW của A.

              Comment


              • #8
                Ax.Giao tiếp UART hay USRT thì bạn nói trước chứ.Làm mọi người loay hoay với cái đâu đâu.
                , , ,

                Comment


                • #9
                  Nguyên văn bởi ronaldodtvt Xem bài viết
                  BẠN ƠI!
                  Hình như bạn nhầm thì phải, do đề của mình không rõ. hihi
                  MÌnh nói vi dieu khien A truyền dữ liệu cho vi dieu khien B, thông qua TxD, RxD đó pạn. Truyền port nối tiếp đó. Và ý mình nói sử dụng ngắt ở đây là xử lý ngắt port nối tiếp. Có cần phải sử dụng ngắt port nối tiếp hay không???
                  Cám ơn bạn nha. Đề mình nêu chưa rõ. VDK A chỉ nối với VDK B thông qua 2 chân Txd Rxd thôi. Truyền dữ liệu VDK A sang VDK B. Nút nhấn SW của A.
                  ko hiểu truyền data đi làm gì trong khi data truyền ko để làm gì cả
                  Attached Files

                  Comment


                  • #10
                    Cám ơn bạn nhiều nha. Đây là 1 bài tập mà Thầy yêu cầu làm sau khi học phần truyền port nối tiếp. Ah. Nếu bài này mình viết mà sử dụng ngắt port nối tiếp có được không bạn???

                    Comment


                    • #11
                      Nguyên văn bởi ronaldodtvt Xem bài viết
                      Cám ơn bạn nhiều nha. Đây là 1 bài tập mà Thầy yêu cầu làm sau khi học phần truyền port nối tiếp. Ah. Nếu bài này mình viết mà sử dụng ngắt port nối tiếp có được không bạn???
                      được, nếu là 1 ứng dụng thì nên dùng ngắt

                      Comment


                      • #12
                        các anh giúp em với. em đang làm 1 bài thiết kế liên quan đến giao tiếp 2 vi điều khiển. em không biết cho 2 vi điều khiển ấy giao tiếp bằng cách nào?
                        đề tài cụ thể là thế này ạ:


                        Giao tiếp 2 vi điều khiển trong đó:
                        Vi điều khiển 1 – matter
                        Vi điều khiển 2 – Slaver
                        Vi điều khiển 1: có 2 bàn phím điều khiển tác động qua ngắt INT0, INT1
                        Vi điều khiển 2: + có bộ nhớ 28C64 (bộ nhớ EFPROM) chứa chương trình điều khiển 8 led
                        + port 0: 8led đơn
                        Yêu cầu:
                        - Khi chưa nhấn phím điều khiển 8 led nháy đuổi theo chu trình D0 đến D7
                        - Khi nhấn phím INT0: led nháy theo chu trình:
                        + led sáng lan dần từ trong ra
                        + sau đó 8 led nhấp nháy 10 lần và tắt dần từ ngoài vào trong
                        Quá trình sau đó sẽ lặp lại
                        - Khi nhấn INT1
                        +led sáng lan dần từ trái sang phải
                        +8led nhấy nháy 10 lần rồi tắt dần từ phải sang trái
                        Quá trình sẽ lặp lạị

                        thanks

                        Comment


                        • #13
                          rất tiễc bạn firefox về quê rồi buồn thật,một cao thủ vsl đấy các bạn ah

                          Comment


                          • #14
                            giao tiếp đơn giản nhất là port nối port, hoặc thường dùng là RS232
                            Tư vấn thiết kế hệ thống điện-điện tử theo yêu cầu.
                            Tel: 0903 702 417. Email: web:

                            Comment


                            • #15
                              các anh có thể giúp em phần viết chương trình được không ạ? em viết chương trình giao tiếp 2 con đó mà chạy k được
                              Last edited by vananh18; 28-10-2011, 13:56.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • mèomướp
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi mèomướp
                                Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                                Hôm qua, 13:11
                              • tuyennhan
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi tuyennhan
                                Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                                Hôm qua, 09:25
                              • tuyennhan
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi tuyennhan
                                Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                                Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                                Hôm qua, 09:10
                              • Ng.Phuong.5
                                Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                                bởi Ng.Phuong.5
                                Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                                Mấy con...
                                09-01-2025, 19:44
                              • viettinh
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi viettinh
                                Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                                Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                                09-01-2025, 18:12
                              • nguyendinhvan
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi nguyendinhvan
                                Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                                Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                                Cách đơn giản...
                                09-01-2025, 00:04
                              • mèomướp
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi mèomướp
                                Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                                08-01-2025, 19:02
                              • tuyennhan
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi tuyennhan
                                Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                                08-01-2025, 15:43
                              • tuyennhan
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi tuyennhan
                                Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                                08-01-2025, 15:28
                              • mèomướp
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi mèomướp
                                Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                                08-01-2025, 11:44
                              Đang tải...
                              X