Thông báo

Collapse
No announcement yet.

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

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

  • 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


    • 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


      • 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


        • 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


          • 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


            • 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


              • 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


                • 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


                  • 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


                    • 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


                      • 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


                        • 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


                          • 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


                            • 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


                              • 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...
                                X