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

  • #16
    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.
    e đã làm như bác hướng ẫn và mạch cảu e đá hoạt động trơn tru như phần mềm lập trình
    nhưng mà cái vấn đề mà nguồn 5V cắm vào mạch sụt còn 2,7V thì e vẫn chưa biết jải quyết thế nào bác à
    e đã kiểm tra nguồn rồi OK..còn mạch thì sợ chạm chập ở bên trong bảng Board thôi chứ bên ngoài ko có vấn đề j. Nếu như vậy e có thể đi làm mạch in rồi lắp linh kiện vào luôn được ko hả các bác
    |

    Comment


    • #17
      Mạch chạy thì OK rồi, hóa ra trước giờ cắm Test board à ?
      Nếu là mạch học tập thì thêm cái cổng USB vào dùng cho tiện.

      Comment


      • #18
        e cắm Test Board đấy, dùng nguồn 5V ngon .. thế e mới bảo là chắc do cái Test borard nó chập ngầm bên trong hay ntn
        chứ e kiểm tra hêé rồi mà
        |

        Comment


        • #19
          a các bác cho e hỏi, jả sử nguồn của e khi cắm vào mạch mà vẫn đảm bảo 5V ( tức là mạch ok ko chạm chập j cả ) thì với các Led đơn hay Led 7 đoạn có fải dùng điện trở ko ạ, nếu ko dùng thì các led có thể cháy ko ạ .. vì bọn e định làm mạch in luôn nên fải biết có cần trở ko để vẽ mạch in.. ko làm mạch in sai là toi
          |

          Comment


          • #20
            Phải dùng trở chứ, khoảng 330R vào các chân a, b, c, d, e, f và dot
            Led 7 đoạn thực ra nó có 8 con Led trong đó (tính cả dấu chấm) nên khi cấp nguồn cho nó cũng giống như Led đơn, phải dùng trở hạn dòng cho nó.

            Comment


            • #21
              Giờ mà xài 89C51 thì oải lắm, nên chuyển qua 89S hoặc 89V cho nó khỏe, nạp dễ dàng, nhanh chóng!

              Comment


              • #22
                Nguyên văn bởi vodangks Xem bài viết
                Giờ mà xài 89C51 thì oải lắm, nên chuyển qua 89S hoặc 89V cho nó khỏe, nạp dễ dàng, nhanh chóng!
                Cũng tùy thôi bác ah! Được cái các con này lập trình như nhau nên có thể dùng thay thế nhau được, kết cấu phần cứng cũng thế mà.
                Nói chung có gì dùng cái đó, em sắm được mạch nạp ở chỗ PNLab nên con gì mình có cũng chơi được!
                Trần Đức Sơn

                tel:0934691385

                Comment


                • #23
                  Cũng tùy thôi bác ah! Được cái các con này lập trình như nhau nên có thể dùng thay thế nhau được, kết cấu phần cứng cũng thế mà.
                  Nói chung có gì dùng cái đó, em sắm được mạch nạp ở chỗ PNLab nên con gì mình có cũng chơi được!
                  - Kết cấu phần cứng của loại C và loại S không khác nhau là mấy. Tuy nhiên loại S có đặc điểm tốt hơn loại C là nó hỗ trợ nạp In-System. Do các dòng C không hỗ trợ nạp In-System nên kể cả bạn mua mạch nạp của PNLab thì vẫn phải tháo chíp ra mỗi lần nạp. Điều này thật là bất tiện. Nên dùng loại S cộng với 1 cái mạch nạp SPI của PNLab giá 250K dùng được cho cả AVR, lập trình sẽ "phê" hơn

                  Bể học vô biên, chăm chỉ là bờ!
                  For a better world

                  Comment


                  • #24
                    Không biết các bạn thì thế nào. Hơn năm nay mình dùng Chip VĐK mà chưa làm chết 1 con nào.
                    Nạp thì không biết bao nhiêu lần, thuở khai sinh thì dùng ISP onboard nạp xong cách ly bằng Dip Switch (nạp lâu mà hay háo lỗi). Giờ dùng SP200S không lỗi 1 lần (trừ khi chưa gắn chip hoặc chọn sai chip mà đã nhấn F5 => Bùm 1 phát giật mình )
                    Còn chứng kiến nhiều người làm chết chip rồi mà ko hiểu nguyên nhân.
                    Tiện đây có cái này muốn hỏi các bạn.
                    Trong phần khởi tạo cho LCD mình thấy có lệnh :
                    LCDControl(0x30);
                    Mình không biết giá trị 0x30 là cái gì, Trong mã lệnh của LCD không có, mong các bạn giải thích giúp. Xin cám ơn !

                    Comment


                    • #25
                      Nguyên văn bởi Multi System Xem bài viết
                      Không biết các bạn thì thế nào. Hơn năm nay mình dùng Chip VĐK mà chưa làm chết 1 con nào.
                      Nạp thì không biết bao nhiêu lần, thuở khai sinh thì dùng ISP onboard nạp xong cách ly bằng Dip Switch (nạp lâu mà hay háo lỗi). Giờ dùng SP200S không lỗi 1 lần (trừ khi chưa gắn chip hoặc chọn sai chip mà đã nhấn F5 => Bùm 1 phát giật mình )
                      Còn chứng kiến nhiều người làm chết chip rồi mà ko hiểu nguyên nhân.
                      Tiện đây có cái này muốn hỏi các bạn.
                      Trong phần khởi tạo cho LCD mình thấy có lệnh :
                      LCDControl(0x30);
                      Mình không biết giá trị 0x30 là cái gì, Trong mã lệnh của LCD không có, mong các bạn giải thích giúp. Xin cám ơn !
                      Mình cũng làm với LCD mà có dùng lệnh 0x30 đâu, xài 38h, 01h, 18h,... là được rùi!

                      Comment


                      • #26
                        Nguyên văn bởi Toan.Lv Xem bài viết
                        - Kết cấu phần cứng của loại C và loại S không khác nhau là mấy. Tuy nhiên loại S có đặc điểm tốt hơn loại C là nó hỗ trợ nạp In-System. Do các dòng C không hỗ trợ nạp In-System nên kể cả bạn mua mạch nạp của PNLab thì vẫn phải tháo chíp ra mỗi lần nạp. Điều này thật là bất tiện. Nên dùng loại S cộng với 1 cái mạch nạp SPI của PNLab giá 250K dùng được cho cả AVR, lập trình sẽ "phê" hơn

                        Bể học vô biên, chăm chỉ là bờ!
                        Cái thể loại nạp xong tháo ra đã làm tử thủa sơ khai khi bắt đầu học VDK nên nó ngấm vào máu, hơn nữa với mỗi mạch khác nhau cần có mạch ĐK khác nhau nên cứ đá luôn 1 mạch mới. Nạp chíp xong nhấc ra gắn vô mạch ĐK rồi cấp nguồn là OK!
                        Không biết mấy loại nạp onboard thì sao chứ làm mấy quả quang báo bằng LMD tháo ra lắp vào liên tục mà chip có chết đâu, nghe nói mỗi con họ C nạp được 1k lần, nạp đến 999 thì không nạp nữa !
                        Trần Đức Sơn

                        tel:0934691385

                        Comment


                        • #27
                          các bác có thể giải thích kĩ cho e cái điện trở kéo pull-up dùng để làm gì, đói với port của AT89C51 thì cách dùng điện trở kéo khi nào, khi nào cần dùng khi nào thì ko cần...
                          đây là sơ đồ port của AT89C51 do bác Toan.LV up lên moiừ các a xem júp e ạ
                          Attached Files
                          |

                          Comment


                          • #28
                            các bác có thể giải thích kĩ cho e cái điện trở kéo pull-up dùng để làm gì
                            Quan sát trên hình, bạn thấy đầu ra của các chân 8051 được lấy trên cực drain của các trans vì thế đầu ra của các chân này khi làm các đầu vào ra thông thường ở dạng Open drain. Ở chân này, các port 1,2,3 đều có một điện trở treo cao, riêng port0 thì không có. Bạn có thể hiểu nôm na rằng điện trở treo cao này dùng để "trói" mức logic trên các chân khi không điều khiển. Như vậy khi không điều khiển thì các port 1, 2, 3 đều có mức logic trên chân là 1. Riêng mức logic của các chân ở port0 thì không thể xác định được (vì không có điện trở treo cao). Muốn xác định mức logic của port0 khi không điều khiển thì phải thêm một điện trở treo cao ở ngoài, khi sử dụng port0 làm đầu vào ra thông thường (và chỉ cần bố trí ở port0 thôi, vì các port khác đều có rồi).

                            đói với port của AT89C51 thì cách dùng điện trở kéo khi nào, khi nào cần dùng khi nào thì ko cần...
                            Chỉ cần dùng cho port0 mà thôi. Lúc nào dùng làm đầu vào ra cũng cần hết. Nói chung là đã sử dụng port0 thì nên có điện trở treo cao.
                            For a better world

                            Comment


                            • #29
                              Nguyên văn bởi Toan.Lv Xem bài viết
                              Quan sát trên hình, bạn thấy đầu ra của các chân 8051 được lấy trên cực drain của các trans.
                              Hic ! Đấy là FET mà, đâu phải transistor ? Transistor không có cự nào gọi là cực Drain.
                              Nói chung khi thiết kế mạch có sử dụng cổng P0 làm I/O thì phải dùng đến trở treo. Đó là quy định của nhà sản xuất.
                              Các cổng còn lại đôi lúc chạy không như mong muốn cũng phải treo cho nó, cho chắc ăn.

                              Comment


                              • #30
                                làm ơn cho hỏi tại sao khi gắn điện trở thanh(4.7k) vào p0 của at89c51 thì với chương trình sau :
                                org 00h
                                mov p0,#0ffh
                                mov p1,#0f0h
                                mov p2,#00h
                                mov p3,#0fh
                                end
                                thì khi đo điện áp trên chân p0 chỉ có vài chân có điện áp 5V, còn lại thì nằm trong khoảng 2.7 --- 3.5V là sao ạ?
                                nhưng khi gỡ điện trở thanh ra thì các port bình thường trở lại.
                                mình cũng đã đo kiểm khi ko có vdk trên mạch, thì điện trở thanh bình thường.
                                mình cũng kiểm tra sơ đồ mạch phần cứng nhưng ko phát hiện được sự chạm mát nào gây ra sự mất ổn định như thế ( phần cứng chưa gắn thiết bị ngoại vi nào cả, chỉ dùng để kiểm tra vdk thôi )
                                Làm ơn cho mình biết lý do tại sao vdk lại ko ổn định như thế?
                                Cảm ơn nhiều
                                mình cũng xin bổ sung là : khi gắn điện trở thanh như thế thì điện áp trên p2 có giá trị 2.7V
                                các p1, p3 chỉ bị sụt áp xuống còn 4.7V.
                                nhưng khi gỡ điện trở thanh ra thỉ điện áp trên các port hoàn toàn giống với khi thiết lập chương trình.
                                mình ko hiểu tại sao trong datasheet của at89c51 thì yêu cầu pải gắn thêm điện trở thanh để hoạt động được ổn định, nhưng khi gắn vào như vậy thì vdk trở nên ko ổn định.
                                mình đã thay rất nhiều con vdk rồi mà tình hình vẫn thế.
                                ko bit có bạn nào đã gặp tình huống này chưa?
                                nếu có ai đó thì có thể giúp mình hỉu được điều này chăng?
                                xin cảm ơn.

                                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