Thông báo

Collapse
No announcement yet.

Xin chỉ cách nâng số ngắt ngoài của 8051

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

  • Xin chỉ cách nâng số ngắt ngoài của 8051

    Bạn nào biết cách nâng số ngắt ngoài lên 8 mà chỉ dùng 2 ngắt ngoài của 8051. 8 ngắt này lại phải kích hoạt timemer để đếm thời gian một cách riêng biệt khi có tin hiệu từ 8 nguồn khác nhau.Xin các ban giúp với.

  • #2
    Tui có 1 giải pháp :
    Đầu tiên 8 ngắt ngoài này sẽ đấu vào 1 port của 8051 (P1 chẳng hạn).
    Sau đó xét 2 trường hợp :
    1- : Ngắt ngoài của bạn loại tác động mức 1 hoặc sườn lên : 8 ngắt này sẽ đồng thời đấu đền ngõ vào của 1 cổng NOR, ngõ ra của NOR đấu đến INT của 8051.
    2- : Ngắt ngoài của bạn loại tác động mức 0 hoặc sườn xuống : 8 ngắt này sẽ đồng thời đấu đền ngõ vào của 1 cổng AND, ngõ ra của AND đấu đến INT của 8051.
    Như vậy khi có một ngắt xảy ra, sẽ có 1 ngắt ngoài cho 8051, lúc đó phần mềm xử lý ngắt sẽ đọc trạng thái cổng P1 để biết ngắt nào đang xảy ra để xử lý tiếp.
    Imagine all the people
    Living life in peace...

    Comment


    • #3
      có cách này (tôi chưa kiểm chứng), bạn thử cho 8 nguồn ngắt nối vào 1 port của VDK - ví dụ port1 chẳng hạn. đông thời 8 chúng cũng được AND hoặc OR với nhau để tạo một tín hiệu OUT nối với chân ngắt ngoài VDK. Tôi nói AND hoặc OR là do tính toán và lựa chọn của bạn sao cho cứ một trong 8 thằng trên sinh ra ngắt thì tín hiệu OUT cũng tạo ra ngắt tại chân ngắt ngoài. Khi có ngắt thì tại hàm phục vụ ngắt bạn scan cổng 1 để xem nguồn ngắt phát sinh từ đâu -> OK
      Chúc thành công.
      CUNG CẤP PSOC, MẠCH NẠP
      CHUYỂN ĐỔI USB <-> RS485 AutoBaud
      RS232 <-> RS485 MultiBaud
      MẠCH NẠP USBPPI S7-200
      Mobile: 0906076116
      Email:

      Comment


      • #4
        2 cách trên giống nhau mà !!!! giải pháp hay thật,đúng là còn rất nhiều điều phải học hỏi các bác !!! Bác Toymaker này ,liệu có thể dùng tiết kiệm port 1 chút được ko ? vd như qua thêm 1 con mã hóa chẳng hạn như vậy chỉ tốn có 3 chân của VDK để đọc ? hà hà như vậy ta có thể dùng giải pháp này để quét bàn phím bằng ngắt ngoài cũng được chứ nhỉ ?có vẻ hơi phí ngắt ngoài nhưng nếu VDk làm nhiều việc quá mà cần can thiệp bằng bàn phím vào lúc bất kỳ thì cái này có vẻ có ích đấy chứ ?

        Comment


        • #5
          Nếu mã hóa "8 to 3" để tiết kiệm chân thì sẽ không xử lý được khi có 2 ngắt xảy ra đồng thời.
          Imagine all the people
          Living life in peace...

          Comment


          • #6
            Bản thân các ngắt của 8051 cũng có thứ tự ư tiên rồi, chỉ có thể xử lý ngắt trong ngắt thôi chứ làm gì xử lý 2 ngắt đồng thời được. Nếu mình mở rộng ngắt thì cũng phải có thứ tự ưu tiên chứ.

            Comment


            • #7
              Nguyên văn bởi animo Xem bài viết
              Bản thân các ngắt của 8051 cũng có thứ tự ư tiên rồi, chỉ có thể xử lý ngắt trong ngắt thôi chứ làm gì xử lý 2 ngắt đồng thời được. Nếu mình mở rộng ngắt thì cũng phải có thứ tự ưu tiên chứ.
              Em hiểu ý Toymaker rồi , tại vì ở đây mang tiếng là nhiều ngắt ngoài nhưng thực sự chỉ tác động cho 1 ngắt trong VDK thôi nên ko có ưu tiên ngắt . 2 ngắt đồng thời ở đây là có 2 sự kiện cùng gây ra cái ngắt ngoài đó cùng lúc và trong chương trình phục vụ ngắt ta chỉ scan port để biết có những tác động nào đang gây ra ngắt đó, như vậy là vẫn có thể vẫn biết đang có nhiều sự kiện gây nên ngắt bên ngoài cùng xảy ra. Bác DUYCUONG hỏi vấn đề này cho ứng dụng gì vậy ??

              Comment


              • #8
                Nguyên văn bởi toymaker Xem bài viết
                Tui có 1 giải pháp :
                Đầu tiên 8 ngắt ngoài này sẽ đấu vào 1 port của 8051 (P1 chẳng hạn).
                Sau đó xét 2 trường hợp :
                1- : Ngắt ngoài của bạn loại tác động mức 1 hoặc sườn lên : 8 ngắt này sẽ đồng thời đấu đền ngõ vào của 1 cổng NOR, ngõ ra của NOR đấu đến INT của 8051.
                2- : Ngắt ngoài của bạn loại tác động mức 0 hoặc sườn xuống : 8 ngắt này sẽ đồng thời đấu đền ngõ vào của 1 cổng AND, ngõ ra của AND đấu đến INT của 8051.
                Như vậy khi có một ngắt xảy ra, sẽ có 1 ngắt ngoài cho 8051, lúc đó phần mềm xử lý ngắt sẽ đọc trạng thái cổng P1 để biết ngắt nào đang xảy ra để xử lý tiếp.
                Good solution! Thank you!

                Comment


                • #9
                  cám ơn các bạn , nhưng tôi cần thiết kế timer ra sao để phục vụ cho 8 tin hiệu ngắt trên 1 cách riêng biệt ( VD như đếm thời gian từ lúc bắt đầu đến lúc hết ngắt)

                  Comment


                  • #10
                    Nguyên văn bởi duycuong289 Xem bài viết
                    cám ơn các bạn , nhưng tôi cần thiết kế timer ra sao để phục vụ cho 8 tin hiệu ngắt trên 1 cách riêng biệt ( VD như đếm thời gian từ lúc bắt đầu đến lúc hết ngắt)
                    Vào ngắt bạn chỉ cần quét liên tục, cứ mỗi vòng quét bạn kiểm tra các chân ngắt nối vào 1 port như đã nói, chân nào còn tích cực thì bạn tăng giá trị trong ô nhớ chứa thời gian ngắt của ngắt đó lên, đến lúc nào tất cả các chân đều hết tích cực thì thoát ngắt.
                    Cái này yêu cầu thời gian của ngắt duy trì dài nhất phải nhỏ hơn thời gian xảy ra 1 trong các ngắt mới! Tức các ngắt không được xảy ra quá nhanh và thời gian kết thúc tất cả các ngắt phải đủ ngắn!

                    Comment


                    • #11
                      vậy tôi có thể chạy timer riêng biệt trong lúc ngắt để tạo xung clock hay không?

                      Comment


                      • #12
                        Nguyên văn bởi natra2k2 Xem bài viết
                        Vào ngắt bạn chỉ cần quét liên tục, cứ mỗi vòng quét bạn kiểm tra các chân ngắt nối vào 1 port như đã nói, chân nào còn tích cực thì bạn tăng giá trị trong ô nhớ chứa thời gian ngắt của ngắt đó lên, đến lúc nào tất cả các chân đều hết tích cực thì thoát ngắt..........................!
                        Đố vui: Có cách nào xác định được 1 trong 8 ngắt xảy ra mà không cần: quét liên tục, cứ mỗi vòng quét bạn không cần kiểm tra các chân ngắt nối vào 1 port ???

                        (Xin lỗi anh em, do vô tình ghé qua thăm BOS cũ, đọc qua, sực nãy ra câu hỏi thấy hay hay.....nên post lên thôi, ko có ý châm chọc ai cả!)

                        [ans:..qb.use.m...]

                        Comment


                        • #13
                          ko quét sao biết được nhỉ, em chịu thôi, phải chăng cần thêm mạch phụ trợ bên ngoài nữa, bác ra câu hỏi thì phải có đáp án à nha!

                          Comment


                          • #14
                            Nguyên văn bởi duycuong289 Xem bài viết
                            vậy tôi có thể chạy timer riêng biệt trong lúc ngắt để tạo xung clock hay không?
                            được chứ! Bạn nên cho mọi người biết ý đồ bạn định làm gì. Bạn bạn nên thử thì biết!

                            Comment


                            • #15
                              Nguyên văn bởi natra2k2 Xem bài viết
                              ko quét sao biết được nhỉ, em chịu thôi, phải chăng cần thêm mạch phụ trợ bên ngoài nữa, bác ra câu hỏi thì phải có đáp án à nha!
                              Chắc chắn rồi. Dĩ nhiên là có.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • nhathung1101
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi nhathung1101
                                Vừa thử lại, con loa kẹo kéo Tầu giá 1tr2 và loa Pionner.

                                Thử đọc chứ chưa hát:

                                - Ủa ái ni thì loa tàu ra đúng.

                                - Ủa ái ni trên con Pionner thành Ùa ái ni. Mà từ "ái" lại rõ to.

                                Thử "chèm...
                                hôm nay, 00:23
                              • nhathung1101
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi nhathung1101
                                Nhưng anh em nào còn đam mê sửa nguồn thì cứ cố gắng.
                                Tiền số đang có giá, mà nguồn cho bọn "trâu cày" toàn vài Kw.
                                Làm được vẫn sống tốt. Tôi thì nghỉ hưu rồi.

                                Hôm trước có ku em năn nỉ tôi sửa cho nó cái nguồn 12V/170Amp. Tôi bảo đi mua cái mới.
                                hôm nay, 00:02
                              • nhathung1101
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi nhathung1101
                                Ngày xưa, còn làm với bên viễn thông (giờ chẳng thèm làm vì công bèo).
                                Tôi sửa nguồn, tối thiểu phải đủ công cụ:
                                - Osciloscope.
                                - Logic Analyzer (để làm với chuẩn truyền thông)
                                - Đồng hồ đo dòng. Đồng hồ đo áp. Đồng...
                                Hôm qua, 23:43
                              • nhathung1101
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi nhathung1101
                                Thì không cấp nguồn là an toàn nhất rồi còn gì? Lo gì cháy nổ.
                                Còn đo đạc thì kiểm tra huyết áp hay nhịp tim ở cô hàng xóm vậy.

                                Còn Mèo thì toàn xúi thâm, thằng nào nghe cứ lãnh đủ. Chuyên lừa chuột non....
                                Hôm qua, 23:32
                              • nhathung1101
                                Trả lời cho Trình điều khiển bước rời rạc
                                bởi nhathung1101
                                "Chú ấy" ở bên Quảng Đông đấy. Đang bị "rã rời" rồi, nên đừng hướng vào con đường tội lỗi nữa....
                                Hôm qua, 23:26
                              • nhathung1101
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi nhathung1101
                                Loa Tầu nó đáp ứng được tiếng VN, vì mấy câu hát kiểu "oăng oẳng như sủa" Nhật nó không có. Nó chỉ hát kiểu "đục đục chạc chạc" thôi.
                                Nếu thấy loa Tầu hay, thì gỡ cái mác SONY gắn vào là xong. Còn cái loa Nhật thì vứt luôn, chỉnh làm quái gì.
                                ...
                                Hôm qua, 23:17
                              • since0501
                                Trả lời cho Pin Li-FePO4 (pin sắt) rất dể hỏng! Các biện pháp ngăn ngừa.
                                bởi since0501
                                Mình đào mộ xíu, cho mình hỏi là pin của bác vẫn ok chứ? Mình vừa đóng khối pin 16 cell 40135 thì khi chạy điện áp nó sụt so với khi nghỉ như video mình dẫn link, vậy cho mình hỏi là dung lượng pin sẽ tính khi áp nghỉ hay áp đang hoạt động, và pin sụt áp như vậy là bình thường hay pin kém?
                                ht...
                                Hôm qua, 17:56
                              • 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ế...
                                10-01-2025, 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 .
                                10-01-2025, 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ở ....
                                10-01-2025, 09:10
                              Đang tải...
                              X