Thông báo

Collapse
No announcement yet.

Thắc mắc về ngắt Timer

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

  • Thắc mắc về ngắt Timer

    Nay em học đến phần ngắt timer.
    Mấy bác cho em hỏi.
    Nếu chọn timer0 chế độ 1,thời gian trễ là 200us chẳng hạn.
    Khi TF0 báo tràn,nó sẽ xử lí các lệnh trong hàm ngắt.
    Em không hiểu là nó xử lí lệnh trong 200us, hay 200us là thời gian chờ TF0 báo tràn.
    Và khi nào thì ngắt dừng và xử lí lệnh tiếp trong hàm main.
    Thank.


  • #2
    thời gian từ khi kết thúc ngắt cũ đến bắt lúc bắt đầu ngắt mới
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

    Comment


    • #3
      Reply

      Còn khi nào nó quay trở lại xử lí công việc bỏ dở tại hàm main.

      Comment


      • #4
        Nguyên văn bởi maingochoc Xem bài viết
        Còn khi nào nó quay trở lại xử lí công việc bỏ dở tại hàm main.
        mình nhớ ngắt timer thì nó sẽ hoạt động như thế này :
        khởi tạo cho ngắt timer
        sau khi timer hoạt động thì VDK sẽ làm tuần tự các lệnh . nếu khi cờ báo TF = 1 thì sẽ nhảy vào chuơng trình ngắt của timer và thực hiện các nhiệm vụ trong đó... thực hiện xong thì sẽ thoát ra chuơng trình ngắt và thực hiện lệnh kế tiếp từ khi xảy ra ngắt.
        chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
        Everything should be made as simple as possible, but not simpler

        Comment


        • #5
          Reply

          Trong chương trình ngắt phải dừng timer ( TRx=0 ) và xóa cờ tràn (TFx=0) ko ah.
          Trong ct ngắt,muốn nhảy về hàm main phải thêm lệnh TRx=1 ko ah.
          Em nay ms học đến phần này lên hơi gà.

          Comment


          • #6
            mình dùng timer 1 chế độ 2 lên khi xảy ra ngắt thì mình cho TR1=0; thực hiện các lệnh trong đây và TR1=1; là kết thúc chương trình ngắt timer1 , không cần xoá TF1.
            chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
            Everything should be made as simple as possible, but not simpler

            Comment


            • #7
              Reply

              Timer0,timer 1 chế độ 1 thì phải xoá TF ko vậy hay chỉ kần dừng timer,nạp lại giá trị cho timer, các lệnh cần xử lí, xử lí xong thì cho timer hđ.
              Em nghĩ như thế đúng ko z ?

              Comment


              • #8
                chế độ 1 thì cần nạp lại giá trị cho các thanh ghi THx ,TLx và xoá TFx còn chế độ 2 thì tự nó nạp lại và tự xoá. sau khi thực hiện các lệnh trong ngắt thì mình phải thực hiện thao tác cuối là TRx=1 cho nó hoạt động trở lại
                chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                Everything should be made as simple as possible, but not simpler

                Comment


                • #9
                  Reply

                  Nếu dùng 2 timer để tạo ngắt,khi 1 ngắt timer0 đang thực hiện lệnh, timer1 báo tràn thì ngắt timer0 dừng lại nhảy sang ngắt timer1 hay như thế nào. Thank

                  Comment


                  • #10
                    vậy thì chúng mình cùng đọc lại sách nhé, mình nhớ không chính xác là có mức ưu tiên ngắt đấy bạn???
                    chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                    Everything should be made as simple as possible, but not simpler

                    Comment


                    • #11
                      Reply

                      À mức ưu tiên thể hiện ở thanh ghi IP.
                      Nếu IP=0 thì hai timer ưu tiên như nhau.
                      Đến đây là mình cũng hiểu nhiều về ngắt timer rùi. Thank

                      Comment


                      • #12
                        Nguyên văn bởi maingochoc Xem bài viết
                        À mức ưu tiên thể hiện ở thanh ghi IP.
                        Nếu IP=0 thì hai timer ưu tiên như nhau.
                        Đến đây là mình cũng hiểu nhiều về ngắt timer rùi. Thank
                        khi IP=0 thì mức ưu tiên ngắt theo chuỗi vòng: ngắt ngoài 0 ưu tiên trước rồi tới timer0, ngắt ngoài 1, timer1, UART, timer2 chứ ko có chuyện ưu tiên như nhau

                        Comment


                        • #13
                          200us là tg tro bắt đầu đếm cho đến khi tf0 set =1.ngát sẽ dừng khi gặp lệnh reti.quay trở về lẹnh đang thực thi trước khi ngắt.

                          Comment


                          • #14
                            ko có chuyện đó nếu bạn ko lồng chúng vào nhau.timer nào hoạt động timer đó.

                            Comment


                            • #15
                              Reply

                              Nay em đọc code của bác tienhuypro,em thấy có lệnh.
                              Void ngatT0() interrupt 1 using 1
                              Em ko biết using 1 có ý nghĩa ntn cả. Mấy bác giúp đỡ

                              Comment

                              Về tác giả

                              Collapse

                              maingochoc Lalalala Tìm hiểu thêm về maingochoc

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

                              Collapse

                              Đang tải...
                              X