Thông báo

Collapse
No announcement yet.

thắc mắc khi làm mạch thật dùng AT89C51!!!

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

  • thắc mắc khi làm mạch thật dùng AT89C51!!!

    ae cho mình hỏi mạch của mình khi mắc nguồn 5V vào thì nguồn sụt áp còn khoảng 2,3V, các cổng P1-P3 với mức logic 1 thì có điện áp là 2,3V trong khi cổng P0 lại chỉ có mức điện áp là 1,13V...Mình dùng các bit của P2 để nối với LED nhưng khi nối LED với bit 1 của P2 chẳng hạn thì điện áp trên chân này ( P2.1) lại sụt còn 1,12V và Led ko sáng

    bên trong con AT89C51 ko biết có làm sao ko????

    với cả khi quan sát màu trạng thái trên Proteus của các cổng thì sau khi RESET hệ thống mình kiểm tra thì các chân của P1-P3 có mức logic là 1 còn các chân của P0 lại có trạng thái là float ( màu ghi như mặc định trong Proteus

    Không hiểu như vậy thì có j sai ko mặc dù mạch của mình hoạt động ngon , đếm và hiển thị ra LED 7 thanh ok

    mong các ae jair đáp jup mình
    Last edited by machithanh; 07-05-2009, 18:24.
    |

  • #2
    Bạn nên kiểm tra các phần sau:
    - Nguồn cấp ổn định hay không ? Nên lấy nguồn từ máy tính.
    - Kiểm tra chạm chập có thể có khi làm mạch.
    Với chip chưa nạp chương trình khi cấp nguồn thì các chân của các Port đều ở mức cao (5V luôn)
    Làm mạch thi làm luôn, mô phỏng làm gì thêm mâu thuẫn

    Comment


    • #3
      các thứ mình nói là trong mạch thật ý mạch ko chạm chập j cả.... nguồn dùng nguồn 5V tự tạo ( biến áp , chỉnh lưu cầu ...) chứ ko dùng nguồn USB đâu

      float ( màu ghi như mặc định trong Proteus)
      ý mình muốn thắc mắc là sao riêng P0 lại khác với các Port khác ý
      |

      Comment


      • #4
        À !! bạn có treo P0 bằng trở treo chưa ?
        Nguồn cấp 5V vào thì phải còn nguyên 5V chứ sao lại tụt xuống 2V3 được ?

        Comment


        • #5
          mình chả dùng con trở nào cả..mình chỉ dùng trở trong mạch reset thế mà nó vẫn sụt từ 5V xuống 2,7V mới kinh chứ
          |

          Comment


          • #6
            Vui ghê ! 2 thằng chạy qua chạy lại
            Thế này ! Nguyên tắc muốn P0 làm cổng I/O thì phải treo trở
            Còn vấn đề tụt áp có 2 nguyên nhân:
            - Nguồn yếu (bạn nói cụ thể mạch nguồn của bạn nối thế nào đi)
            - Mạch bị chạm nhẹ

            Comment


            • #7
              hehe =)) đến hài :-j
              Thế này ! Nguyên tắc muốn P0 làm cổng I/O thì phải treo trở
              tức là muốn P0 làm port xuất nhập thì fair treo trở hả bạn ??? mà treo trở như thế nào bạn nói kĩ jup mình cái .. có fair con A103J có 1 hàng 9 chân ko bạn


              Còn vấn đề tụt áp có 2 nguyên nhân:
              - Nguồn yếu (bạn nói cụ thể mạch nguồn của bạn nối thế nào đi)
              - Mạch bị chạm nhẹ
              nguòn của mình là mạch biến áp từ nguồn điện dân dụng bt ý mà : mạch chỉnh lưu cầu , 7805 ,7812 79xx để xuất nguồn âm dương với jas trị +-5V +-12V ...Mình làm theo những j được học ở trường ở môn điện tử tương tự ý mà

              _nguồn chạm nhẹ : là như thế nào hả bạn chưa cắm nguồn thì đo nguồn đúng 5V mà bạn
              |

              Comment


              • #8
                Dùng điện trở thanh có giá trị từ 4K7 đến 10K đều làm trờ treo cho 89 được.
                A103J chính là 1*10^3 = 10K. Chân số 1 (có dấu) chấm thì nối lên 5V, 8 chân còn lại cho mỗi P0_x 1 cái. Như vậy gọi là treo trở cho P0.
                Mình không nói nguồn chạm nhẹ mà là mạch chạm nhẹ dẫn đến tụt áp. Nhìn trên mạch của bạn xem có nghi ngờ chỗ nào có khả năng bị chạm thì xử lí.
                Nếu không có tốt nhất nên dùng nguồn khác.
                Kinh nghiệm của mình khi làm mạch để học tập là tương luôn 1 cái cổng USB vào mạch, lấy nguồn từ máy tính luôn. Vì khi lập trình ai mà không ngồi bên máy tính

                Comment


                • #9
                  ae cho mình hỏi mạch của mình khi mắc nguồn 5V vào thì nguồn sụt áp còn khoảng 2,3V, các cổng P1-P3 với mức logic 1 thì có điện áp là 2,3V trong khi cổng P0 lại chỉ có mức điện áp là 1,13V...Mình dùng các bit của P2 để nối với LED nhưng khi nối LED với bit 1 của P2 chẳng hạn thì điện áp trên chân này ( P2.1) lại sụt còn 1,12V và Led ko sáng
                  - Bạn machithanh thử up cái sơ đồ lên, anh em xem thử thì mới biết nguyên lý có ổn không. Nếu mà nguyên lý ổn thì lỗi phần cứng có thể xảy ra trong quá trình thao tác hoặc lỗi do linh kiện.
                  - Một VDK muốn hoạt động được tối thiểu phải đảm bảo 3 yếu tố sau:
                  + Nguồn phải đảm bảo. Trong thực tế 80% các lỗi xảy ra là do nguồn
                  + Mạch dao động phải nối đúng. mạch dao động là trái tim của hệ vi xử lý, xung nhịp của nó quyết định hoạt động của CPU giống như nhịp tim trong cơ thể bạn vậy. Tim mà ngừng đập hoặc đập loạn xà ngầu là chít.
                  + Mạch reset phải nối đúng.
                  - Nếu 3 yếu tố này được đảm bảo thì VDK có thể chạy được, còn chạy đúng theo mong muốn hay không thì hồi sau mới rõ.
                  - Mạch của bạn khi cấp nguồn vào mà điện áp nguồn sụt xuống chỉ còn 2,3V là không ổn rồi, chắc chắn có vấn đề về nguồn. Bạn thử kiểm tra một số trường hợp sau xem:
                  + Kiểm tra nguội, chạm chập...
                  + Kiểm tra công suất của mạch. Tôi nghi ngờ rằng nguồn của bạn cấp nguồn không đủ, trong khi tải yêu cầu dòng lớn hơn dòng cung cấp của nguồn, điều đó làm cho điện áp bị kéo tụt xuống. Bạn kiểm tra biến áp và mạch nguồn nếu thấy nóng hơn mức bình thường thì nhiều khả năng ở trường hợp này.
                  - Cổng P0 bạn nối với ngoại vi nào, nếu bạn dùng làm đầu vào để đọc dữ liệu thì bạn cần phải có điện trở pull up. Nếu chỉ làm đầu ra thì không cần.
                  - Bạn chú ý một điều nữa là công suất trên các chân của họ VDK 8051 rất yếu (đây là nhược điểm lớn nhất của họ này). Vì thế nó chỉ có thể hút dòng mà không thể bơm dòng được. Khả năng bơm dòng ra khi đầu ra ở mức cao của các vi sử lý họ này là rất yếu, nhỏ hơn 100uA. Khi thiết kế để đầu ra của VDK 8051 phải bơm ra một dòng điện lớn hơn 60mA thì nhà sản xuất chỉ đảm bảo điện áp ở chân ra lớn hơn 2,4V chứ không thể được 5V như lý thuyết (theo datasheet). Chính vì vậy nếu bạn mắc Anot của LED vào chân VDK và Katot nối đất thì LED hầu như không sáng và điện áp trên chân đó sẽ bị kéo tụt xuống. Bạn thử kiểm tra xem lỗi xảy ra có phải trong trường hợp này không.

                  Thân mến,
                  For a better world

                  Comment


                  • #10
                    tức là muốn P0 làm port xuất nhập thì fair treo trở hả bạn ??? mà treo trở như thế nào bạn nói kĩ jup mình cái .. có fair con A103J có 1 hàng 9 chân ko bạn
                    - Tại sao cổng P0 khi dùng làm I/0 phải có điện trở treo cao? Câu trả lời bạn có thể xem trong datasheet phần cổng vào ra. Tôi có thể giải thích ngắn gọn thế này: (sơ đồ cấu trúc cổng trong file đính kèm)
                    + Cổng P0 không có điện trở treo cao bên trong giống như các cổng khác, mạch lái tạo mức cao chỉ có khi sử dụng cổng này với tính năng là bus dồn kênh địa chỉ/dữ liệu. Như vậy thì với chức năng vào ra thông thường, P0 là cổng ra open drain, với chức năng vào P0 là cổng vào cao trở. Nếu muốn sử dụng P0 làm cổng vào ra thông thường ta phải sư dụng điện trở treo cao bên ngoài.
                    + Các cổng P1,P2,P3 đều có điện trở treo cao bên trong, do đó có thể dùng với chức năng vào ra thông thường mà không cần có điện trở treo ngoài. Thực chất điện trở treo cao bên trong của các cổng này là các FET, không phải điện trở tuyến tính thông thường.

                    + Sorry, cái ảnh bmp lớn hơn 1M mà hổng bít úp kỉu gì, đành copy ra word. machithanh có rành việc úp lót file này không dạy tui một chút. thanks

                    Thân mến,
                    Attached Files
                    For a better world

                    Comment


                    • #11
                      từ từ các ae giải thik một lô một lốc kiến thức thế này =)) machithanh mới vào nghề fải đọc từ từ mới thấm được hết..có j sẽ hỏi ae tiếp . rất cám ơn các ae

                      cái ảnh bmp lớn hơn 1M mà hổng bít úp kỉu gì, đành copy ra word. machithanh có rành việc úp lót file này không dạy tui một chút. thanks
                      Toan.Lv save file dưới dạng JPEG chứ BMP nặg lắm , gấp 5 6 lần chứ chả chơi
                      còn phải nhờ ae nhiều
                      |

                      Comment


                      • #12
                        Toan.Lv save file dưới dạng JPEG chứ BMP nặg lắm , gấp 5 6 lần chứ chả chơi
                        Cám ơn đã chỉ dẫn, tại chẳng up tài liệu bao giờ, toàn down

                        Bạn làm mạch thật thì bạn cắm trên testboard, tự làm mạch in, hay là đặt mạch in. Nếu là sinh viên và cần tiết kiệm thì bạn có thể tự làm mạch in cũng được, nhưng mà chỉ làm với mạch in một mặt thôi, tự làm mạch in 2 mặt tương đối khó. Nếu có điều kiện tôi khuyên bạn nên đặt mạch in. Vừa đẹp, mà test lại đơn giản.

                        - Cho dù là mạch đơn giản hay phức tạp, việc đầu tiên khi cầm mạch in về là bạn phải kiểm tra nguội, đo nguồn đất xem có chập không, xem các tín hiệu khác xem có chập không.
                        - Sau đó hàn linh kiện, nên hàn phần nguồn trước (nếu mạch nguồn làm luôn trên board).
                        - Hàn xong kiểm tra lại trước khi cấp nguồn.
                        - Kinh nghiệm là làm thật cẩn thận, từng bước từng bước một. Đến khi đã quen bạn sẽ thấy mọi việc thật là đơn giản.

                        Thân mến,
                        For a better world

                        Comment


                        • #13
                          kiểu này chắc phải đổi cách xưng hô, bác Toan.Lv mới đúng Thực ra là e đang là sinh viên năm 3 khoa điện tử viễn thông ĐHBKHN...e đang làm cái bài tập lớn vi xử lí...mới làm lần đầu nên cũng chưa nắm chắc ... phải đi hỏi các bậc tiền bối trong diễn đàn ... bọn a có kinh nghiệm, chứ e đã làm bao h đâu...bây h mới làm lần đầu tiên

                          Cổng P0 bạn nối với ngoại vi nào, nếu bạn dùng làm đầu vào để đọc dữ liệu thì bạn cần phải có điện trở pull up. Nếu chỉ làm đầu ra thì không cần.
                          Nếu muốn sử dụng P0 làm cổng vào ra thông thường ta phải sư dụng điện trở treo cao bên ngoài.
                          Port0 của e dùng làm port xuất dữ liệu .. e có dùng điện trở treo j đâu mà mạch vẫn chạy ngon mà... vấn đề là e thắc mắc cái port2 ý bác à..dùng làm port nhấp nháy các Led mà đang 2,4V với mức logic 1 mắc LED vào fát 1,2 V ngay nên Led chả sáng được
                          Kiểm tra công suất của mạch. Tôi nghi ngờ rằng nguồn của bạn cấp nguồn không đủ, trong khi tải yêu cầu dòng lớn hơn dòng cung cấp của nguồn, điều đó làm cho điện áp bị kéo tụt xuống. Bạn kiểm tra biến áp và mạch nguồn nếu thấy nóng hơn mức bình thường thì nhiều khả năng ở trường hợp này.
                          có thể do cái này bác à



                          Bạn chú ý một điều nữa là công suất trên các chân của họ VDK 8051 rất yếu (đây là nhược điểm lớn nhất của họ này). Vì thế nó chỉ có thể hút dòng mà không thể bơm dòng được. Khả năng bơm dòng ra khi đầu ra ở mức cao của các vi sử lý họ này là rất yếu, nhỏ hơn 100uA. Khi thiết kế để đầu ra của VDK 8051 phải bơm ra một dòng điện lớn hơn 60mA thì nhà sản xuất chỉ đảm bảo điện áp ở chân ra lớn hơn 2,4V chứ không thể được 5V như lý thuyết (theo datasheet). Chính vì vậy nếu bạn mắc Anot của LED vào chân VDK và Katot nối đất thì LED hầu như không sáng và điện áp trên chân đó sẽ bị kéo tụt xuống. Bạn thử kiểm tra xem lỗi xảy ra có phải trong trường hợp này không.
                          bác mô tả đúng hiện tượng cái mạch của e. Thé làm thế nào để e dùng Port 2 làm nhấp nháy các LED được hả bác
                          Last edited by machithanh; 07-05-2009, 23:29.
                          |

                          Comment


                          • #14
                            Bạn nối theo thứ tự: +5V -> 330R -> Led -> P2_x
                            Như vậy khi lập trình bạn cho các chân P2_x=0 là các led sẽ sáng.
                            Mắc kiểu đó thì 89 sẽ hút dòng.

                            Comment


                            • #15
                              đúng rồi ,
                              Vì thế nó chỉ có thể hút dòng mà không thể bơm dòng được.
                              để mai e thử mạch thật xem sao , tối nay ở nhà ko có mạch nạp cám ơn các bác
                              |

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X