Thông báo

Collapse
No announcement yet.

help-ngắt ngoài trong 8051

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

  • help-ngắt ngoài trong 8051

    e có 3 thiết bị cần phục vụ ngắt ngoài.mà trong 89c51 chỉ có 2 ngắt ngoài.còn 1 thiết bị ko sử dụng đc ngắt.giờ e phải làm sao để xử lý đc tín hiệu của thiết bị còn lại này.các bác có thể cho e ý kiến với.

  • #2
    thì bạn làm sao mà khi có ngắt là nó báo ngắt ( không cần biết ngắt của thằng nào) => sau đó xác định "đứa nào" gây ngắt => thực hiện trình phục vụ tương ứng cho "em nó"

    Comment


    • #3
      đúng đó
      vậy thôi mà

      Comment


      • #4
        Nguyên văn bởi hoadang Xem bài viết
        thì bạn làm sao mà khi có ngắt là nó báo ngắt ( không cần biết ngắt của thằng nào) => sau đó xác định "đứa nào" gây ngắt => thực hiện trình phục vụ tương ứng cho "em nó"
        a có thể nói rõ hơn đc ko ah.vì e có 3 thiết bi ngoại vi nhưng chỉ có 2 thiết bị đc nối vào ngắt ngoài thui.còn 1 thiết bị nữa.mà mỗi 1 thiết bị có 1 trương chình phục vụ riêng

        Comment


        • #5
          Nguyên văn bởi kidteam Xem bài viết
          đúng đó
          vậy thôi mà
          a có thể nói rõ cho e đc ko? e mới học về vdk nên còn kém

          Comment


          • #6
            thì mỗi khi xảy ra ngắt
            chú kiểm tra xem ngắt do cái gì gây ra
            phục vụ tương ứng

            Comment


            • #7
              Nguyên văn bởi kidteam Xem bài viết
              thì mỗi khi xảy ra ngắt
              chú kiểm tra xem ngắt do cái gì gây ra
              phục vụ tương ứng
              e xin lỗi nha.nhưng thực sự là e chưa đc hiểu rõ lắm.2 thiết bị gắn vào chân ngăt ngoài của chân vdk thì ko nói.khi có ngăt xảy ra thì cờ ngăt xuất hiện nhảy đến trương trình phục vụ nó.còn thiết bị kia.giờ gắn vào chân nào của vdk và phải kiêm tra nó thế nào?e mới bắt đầu chuyển từ plc sang vdk.lên còn ngu ngu (hi)mong a giúp cho

              Comment


              • #8
                thì bây giờ, bạn nghĩ thêm tí nữa, làm sao để nối được 3 cái ngắt mà chỉ cho ra một ngắt ( cho nên mới nói, ban đầu cứ có ngắt là ngắt, ko cần biết từ nguồn ngắt nào). 3 ngắt của bạn chỉ dùng một ngắt là được rồi,

                ngắt 1 ---->|----------|
                ngắt 2 ---->| hộp đen? |---> chân ngắt
                ngắt 3 ---->|----------|

                Comment


                • #9
                  như vầy nhé .
                  3 thiết bị cùng tác động vào 1 chân ngắt VD: ngắt 0 . Nhớ cách li không thôi là sai , rồi thì :
                  void ngắt 0 (){

                  if(thiết bị 0 == 0) thiết bi 0 ();
                  else if(thiết bị 1 == 0) thiết bi 1 ();
                  else if(thiết bị 2 == 0) thiết bi 2 ();
                  }
                  Quá rỏ rồi nhé , thân.

                  Comment


                  • #10
                    Nguyên văn bởi thientanvt Xem bài viết
                    như vầy nhé .
                    3 thiết bị cùng tác động vào 1 chân ngắt VD: ngắt 0 . Nhớ cách li không thôi là sai , rồi thì :
                    void ngắt 0 (){

                    if(thiết bị 0 == 0) thiết bi 0 ();
                    else if(thiết bị 1 == 0) thiết bi 1 ();
                    else if(thiết bị 2 == 0) thiết bi 2 ();
                    }
                    Quá rỏ rồi nhé , thân.
                    e đã hiểu ra đc rùi.he.thanks anh nha.nhưng có vấn đề mới là.e viết bằng asm.kiểm tra nó bằng đoạn code như thế nào ah

                    Comment


                    • #11
                      ASM hay C thì cũng là một lời giải như nhau, chỉ có điều bạn nói cho VĐK trên hai thứ tiếng khác nhau mà thôi!

                      Comment


                      • #12
                        Nguyên văn bởi hoadang Xem bài viết
                        ASM hay C thì cũng là một lời giải như nhau, chỉ có điều bạn nói cho VĐK trên hai thứ tiếng khác nhau mà thôi!
                        dạ.e cũng biết là thế rùi.nhưng e mới làm quen với vdk thui.e chưa nghiên cứu sâu đc.còn nhiều vấn đề còn gà mờ lắm.cần đến sự giúp đỡ của mọi ng.
                        Trong bài này.thực sự e chưa biết viết trương trình làm sao để phân biệt đc các ngắt này.(bằng asm)các bác biết có thể chỉ giáo cho e đc ko ah.

                        Comment


                        • #13
                          việc còn lại là của bạn chứ, bọn mình chỉ có gợi ý như vậy, có thế mới học được, chứ làm ra luôn thì còn học hành gì nữa.
                          trong ASM chúng ta có những lệnh sau kiểm tra bit: JC, JNC, JB, JNB, JBC
                          đấy, tiếp theo là đến lượt bạn nói cho uP hiểu điều bạn muốn làm

                          Comment


                          • #14
                            Nguyên văn bởi hoadang Xem bài viết
                            việc còn lại là của bạn chứ, bọn mình chỉ có gợi ý như vậy, có thế mới học được, chứ làm ra luôn thì còn học hành gì nữa.
                            trong ASM chúng ta có những lệnh sau kiểm tra bit: JC, JNC, JB, JNB, JBC
                            đấy, tiếp theo là đến lượt bạn nói cho uP hiểu điều bạn muốn làm
                            mấy lệnh này thì e biết.e cũng suy nghĩ từ hum qua tới giờ vẫn ko có cách nào nếu đấu chung 3 thiết bị vào 1 chân và phân biệt thiết bị nào(bằng asm)e có tham khảo 1 số ng.cũng ko biết.nếu đấu nó vào 3 chân # nhau thì có thể dùng các lệnh trên để kiểm tra đc cái này thì e biết.cái này e tự học tự tìm hiểu lên hơi chậm mong các a có thể chỉ bảo

                            Comment


                            • #15

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X