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

                      • vi van pham
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi vi van pham
                        Cám ơn những lời chúc tốt đẹp của em.

                        Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                        Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                        hôm nay, 02:00
                      • nhathung1101
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi nhathung1101
                        Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                        Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                        Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                        Hôm qua, 22:18
                      • dinhthuong80
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi dinhthuong80
                        Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                        Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                        Hôm qua, 14:51
                      • dinhthuong80
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi dinhthuong80
                        Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                        Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                        Hôm qua, 14:39
                      • dinhthuong80
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi dinhthuong80
                        Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                        Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                        Hôm qua, 14:28
                      • bqviet
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi bqviet
                        Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                        21-02-2025, 20:26
                      • mèomướp
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi mèomướp
                        Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                        21-02-2025, 12:32
                      • vi van pham
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi vi van pham
                        Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                        Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                        20-02-2025, 21:31
                      • bqviet
                        Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                        bởi bqviet
                        Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                        20-02-2025, 17:22
                      • dinhthuong80
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi dinhthuong80
                        Tiếng Anh, Đình Thường phải nói là rất tệ, khiến việc giao tiếp đời thường thôi cũng khó chứ nói gì về kĩ thuật.

                        Nhân tiện, nhờ các bạn, các bác xem giúp thư ĐT viết thế này liệu có thể gửi tới địa chỉ nhận hay chăng,...
                        20-02-2025, 11:52
                      Đang tải...
                      X