Thông báo

Collapse
No announcement yet.

thắc mắc về ngắt!?

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

  • thắc mắc về ngắt!?

    Mình mơi tìm hiểu về vi điều khiển, thấy trong hướng dẫn của các bạn có nói về ngắt, mình kô hiểu ngắt có công dụng gì và nó được dùng như thế nào!? Các bạn giúp mình nhé!!??
    Cảm ơn nhiếu!!!

  • #2
    Chào bạn.
    Ngắt là cơ chế của vi điều khiển/ vi xử lý cho phép nó có thể đáp ứng laị các sự kiện xảy ra tại thời điểm bất kỳ (do các nguồn phát sinh ngắt gây ra, ví dụ như các thiết bị ngoại vi có đường ghép nối với ngắt ngoài, ngắt do bộ định thời...) không quan tâm tới tại thời điểm đó nó đang thực thi công việc gì. Khi có ngắt xảy ra, nó sẽ dừng các tác vụ hiện thời để thực hiện một chương trình con gọi là chương trình con xử lý ngắt.
    Tác dụng của ngắt:
    - Đáp ứng tức thời các sự kiện bên ngoài.
    - Tránh thực hiện hỏi vòng -> tiết kiệm thời gian thực thi cũng như tài nguyên
    Bạn có thể liên tưởng đến ngắt trong một ví dụ đơn giản. Ví dụ bạn có hẹn một người khách đến nhà chơi, nếu nhà bạn không có chuông thì cứ chốc chốc bạn lại phải ra cửa xem có ai đến không (tương tự thao tác hỏi vòng trong lập trình vi điêu khiển)->rất mất công. Nếu bạn có chuông điện thì bạn thoải mái làm việc của mình, khi có chuông (có tín hiệu ngắt), bạn xuống đón khách (tương tự thực hiện chương trình con xử lý ngắt). Còn nhiều ví dụ khác nữa bạn sẽ thấy tương tự như cơ chế xử lý ngắt trong vi điều khiển.

    Comment


    • #3
      cảm ơn bạn! mình hiểu công dụng của ngắt rồi! Nhưng mình có đọc thấy có ngắt trong, ngắt ngoài, ngắt phần cứng, phần mềm...mình thấy hoang mang quá, bạn giải thích giùm mình cách dùng ngắt được không!!!???

      Comment


      • #4
        theo mình, ta có thể phân loại các loại ngắt như bạn đã nói, cụ thể
        - Ngắt trong: do các bộ phận bên trong vi điều khiển sinh ra ngắt (ví dụ bộ định thời - Timer)
        - Ngắt ngoài: do các mạch bên ngoài tác động, đưa tín hiệu vào các chân ngắt ngoài,cụ thể với 8051 là chân INT0 và INT1
        - Ngắt phần cứng: cả 2 ngắt trên mình coi đó là ngắt cứng, tức là do phần cứng gây ra.
        - Ngắt mềm là ngắt gây ra trong quá trình thực thi chương trình, ví dụ như tràn số, lỗi chia cho không...
        Cách dùng ngắt (mình nói luôn cụ thể các bước với 8051 nhé)
        - Thiết lập thanh ghi cho phép ngắt IE (bạn phải set bit EA và bit tương ứng với ngắt mà bạn cần lập trình). Ví dụ với ngắt ngoài 0: IE=0x81
        - Viết một chương trình con xử lý ngắt tương ứng. (void EX0_ROUTINE interrupt 0)
        Như vậy là xong, khi có ngắt xảy ra thì vi điều khiển sẽ thực thi các câu lệnh trong chương trình con xử lý ngắt. bạn cứ theo các bước đó, còn chi tiết thì mình gửi bạn một cuốn sách hướng dẫn lập trình vi điều khiển rất cơ bản và dễ học, bạn thử xem nhé, quyển Embedded.C của Micheal J.Pont. Có khá nhiều ví dụ thực tế trong đó
        http://www.4shared.com/file/34551586...haelJPont.html

        Comment


        • #5
          chao các sư hunh giúp mình với mình mới tự tìm hiểu lập trình assembler cho 89c51, mình thửe viết chương trình quét 2 led 7 đoạn đếm từ 0 đến 60 nhưng ko được. co sư huynh nào giup minh với mình cảm ơn nhiều

          Comment


          • #6
            file a gui len ko co upload lai di a oi!

            Comment


            • #7
              Nguyên văn bởi vuongaka15 Xem bài viết
              chao các sư hunh giúp mình với mình mới tự tìm hiểu lập trình assembler cho 89c51, mình thửe viết chương trình quét 2 led 7 đoạn đếm từ 0 đến 60 nhưng ko được. co sư huynh nào giup minh với mình cảm ơn nhiều
              Bạn chuyển qua C mà dùng cho dễ. Dùng ass cũng được nhưng phức tạp hơn nhiều.

              Comment


              • #8
                Nguyên văn bởi kkkk Xem bài viết
                Bạn chuyển qua C mà dùng cho dễ. Dùng ass cũng được nhưng phức tạp hơn nhiều.
                Viết C thì quá đơn giản rùi. Nhưng theo tôi những người mới học VDK thì nên viết bằng ASM thì dễ hơn.

                Email:
                Tel: 0983.497.310

                Comment


                • #9
                  tại sao mới học VDK thì lại phải viết = ASM hả bác tienhuypro ngoài việc nó gần với phần cứng VDK hơn à bác ?

                  Comment


                  • #10
                    Viết C thì quá đơn giản rùi. Nhưng theo tôi những người mới học VDK thì nên viết bằng ASM thì dễ hơn.
                    Theo suy nghĩ của tôi thì viết bằng C hay ASM chỉ là những cách biểu diễn khác nhau của cùng một thuật toán. Vì thế theo tôi nên viết bằng cái gì quá đơn giản với mình vẫn hơn. C hay ASM nó cũng chỉ là công cụ mà thôi, thuật toán mới là cái quan trọng nhất của bài toán. Chình vì thế mà đôi khi biết C, biết ASM vẫn không viết được bởi vì biết viết nhưng không biết phải viết gì.
                    For a better world

                    Comment


                    • #11
                      Nguyên văn bởi Toan.Lv Xem bài viết
                      Theo suy nghĩ của tôi thì viết bằng C hay ASM chỉ là những cách biểu diễn khác nhau của cùng một thuật toán. Vì thế theo tôi nên viết bằng cái gì quá đơn giản với mình vẫn hơn. C hay ASM nó cũng chỉ là công cụ mà thôi, thuật toán mới là cái quan trọng nhất của bài toán. Chình vì thế mà đôi khi biết C, biết ASM vẫn không viết được bởi vì biết viết nhưng không biết phải viết gì.
                      nên viết bằng ASM thì hay hơn vì, Thi học kì có trường nào cho viết bằng C đâu, toàn biểu viết ASM mà đề thi khó nữa, tui thi tí nữa rớt môn VXL vì chỉ quen viết C mà không lo luyện nội công ASM. Kinh nghiệm là thế cho những bạn học môn VXL trong trường, còn những bạn tự học thì viết gì cũng được mừ...

                      Email:
                      Tel: 0983.497.310

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      • mèomướp
                        Trả lời cho Sửa bộ nguồn DC 60V 45A
                        bởi mèomướp
                        Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                        Hôm qua, 13:11
                      • tuyennhan
                        Trả lời cho Sửa bộ nguồn DC 60V 45A
                        bởi tuyennhan
                        Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                        Hôm qua, 09:25
                      • tuyennhan
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi tuyennhan
                        Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                        Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                        Hôm qua, 09:10
                      • Ng.Phuong.5
                        Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                        bởi Ng.Phuong.5
                        Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                        Mấy con...
                        09-01-2025, 19:44
                      • viettinh
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi viettinh
                        Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                        Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                        09-01-2025, 18:12
                      • nguyendinhvan
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi nguyendinhvan
                        Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                        Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                        Cách đơn giản...
                        09-01-2025, 00:04
                      • mèomướp
                        Trả lời cho Sửa bộ nguồn DC 60V 45A
                        bởi mèomướp
                        Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                        08-01-2025, 19:02
                      • tuyennhan
                        Trả lời cho Sửa bộ nguồn DC 60V 45A
                        bởi tuyennhan
                        Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                        08-01-2025, 15:43
                      • tuyennhan
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi tuyennhan
                        Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                        08-01-2025, 15:28
                      • mèomướp
                        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                        bởi mèomướp
                        Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                        08-01-2025, 11:44
                      Đang tải...
                      X