Thông báo

Collapse
No announcement yet.

Giao tiếp vi xử lý với Máy tính ?

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

  • Giao tiếp vi xử lý với Máy tính ?

    Hiện tại mình đang làm mạch giao tiếp với vi xử lý với máy tính, thông qua trình HyperTermin của Windown.Phần mạch mình đã làm ok và viết xong phần code. Sau đó nạp vào mô phỏng trong Proteus thì chương trình hoạt động không đúng ý mình. Nghĩa là mình tạo một nút nhấn vào cổng P1.0. khi nút này nhấn thì đồng nghĩa đèn led trên cổng P0.0 sáng. sau đó gửi một ký tự "A" lên PC. Vấn đề là mạch giao tiếp đã Ok nhưng khi nhấn button thì nó gửi một loạt ký tự A lên PC chứ không gửi một ký tự A.Mà mục đích của mình là mỗi lần nhấn Button thì chỉ có 1 kí tự A được gửi đi thôi. Mình nghiên cứu mãi mà chưa biết giải quyết thế nào. anh em nào có nhiều kinh nghiệm về vấn đề này giúp mình với.Dưới đây là đoạn code mình viết trong Read51 và mô phỏng trên Proteus
    Click image for larger version

Name:	Code.jpg
Views:	1
Size:	50.4 KB
ID:	1418424

    Click image for larger version

Name:	Terminal.jpg
Views:	1
Size:	49.5 KB
ID:	1418425

    Click image for larger version

Name:	Simulator.jpg
Views:	1
Size:	165.7 KB
ID:	1418426

    link project

  • #2
    Nguyên văn bởi MrPLC Xem bài viết
    Hiện tại mình đang làm mạch giao tiếp với vi xử lý với máy tính, thông qua trình HyperTermin của Windown.Phần mạch mình đã làm ok và viết xong phần code. Sau đó nạp vào mô phỏng trong Proteus thì chương trình hoạt động không đúng ý mình. Nghĩa là mình tạo một nút nhấn vào cổng P1.0. khi nút này nhấn thì đồng nghĩa đèn led trên cổng P0.0 sáng. sau đó gửi một ký tự "A" lên PC. Vấn đề là mạch giao tiếp đã Ok nhưng khi nhấn button thì nó gửi một loạt ký tự A lên PC chứ không gửi một ký tự A.Mà mục đích của mình là mỗi lần nhấn Button thì chỉ có 1 kí tự A được gửi đi thôi. Mình nghiên cứu mãi mà chưa biết giải quyết thế nào. anh em nào có nhiều kinh nghiệm về vấn đề này giúp mình với.Dưới đây là đoạn code mình viết trong Read51 và mô phỏng trên Proteus
    [ATTACH=CONFIG]72495[/ATTACH]

    [ATTACH=CONFIG]72496[/ATTACH]

    [ATTACH=CONFIG]72497[/ATTACH]

    link project
    hiện tượng đó do bị dội phím .
    Code:
    
    ORG 0000H                                     
    SJMP START
    ORG	30h
    START:
                        MOV		SCON, #50h		;Port noi tiep mode 1
                       	mov		TMOD, #20h		;Timer 1 mode 2
                    	mov		TH1,#0Fdh		;9600 baud
                    	setb	TR1
    CheckPush :         JNB P1.0, RUN            ;Kiem tra nut nhan      
                        SETB P0.0                ;Tat den Led
                        SJMP CheckPush        
    
    
    RUN:               
                        CLR P0.0            
    AGAIN :             MOV  SBUF,#'A'
    HERE:               JNB  TI, HERE
                        CLR  TI 
    					JNB P1.0, $            ;cho nha phim 
    					lcall chong_doi_phim 
                        SJMP CheckPush  
    					     
    chong_doi_phim:
                      mov r7,#255
    		  djnz r7,$
    				  ret
    END
    |

    Comment


    • #3
      Cám ơn bạn, mình đã thử thành công!

      Comment


      • #4
        Các bạn tiếp tục giúp mình với, Hiện tại mình tiến hành làm mạch thật, lấy một vài sơ đồ chuẩn trên mang về làm mạch,quá làm phần cứng đã OK nhưng khi nạp code vào vi điều khiển và nhấn nút cho hoạt động thì trên Terminal không nhận được đúng kết quả gủi lên mà là một số ký lạ lạ. Như vậy không biết mình có sai chỗ nào không. bác nào đã làm mạch chuẩn rồi có thể cho em xin code và mạch được không. Em đã thử mua một đoạng cable RS232 ngon rồi nhưng thử vẫn vậy.
        mạch mình tham khảo ở đây:
        Click image for larger version

Name:	max232_map.png
Views:	1
Size:	55.3 KB
ID:	1384113

        Comment


        • #5
          Nguyên văn bởi MrPLC Xem bài viết
          Các bạn tiếp tục giúp mình với, Hiện tại mình tiến hành làm mạch thật, lấy một vài sơ đồ chuẩn trên mang về làm mạch,quá làm phần cứng đã OK nhưng khi nạp code vào vi điều khiển và nhấn nút cho hoạt động thì trên Terminal không nhận được đúng kết quả gủi lên mà là một số ký lạ lạ. Như vậy không biết mình có sai chỗ nào không. bác nào đã làm mạch chuẩn rồi có thể cho em xin code và mạch được không. Em đã thử mua một đoạng cable RS232 ngon rồi nhưng thử vẫn vậy.
          mạch mình tham khảo ở đây:
          [ATTACH=CONFIG]72887[/ATTACH]
          Sơ đồ mạch thì đúng rùi!
          Xem lại xem Baud của nó đã đồng bộ chưa???
          ĐT : 01676455880

          Comment


          • #6
            Nguyên văn bởi quanghuy_125 Xem bài viết
            Sơ đồ mạch thì đúng rùi!
            Xem lại xem Baud của nó đã đồng bộ chưa???
            Baud rate đã chỉnh chuẩn rồi bạn à. Theo mạch thì nó lắp con tụ 10uF, nhưng hiện tại mình chưa mua được con tụ 10uF lên mình sử dụng mấy con tụ 1uF ( Mình tìm hiểu trên mạng vẫn thấy một số mạch dùng tụ 1 uF) không biết vấn đề có thể nằm ở đây không ?
            Hic buồn quá mà chưa tìm được ra nguyên nhân.

            Comment


            • #7
              xem lại baud , xem lại phần mềm terminal trên PC xem có đúng, phù hợp hay không ! xem lại kiểu hiển thị của terminal nếu có
              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

              Comment


              • #8
                Nguyên văn bởi queduong Xem bài viết
                xem lại baud , xem lại phần mềm terminal trên PC xem có đúng, phù hợp hay không ! xem lại kiểu hiển thị của terminal nếu có
                Code mình lấy ở phía trên nạp vào, baurate mình để 9600, 8 bít. Nếu mô phỏng bằng Proteus thì mạch chạy OK, nhưng khi làm mạch thật thì không chạy được.Trong terminal mình đặt auto detect. Xin các bạn chỉ giáo!

                Comment


                • #9
                  Nguyên văn bởi MrPLC Xem bài viết
                  Code mình lấy ở phía trên nạp vào, baurate mình để 9600, 8 bít. Nếu mô phỏng bằng Proteus thì mạch chạy OK, nhưng khi làm mạch thật thì không chạy được.Trong terminal mình đặt auto detect. Xin các bạn chỉ giáo!
                  tự set đi chứ để gì mà auto ... chụp mấy cái hình teminal, mạch mẽo kèm theo bài viết để người khác dễ hình dung ... chứ nói khơi khơi ai biết mà giúp !
                  phần cứng đã chuẩn chưa , thạch anh đã lắp chuẩn chưa ?

                  Có người thì khẳng định mạch vẽ chuẩn thế nọ thế kia ... đến khi ... kiểm tra thì tụ đấu ngược , mạch vẽ sai tứ tung làm sao nó chạy !

                  Mạch của bạn chỉ chạy khi đủ mấy yếu tố cơ bản :

                  1) Mạch chuẩn
                  2) Set baud tương ứng với thạch anh chuẩn
                  3) firmware chuẩn
                  4) phần mềm trên PC set tương thích
                  ....
                  Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                  Comment


                  • #10
                    thạch anh 12 M là toi rồi.
                    chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                    Everything should be made as simple as possible, but not simpler

                    Comment


                    • #11
                      bạn kiểm tra lại thạch anh xem . có khi hỏng thạch anh rồi , thử thay con khác xem thế nào, có chạy không

                      Comment


                      • #12
                        Nguyên văn bởi MrPLC Xem bài viết
                        Baud rate đã chỉnh chuẩn rồi bạn à. Theo mạch thì nó lắp con tụ 10uF, nhưng hiện tại mình chưa mua được con tụ 10uF lên mình sử dụng mấy con tụ 1uF ( Mình tìm hiểu trên mạng vẫn thấy một số mạch dùng tụ 1 uF) không biết vấn đề có thể nằm ở đây không ?
                        Hic buồn quá mà chưa tìm được ra nguyên nhân.
                        Tụ 1uF là ok với max232 bạn à.
                        Vậy bạn cũng xem thạch anh khai báo với thạch anh thực tế của chíp có chuẩn chưa?
                        ĐT : 01676455880

                        Comment


                        • #13
                          Nguyên văn bởi daohuytien Xem bài viết
                          thạch anh 12 M là toi rồi.
                          Híc mình dùng thạch anh 12M cộng với 2 tụ 33pF, không biết có sao không ? đợi mình vẽ lại mạch rồi post lên sau đó nhờ các bạn xem có chỗ nào cần sửa không? Mình đã nạp thử một chuơng trình cho nháy led thì nó hoạt động bình thường.
                          Last edited by MrPLC; 27-08-2013, 08:35.

                          Comment


                          • #14
                            Nguyên văn bởi MrPLC Xem bài viết
                            Híc mình dùng thạch anh 12M cộng với 2 tụ 33pF, không biết có sao không ? đợi mình vẽ lại mạch rồi post lên sau đó nhờ các bạn xem có chỗ nào cần sửa không? Mình đã nạp thử một chuơng trình cho nháy led thì nó hoạt động bình thường.
                            Dùng sai tần số thạch anh rùi!
                            ĐT : 01676455880

                            Comment


                            • #15
                              Nguyên văn bởi MrPLC Xem bài viết
                              Híc mình dùng thạch anh 12M cộng với 2 tụ 33pF, không biết có sao không ? đợi mình vẽ lại mạch rồi post lên sau đó nhờ các bạn xem có chỗ nào cần sửa không? Mình đã nạp thử một chuơng trình cho nháy led thì nó hoạt động bình thường.
                              thấy bạn cmt bệnh cái là mình đoán được con thạch anh rồi. =)), đến đây thì ko còn nghi ngờ gì nữa. bạn thay con 12MHz bằng con 11.0592Mhz nhé, xem kết quả ra sao
                              Nguyễn Huy Biên - 01649 802 694
                              gmail :

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X