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

Dành cho người mới tìm hiểu 8051

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • nct
    Thành viên chính thức
    • Mar 2008
    • 38

    #496
    mọi người giúp với!

    e dùng keil lập trình cho chip 89c51 (tạo file.hex) làm led P0 sáng tắt xen kẽ, sau đó dùng bo rixin nạp thì nó báo complete. sau đó nối dây mạch reset, thạch anh, chân 31 nối VCC = 5v, mà sao nó chẳng hoạt động gì hết. tháo ra nạp code khác thì nó cũng kô có tác dụng gì hết, toàn bộ led po đều sáng chập chờn. e ngĩ là e két nối sai. hoặc do bo nạp hư, nhưng thấy nó chạy bình thường. xin các a hướng dẫn cho e với đã mò 2 ngày rồi mà nó kô chạy gì cả. các a xem file đính kèm nhe!. e xin cảm ơn!
    Attached Files

    Comment

    • mrcuongcon
      Thành viên tích cực
      • Oct 2007
      • 737

      #497
      Bạn nên nhớ rằng, các port của 8051 chỉ có khả năng hút dòng, có nghĩa là bạn phải đấu mạch làm sao cho dòng điện đi theo chiều: từ cực (+) -> (qua led) -> (chân vi điều khiển)
      Trong mạch, Port0 bạn dùng trở treo thì đúng rồi, nhưng các cực của led bạn phải đấu ngược lại , cực âm của led nối qua trở vào VDK và cực dương của led nối lên dương nguồn.

      Comment

      • xuanluc_td07
        Registered User
        • Oct 2008
        • 18

        #498
        chao ban "quynh".
        ban co the sen chominh cuon sach cua thầy NGUYỄN TĂNG CƯỜNG cung phan mem va tai lieu ve keil Cduoc ko .cam on ban nhieu!
        mail______"ngoxuanluc_tudong07@yahoo.com.vn"______ _

        Comment

        • rongconn2t
          Banned
          • Apr 2008
          • 278

          #499
          bác có thể cho em xin một vài chương trình về LCD được không>?ngồi đọc sẽ vỡ ra nhiều hơn
          thanks bác nhiều

          Comment

          • mrcuongcon
            Thành viên tích cực
            • Oct 2007
            • 737

            #500
            Trên đây là một ví dụ, có cả mạch giả lập bằng Proteus. Đây là chương trình đơn giản, xong nó rất cơ bản. Bạn chú ý đến các mô đun cuối bài ( 4 mô đul làm việc với LCD nhé) Chúng kô thể thiếu đối với bất kỳ một chương trình nào có sử dụng LCD với họ 8051.
            Attached Files

            Comment

            • nct
              Thành viên chính thức
              • Mar 2008
              • 38

              #501
              Nguyên văn bởi mrcuongcon Xem bài viết
              Bạn nên nhớ rằng, các port của 8051 chỉ có khả năng hút dòng, có nghĩa là bạn phải đấu mạch làm sao cho dòng điện đi theo chiều: từ cực (+) -> (qua led) -> (chân vi điều khiển)
              Trong mạch, Port0 bạn dùng trở treo thì đúng rồi, nhưng các cực của led bạn phải đấu ngược lại , cực âm của led nối qua trở vào VDK và cực dương của led nối lên dương nguồn.
              cám ơn bạn. Mình sẽ thử ngay.

              Comment

              • Zz_Bi_zZ
                Thành viên tích cực
                • Nov 2007
                • 766

                #502
                Nguyên văn bởi mrcuongcon Xem bài viết
                Bạn nên nhớ rằng, các port của 8051 chỉ có khả năng hút dòng, có nghĩa là bạn phải đấu mạch làm sao cho dòng điện đi theo chiều: từ cực (+) -> (qua led) -> (chân vi điều khiển)
                Trong mạch, Port0 bạn dùng trở treo thì đúng rồi, nhưng các cực của led bạn phải đấu ngược lại , cực âm của led nối qua trở vào VDK và cực dương của led nối lên dương nguồn.
                sai oy u ah ! pins of VDK có thể hút dòng lẫn cấp dòng . Nhưng cấp dòng tối đa chỉ đc 5mA ( hoặc 10mA ) trong khi hút dòng tới 50mA , nên ng ta hay cho dòng chạy vào chân VĐK là vì thế . Nếu dùng 1 led để nháy thì vẫn có thể đấu để kích mức 1.

                Comment

                • mrcuongcon
                  Thành viên tích cực
                  • Oct 2007
                  • 737

                  #503
                  Chân của VDK theo mình nhớ kô nhầm thì có dạng cực colecto hở, ngoài ra chỉ có con trở treo (trừ port0) có trị số khoảng 10k, như vậy, mỗi port của VDK chỉ có khả năng cung cấp dòng dương qua con trơ 10k này và 5/10000=0.5ma, led gì sáng được?
                  Attached Files
                  Last edited by mrcuongcon; 13-11-2008, 00:47.

                  Comment

                  • nct
                    Thành viên chính thức
                    • Mar 2008
                    • 38

                    #504
                    Nguyên văn bởi mrcuongcon Xem bài viết
                    Chân của VDK theo mình nhớ kô nhầm thì có dạng cực colecto hở, ngoài ra chỉ có con trở treo (trừ port0) có trị số khoảng 10k, như vậy, mỗi port của VDK chỉ có khả năng cung cấp dòng dương qua con trơ 10k này và 5/10000=0.5ma, led gì sáng được?
                    về phần P0 mình đã kết nối giống như sơ đồ của bạn, mạch reset, phía trên tụ 10uF mình nối +5V (lấy từ cổng usb của PC), mạch dao động thạch anh mình dùng tụ 33pF (trong hình là 1nF) vì thấy nhìu sơ đồ đều kết nối như vậy, chân 31 EA nối +5v (cũng từ cổng usb), chân 20 nối mass từ cổng usb, chân 40 nối +5v từ cổng usb. kết quả.
                    - nếu nối mạch reset vào +5v từ cổng usb thì mình đo chân 20 và 40 đáng lẽ là +5v nhưng nó là 0v, mạch kô chạy
                    - nếu bỏ mạch reset ra, kô kết nối, mình cấp nguồn cho phần còn lại thì led p0 nháy nháy rất nhanh (mặc dù lập trình là sáng tắt xen kẽ). sau đó mình tháo thạch anh ra rồi chập 2 chân nó vô chân 18 và 19 8951 thì led p0 sáng tắt xen kẽ , cứ mối lần chập thạch anh vào 2 chân 18 19 thì led p0 lại đổi trạng thái, nhưng mà thỉnh thoảng nó lại nháy nháy rất nhanh. mình đoán là mạch dao động thạch anh cho vi điều khiẻn hoạt động kô ổn định nhưng kô bít fải làm sao cho nó chạy ổn định? còn về phần mạch reset mình đã kết nối giống sơ đồ bạn up cho, fía trên tụ 10uF nối +5v thì toàn bộ vi điều khiển kô hoạt động gì cả, nhấn nút reset cũng như kô, toàn bộ led p0 đều tắt. mong đựoc bạn chỉ dẫn thêm. cám ơn bạn rất nhìu vì đã cố gắng chỉ mình!

                    Comment

                    • mrcuongcon
                      Thành viên tích cực
                      • Oct 2007
                      • 737

                      #505
                      Theo mình đoán thì thạch anh chạy bt, bạn xem lại mạch reset có thể bị nối sai hoặc bị chập, rất có thể là nút bấm reset có vấn đề. Loại nút bấm thường có 4 chân, bạn dùng 2 chân nào trong số 4 chân của nó? 4 chân của nó từng đôi một được nối tắt với nhau, chú ý nhé ! Mạch này rất dễ, bạn chỉ cần chú ý một chút là tìm được lỗi ngay thôi. Chúc bạn thành công.

                      Comment

                      • Zz_Bi_zZ
                        Thành viên tích cực
                        • Nov 2007
                        • 766

                        #506
                        Nguyên văn bởi mrcuongcon Xem bài viết
                        Chân của VDK theo mình nhớ kô nhầm thì có dạng cực colecto hở, ngoài ra chỉ có con trở treo (trừ port0) có trị số khoảng 10k, như vậy, mỗi port của VDK chỉ có khả năng cung cấp dòng dương qua con trơ 10k này và 5/10000=0.5ma, led gì sáng được?
                        u nhớ sai oy , chỉ có P0 thì mới cần treo trở thui ( vì dạng C hở) . Còn các PORT # ko cần , chỉ treo trở khi pin đó nhận tín hiệu vào .Chọn trở 10k để làm trở treo mức 1 , mục đích là để dòng vào VDK nhỏ ( tránh hư chân VDK) , u có thể treo trở 4.7k ,.... .
                        u thử nối chân VDK --> led--> trở --> GND , oy kích mức 1 , xem đèn sáng ko ? vẫn sáng bình thường , có điều dòng cấp ko đủ nên hơi mờ.

                        Comment

                        • leemanhj916
                          Thành viên tích cực
                          • Apr 2008
                          • 114

                          #507
                          Nguyên văn bởi rongconn2t Xem bài viết
                          bác có thể cho em xin một vài chương trình về LCD được không>?ngồi đọc sẽ vỡ ra nhiều hơn
                          thanks bác nhiều
                          Về LCD ah. Mình cũng có viết bằng C nhưng hôm nay mình không mang theo ra mạng lần sau mình post lên cho nha
                          .: Lê Tiến Mạnh :.
                          Phone number : 0989 735 804
                          YM,Skype,mail : [leemanhj916]@gmail.com

                          Comment

                          • rongconn2t
                            Banned
                            • Apr 2008
                            • 278

                            #508
                            em có ý tưởng như thế này mà khó quá có bác nào giúp em với về chương trình C ấy
                            chả là em muốn làm cái mạch phát xung hiển thị tần số xung phát ra trên 4 LED 7 thanh.ngặt cái chương trình điều khiển LED phải lặp rồi,mà cái chương trình tạo xung cũng phải lặp.không biết làm thế nào nữa.mong mọi người giúp với.
                            mạch của em thiết kế như thế này.
                            +chân P1.0 để phát xung
                            +2 nút ấn UP DOWN được gắn vào P3.2 & P3.3 để điều chỉnh tần số muốn phát.khi ấn nút sẽ gây ngắt ngoài
                            +Port 0 để xuất giá trị cho 4 Led
                            +P2.0 ->P2.3 để quét 4 LED

                            ý tưởng chỉ có thế .mong mọi người giúp

                            Comment

                            • mrcuongcon
                              Thành viên tích cực
                              • Oct 2007
                              • 737

                              #509
                              Bạn đã biết sử dụng ngắt ngoài, thì nên tìm hiểu thêm ngắt Timer nữa. Cái này sẽ giúp bạn thực hiện việc phát xung một cách dễ dàng và sai số về tần số phát có thể chấp nhận được.
                              _ Việc phát xung dành cho ngắt Timer
                              _ Việc cài đặt tần số phát xung dành cho ngắt ngoài
                              _ Việc hiển thị sẽ nằm trong hàm main.
                              Mình thì hay viết 8051 trên ASSEMBLY, chưa từng sử dụng C cho 8051 nhưng theo mình nghĩ bạn viết từng module một, xong rồi thử nghiệm từng cái và nhúng nó vào cùng 1 chương trình sẽ dễ dàng cho bạn hơn

                              Comment

                              • vanhieutk
                                Thành viên mới
                                • Aug 2007
                                • 7

                                #510
                                chào mọi ng,mình có làm 1 mạch nhỏ với 8051 là cho led sáng
                                mạch dùng 16 led đơn từ port 0 va 1
                                được điều khiển 5 kiểu sáng bởi các chân ở port2 thêm nữa là thay đổi tốc độ sáng(thời gian delay) khi nhấn nút.Nhưng mình chưa biết COde để thay đổi thời gian delay khi nhấn nút,như là đang sáng với tốc độ này,bấm nút thì sẽ nhanh hơn hay chậm lại.mong mọi ng chỉ giúp
                                |

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...