Thông báo

Collapse
No announcement yet.

Hỏi về cách quét cổng để tăng số ngắt ngoài 8051

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

  • Hỏi về cách quét cổng để tăng số ngắt ngoài 8051

    Chào mọi người. Mình cần nâng số ngắt ngoài của 8051. Đọc trong diễn đàn thấy có topic bàn về việc này nhưng có chỗ không hiều. Đây là hướng giải quyết về phần cứng đã được giải đáp trên diễn đàn:
    Đầ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.
    Vậy, phương pháp quét cổng để xác định ngắt là như thế nào. Xin pà koan chỉ giúp. Thanks !!!

  • #2
    đọc xong chả hiểu j, mà nối ngắt kiểu j cho 8 chân của 1port
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

    Comment


    • #3
      em thấy cách này cũng hay đấy chứ, như thế thì có thể nhân lên thành 8 ngắt ngoài rồi, trong chương trình xử lí ngắt đầu tiên ta cho lệnh kiểm tra cổng p1 xem ngắt nào được thực hiện thì nhảy đến ngắt đó. cũng hay thanks phát

      Comment


      • #4
        Có sư huynh nào giúp giùm với!!!

        Comment


        • #5
          ko biết bạn dùng làm gì tới 8 ngắt ngoài, 1 cái ngắt ngoài mà mình còn chưa bao giờ dùng nữa, sao không dùng quét kiểm tra trạng thái các chân cho nhanh bạn, chu kì của 89 là 1us ( thạch anh 12 Mhz ) quá đủ để bạn vừa kiểm tra trạng thái các chân vừa làm việc khác

          Comment


          • #6
            Mình muốn nâng số ngắt ngoài lên để dùng nhiều switch điều khiển nhiều đèn hơn. Mọi người ai giúp giùm phương pháp quét cổng để xác định ngắt với!!!

            Comment


            • #7
              đọc trạng thái từ sw thì dùng phuơng pháp đọc trạng thái từng chân rồi điều khiển đèn cũng được chứ gì đâu bạn dùng ngắt chi mắc công zay, còn nếu bạn dùng 8 switch điều khiển 8 đèn thì càng đơn giản, giả sử switch gắn port 1, đèn gắng port 2, switch on là 1 off là 0 và đèn on là 1 off là 0 thì trong code bạn chỉ đơn giản làm 1 việc :

              C:
              while(1) P2=P1;

              ASM:
              main:
              mov P2,P1
              jmp main

              Comment


              • #8
                Nguyên văn bởi trimen Xem bài viết
                đọc trạng thái từ sw thì dùng phuơng pháp đọc trạng thái từng chân rồi điều khiển đèn cũng được chứ gì đâu bạn dùng ngắt chi mắc công zay, còn nếu bạn dùng 8 switch điều khiển 8 đèn thì càng đơn giản, giả sử switch gắn port 1, đèn gắng port 2, switch on là 1 off là 0 và đèn on là 1 off là 0 thì trong code bạn chỉ đơn giản làm 1 việc :

                C:
                while(1) P2=P1;

                ASM:
                main:
                mov P2,P1
                jmp main
                Mình muốn giảm thiểu số chân kết nối á bạn. Như là hướng giải quyết phần cứng đầu topic á. Mong bạn xem giúp.

                Comment


                • #9
                  Nguyên văn bởi kid1417 Xem bài viết
                  Chào mọi người. Mình cần nâng số ngắt ngoài của 8051. Đọc trong diễn đàn thấy có topic bàn về việc này nhưng có chỗ không hiều. Đây là hướng giải quyết về phần cứng đã được giải đáp trên diễn đàn:
                  Đầ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.
                  Vậy, phương pháp quét cổng để xác định ngắt là như thế nào. Xin pà koan chỉ giúp. Thanks !!!
                  Đây là cách mở rộng ngắt ngoài của AVR còn 89 mình nghĩ làm thế này cũng đc, kết nối mạch như thế kia là bạn có 8 cái ngắt rồi đấy.
                  Tại chân ngắt ngoài phải có 1 con điện trở 10K nối lên VCC nữa, hình bị vẽ thiếu.
                  Attached Files
                  Nhận làm mạch, ĐAMH sử dụng vđk Pic & AVR tại tp.HCM
                  Liên hệ sđt: 0902.808.371

                  Comment


                  • #10
                    Thế này có được ko ?
                    Mà nếu nhiều nữa thì là nối quách nó với cái Matrix Key. Hoặc nhiều nữa nữa thì nối với cái bàn phím máy tính.
                    Attached Files

                    Comment


                    • #11
                      Nếu quét trạng thái chân thì khi có delay sẽ bị quét trễ. nếu cho quét chân cả vào trong delay thì delay ko còn chính xác nữa, và tốn bộ nhớ. như vậy cách tốt nhất là sử dụng ngắt ngoài. trên họ 8051 chỉ có 2 chân cho phép ngắt ngoài. bây giờ phải làm sao với 8 chân đây. nhỡ mình cần nhiều hơn thì sao?

                      Comment

                      Về tác giả

                      Collapse

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

                      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 nay, 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 nay, 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 nay, 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...
                        Hôm qua, 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 ...
                        Hôm qua, 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...
                        Hôm qua, 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