Thông báo

Collapse
No announcement yet.

Tìm hiểu P89V51RD2

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

  • Tìm hiểu P89V51RD2

    Chào các anh em. Mình đang tìm hiểu một số tính năng mới của con P89V51RD2. Khi đọc Datasheet của con này (ở mục giới thiệu về timer 0,1), mình thấy các sơ đồ minh họa vẽ trong phần này hơi khác với những kiến thức mình đã học về họ 8051. Mình thắc mắc ở chỗ các xung nhịp cung cấp cho các timer này luôn giảm đi một nửa. Vd: theo mình đã học về 8051: xung nhịp cấp cho timer là Fosc/12 nhưng theo Datasheet thì là Fosc/6. Hình như các xung nhịp ở trong mọi sơ đồ minh họa đều giảm đi một nửa so với những gì mình đã được học. Do rắc rối này mà mình bị bế tắc khi tính toán tốc độ baud.

    Có anh em nào đã từng nghiên cứu về con này xin hãy giải thích giúp mình với. Cảm ơn nhiều.

  • #2
    Cái này bạn đọc lại datasheet thì sẽ rõ.
    Thực chất xung nhịp cấp đều như 8051 chỉ có điều nó có hỗ trợ xung đôi đạt tốc độ xử lý nhanh hơn.
    Bằng cách chỉnh giá trị của thanh ghi FST
    với bit EDC :để điều chỉnh tốc độ X2.
    mặc định là 0 tức là như 8051 chuẩn.

    Sông dài, Thuyền lớn, Biển rộng bao la.
    Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

    Comment


    • #3
      CHo em hỏi là trinh` dịch cho MCU của Philip có khác gi` các trình dịch thông thường không ? ví dụ làm sao để nó hiểu địa chỉ các thanh ghi chức năng mở rộng ????

      Comment


      • #4
        Bạn PUMA nè, theo như mình biết thì trình dịch cũng tương tự như nhau thôi, không cần phải để ý kỹ làm gì. Bạn PUMA chỉ cần dùng chương trình Kiel u3 (có thể download tại trang http://www.khvt.com), sau đó chọn P89C51RD2 là có thể lập trình thoải mái. Bạn có thể định nghĩa tên khác cho các thanh ghi đặc biệt bằng cách dùng lệnh DATA của assembly.
        ---
        Good luck

        Comment


        • #5
          Nguyên văn bởi furious_boy Xem bài viết
          Bạn PUMA nè, theo như mình biết thì trình dịch cũng tương tự như nhau thôi, không cần phải để ý kỹ làm gì. Bạn PUMA chỉ cần dùng chương trình Kiel u3 (có thể download tại trang http://www.khvt.com), sau đó chọn P89C51RD2 là có thể lập trình thoải mái. Bạn có thể định nghĩa tên khác cho các thanh ghi đặc biệt bằng cách dùng lệnh DATA của assembly.
          ---
          Good luck
          cám ơn bạn nhưng mình viết bằng ASM thì làm thế nào ???? Trình dịch C và BASCOM thì mình thấy có hỗ trợ Philip nhưng ASM thì bó tay, dùng ASM51 mình có khai giống BKPRO , tức là đoạn đầu có thêm dòng $MOD51fx nhưng nó không hiểu , đành phải khai địa chỉ của các thanh ghi mở rộng ở đầu chương trình thôi . Thêm nữa , cái trình nạp Flash magic bị sao ấy, khi nap nó báo là tốc độ Bàud ko phù hợp , giảm tốc độ baud xuống, mình làm theo nhưng ko có tác dụng , nó đòi reset nhưng reset cũng chẳng xong . Có ai bị rồi giúp mình với. Khổ ghê , làm 89 chẳng bao giờ gặp khó khăn trong vấn đề nạp này cả , giờ chuyển sang Philip lại rắc rối mấy cái vớ vẩn này phiền quá, các bạn giúp với.

          Comment


          • #6
            Việc này không phải lỗi.
            Mà là do quá trình nạp Philip sử dụng đường RX,TX để giao tiếp MCU.
            Nên nếu trước đó bạn có chuơng trình nào chạy dùng UART thì nó sẽ báo như vậy do không giao tiếp được,có 2 cách là:
            -Nhấn giữ reset xong bấm xong bấm start rồi buông reset ra
            -Dùng kiểu POR(power on reset) tắt nguồn nhấn start xong bật nguồn lên
            Lưu ý là tốc độ Baud chỉ cần 7200 là ok.
            Trường hợp không được nữa thì có lẽ bạn nên check lại mạch xem có bị lỗi không còn nếu không thì có thể đặt mình.Mình sẽ cung cấp 1 PCB mạch kit test P89V51RX2 (Mạch thủ công).
            Các bạn có nhu cầu có thể tham khảo luồng này.Hoặc tại trang web.
            Số đt liên lạc 0935248345.
            Vi Điều Khiển P89V51RD2-BN giá cho SV.

            Comment


            • #7
              [QUOTE=PUMA;36946]cám ơn bạn nhưng mình viết bằng ASM thì làm thế nào ???? Trình dịch C và BASCOM thì mình thấy có hỗ trợ Philip nhưng ASM thì bó tay, dùng ASM51 mình có khai giống BKPRO , tức là đoạn đầu có thêm dòng $MOD51fx nhưng nó không hiểu , đành phải khai địa chỉ của các thanh ghi mở rộng ở đầu chương trình thôi .

              Keil cũng hỗ trợ lập trình ngôn ngữ Assembly ( C và assembly). Viết đựơc cho IC nào bằng C cũng viết được bằng Assembly trong Keil.

              Comment


              • #8
                Làm sao để sự dụng ASM trong keil hả mấy bác.
                Có thể chỉ rõ hơn đươc không,mình viết asm quen rồi,
                Mong các bác giúp đỡ
                |

                Comment


                • #9
                  Nguyên văn bởi leLCD Xem bài viết
                  Làm sao để sự dụng ASM trong keil hả mấy bác.
                  Có thể chỉ rõ hơn đươc không,mình viết asm quen rồi,
                  Mong các bác giúp đỡ
                  #asm
                  ....// code ASM
                  #endasm

                  Comment


                  • #10
                    Cho em hoi là có thể thay đổi tần số của các kênh PCA của 89V51 đc ko. Có thể lập để thay đổi tần số của các kênh PCA này độc lập đc ko ạ?

                    Comment


                    • #11
                      Up
                      .

                      Comment


                      • #12
                        Nguyên văn bởi nquoccdt Xem bài viết
                        Cho em hoi là có thể thay đổi tần số của các kênh PCA của 89V51 đc ko. Có thể lập để thay đổi tần số của các kênh PCA này độc lập đc ko ạ?
                        tất cả các PCA hoạt động độc lập nên việc thay đổi của kênh này ko ảnh hưởng tới kênh khác , lâu rồi không xem lại nhưng mình đoán là như vây!

                        Comment


                        • #13
                          Nguyên văn bởi chumanh Xem bài viết
                          tất cả các PCA hoạt động độc lập nên việc thay đổi của kênh này ko ảnh hưởng tới kênh khác , lâu rồi không xem lại nhưng mình đoán là như vây!
                          Ý em dùng các kênh PCA này để xuất ra tần số thay đổi liên tục chứ ko phải dùng nó để PWM nhưng em chẳng biết có thể đc ko. Nếu bác nào biết thì hướng dẫn cho em với, em đang cần cái này gấp lắm

                          Comment


                          • #14
                            Khi nó đã hoạt động độc lập rồi thì phải lập trình riêng được chứ bạn. Bạn lập trình thay đổi cho từng kênh thui.
                            Học đến bao giờ mới thành tài?

                            Comment


                            • #15
                              chào các bạn. mình đang làm cái đồ án dùng chip AT89V51RD2 tới lúc nạp chương trình cho nó thì mình dùng flash magic 3.35. nhưng khi nạp nó báo "reset the deivce into ISP mode now" mình nhấn reset trên kit rồi mà vẫn k thấy gì hết . có ai biết vì sao k chỉ mình với. làm chip atmel thì k vấn đề. còn đến con phillip này thì điên cả đầu >.<

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X