Thông báo

Collapse
No announcement yet.

Power-off Flag???? nó là gì nhỉ?

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

  • Power-off Flag???? nó là gì nhỉ?

    Power-off Flag là tính năng gì bà con nhỉ? nó dùng làm gì? Và dùng nó ntn?
    Mong các cao nhân giúp em với!!!

  • #2
    không biết bác đang nói tới con nào?
    Work is glory

    Comment


    • #3
      Re: Power-off Flag???? nó là gì nhỉ?

      Nguyên văn bởi Thaphuong
      Power-off Flag là tính năng gì bà con nhỉ? nó dùng làm gì? Và dùng nó ntn?
      Mong các cao nhân giúp em với!!!

      Power off Flag(POF) là cờ chỉ sự reset do bật nguồn hay do reset của các nguyên nhân khác(như Watchdog, hay RST).
      Nó dùng mục đích phân biệt nguyên nhân reset. Ví dụ code = C:
      if(POF)
      {
      //Reset do bật nguồn
      }else
      {
      //Reset do các nguyên nhân khác
      }
      Ví dụ ứng dụng:
      +Nó để phân biệt reset do bật nguồn hay do reset do Watchdog.
      +Có thể dùng để ko khởi tạo lại một số biến, thanh ghi trong RAM nếu đó là reset ko do bật nguồn.
      +Khảo sát được số lần bị treo…
      ...........
      Tui đã áp dụng cái này để tính số lần treo của vi điều khiển(để xem độ ổn định, để so sánh độ ổn định của các họ VĐK), để xem một ngày nó treo bao nhiêu lần, đại ý như sau: Lưu biến số lần treo do nhiễu vào 1 địa chỉ trong EEPROM, sau đó.Nếu treo do watchdog thì sẽ tăng lên 1 đơn vị.
      Main()
      {
      //Phải Enable chức năng Watchdog

      if(POF)
      {
      //Reset do bật nguồn
      POF=0;
      }else
      {
      //Reset do các nguyên nhân khác
      //Cụ thể ứng dụng này là reset do watchdog(do vi điều khiển treo nên Watchdog khởi động lại).
      X=Read_EEPROM(Add_Wdog);//Đọc từ địa chỉ lưu “số lần treo” trong EEPROM
      X++;//Tăng lên 1 đơn vị lên 1 đơn vị
      Write_EEPROM(Add_Wdog,X);//Ghi vào EEPROM.
      }

      While(1)
      {
      Xoa co Wdog;
      Viết Code
      .............
      }

      }

      Comment


      • #4
        Một ví dụ dùng POF của 89S52
        ORG 0000h ;
        ....
        mov a, PCON ;
        anl a, #00010000b ;Cờ POF
        jz WD_RST; If POF==0 nhảy tới WD_RST(watchdog timer or RST)
        xrl PCON, #00010000b ; xóa POF
        jmp POWER_START ; If POF==1 nhảy tới POWER_START(reset from power)

        Comment


        • #5
          Pof

          cờ POF nằm trong thanh ghi nào vậy bác. Tui dùng các con ATMega8,16,32 mà sao trong datasheet không tìm thấy cờ này?

          Comment


          • #6
            Mình chưa làm sâu về AVR, nhưng chắc chắn sẽ có.Bởi vì 89S, PIC.. mình đều có làm và chúng có chức năng này. Thế nó mới phân biệt được nguyên nhân reset: do bật nguồn hay do watchdog.
            Các cao thủ về AVR chỉ cho bạn ấy đi.
            Nếu ko ai trả lời thì lúc rỗi, mình sẽ đọc và trả lời bạn.

            Comment


            • #7
              Nguyên văn bởi BinhAnh
              Mình chưa làm sâu về AVR, nhưng chắc chắn sẽ có.Bởi vì 89S, PIC.. mình đều có làm và chúng có chức năng này. Thế nó mới phân biệt được nguyên nhân reset: do bật nguồn hay do watchdog.
              Các cao thủ về AVR chỉ cho bạn ấy đi.
              Nếu ko ai trả lời thì lúc rỗi, mình sẽ đọc và trả lời bạn.
              Nếu bạn chưa làm về AVR thì cũng cho mình biết nó nằm đâu trong 89 và PIC đi mình sẽ tìm trong AVR thử xem.
              Thank!

              Comment


              • #8
                Nguyên văn bởi tam1234
                Nếu bạn chưa làm về AVR thì cũng cho mình biết nó nằm đâu trong 89 và PIC đi mình sẽ tìm trong AVR thử xem.
                Thank!
                Về PIC thì bạn download bất kỳ 1 datasheet nào thì cũng có. Nó nằm ở thanh ghi PCON: thanh ghi trạng thái nguồn. Nó cực đây đủ: Power-on Reset,Brown-out Reset,WDT Reset,WDT Wake-up... Tất nhiên thanh ghi config cứng cũng có tên gần giống như vậy, bởi vậy cần đọc kỹ datasheet một chút.

                Comment


                • #9
                  Về 89 cũng ở thanh ghi điều khiển/trạng thái nguồn PCON. Bạn đọc file mình gưi kèm "AT89S8252 primer".
                  Chúc học tốt.

                  Comment


                  • #10
                    cờ POF nằm trong thanh ghi nào vậy bác. Tui dùng các con ATMega8,16,32 mà sao trong datasheet không tìm thấy cờ này?
                    Các hạ đọc không kỹ bí kíp rồi. Đao pháp các hạ cần tìm nằm cả trong thanh ghi MCUCSR đó. Có cả đao pháp Watchdog (WDRF), đao pháp Brown-out (BORF), đao pháp External (EXTRF) và đao pháp Power-on (PORF).
                    Bảo trọng.

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X