Thông báo

Collapse
No announcement yet.

Bắt phím ma trận số 4x4, như thế nào là pro!!!

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

  • Bắt phím ma trận số 4x4, như thế nào là pro!!!

    Ai có cách bắt phím ma trận một cách chuyên nghiệp, quét đủ các trường hợp,ấn, giữ, thả, có thể nhiều nút ấn đồng thời, chống rung, nhưng lại tốn ít tài nguyên nhất ko nhỉ? Em nghĩ nó cũng không quá đơn giản như trong tưởng tượng của hầu hết mọi người đâu!!!


  • #2
    Thường thì chỉ cho phép một số phím đặc biệt + phím thông thường được bấn cùng 1 lúc chứ ít khi cho tất cả. Như bàn phím PC chẳng hạn. Với chi phí 40K dùng CPLD thì đợn giản hơn. Mình đã làm bàn phím giống PC để cho một thiết bị chuyên dụng rồi. Dùng SCAN bằng phần cứng. Nhận dạng KeyUp,KeyDown,KeyPressed,....Và các tổ hợp phím. các tổ hợp phím quét độc lập với các phím thông thường
    Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

    Biến tần
    Máy giặt
    Lò vi sóng
    Bếp từ.
    Tủ lạnh.
    Điều hòa

    Comment


    • #3
      Vậy nghĩa là anh MH có ý định post lên cái project đó? Em chờ nó đây, em sẽ lập một luồng mới nội dung:
      "Ghép nối với bàn phím PC, quà tặng của Minh Hà"
      Chắc cuối năm, anh cũng ko quá bận!!!Hi hi...

      Comment


      • #4
        Không đây không phải là bàn phím PC đâu. Nó chỉ tương tự thôi. Nếu bạn cần ghép bàn phím PC cũng được. Như vậy chỉ cần mua bàn phím về + MCU là OK. Nhưng có lẽ phải qua tết mới được.
        Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

        Biến tần
        Máy giặt
        Lò vi sóng
        Bếp từ.
        Tủ lạnh.
        Điều hòa

        Comment


        • #5
          Nguyên văn bởi thaithutrang
          Ai có cách bắt phím ma trận một cách chuyên nghiệp, quét đủ các trường hợp,ấn, giữ, thả, có thể nhiều nút ấn đồng thời, chống rung, nhưng lại tốn ít tài nguyên nhất ko nhỉ? Em nghĩ nó cũng không quá đơn giản như trong tưởng tượng của hầu hết mọi người đâu!!!
          Chưa có ai trả lời được câu hỏi tưởng chừng cơ bản này nhỉ?Dùng một ngắt timer nào đó, giới hạn chỉ cần phát hiện một nút được ấn, không cần tổ hợp, dùng 8 chân I/O.

          Comment


          • #6
            Cái này dùng 4 chân quát hàng và 4 cột được 16 phím phái không nhỉ. Nếu dùng PORTB của PIC thì dùng ngắt của PortB. Dùng timer thì ví dụ sau 20ms thực hiện quét 1 lần. Như vậy cần 80ms cho 1 vòng quét. Nếu phát hiện phim được ấn xuống thì gửi 1 HOOK đến OS. Đến khi phím được thả lại gửi 1 HOOK nữa. Tùy theo ứng dụng cần bắt phím sẽ có code tương ứng cho các HOOK trên. Có thể phát hiện tối đa ( trong trường hợp thuận lợi nhất) được 4 phím bấm 1 lúc. Nếu viết tốt thì có thể nhận dạng được 16 phím bấn 1 lúc. Như vậy không biết đúng không 3T. 3T có là học sinh thày Quốc Anh, Kim Khánh,Hay Quốc Trung không nhỉ
            Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

            Biến tần
            Máy giặt
            Lò vi sóng
            Bếp từ.
            Tủ lạnh.
            Điều hòa

            Comment


            • #7
              Hi hi... em ko phải học trò trong 3 thầy ấy, em học "Công nghệ thực phầm" mà.Điện tử là em đọc thêm. Để lúc nào rồi, em nghĩ ra câu đố, nếu anh MH giải được thì em sẽ nói là học sinh thầy nào ngay. Hihi... chỉ sợ anh ko giải được thôi.
              Về ý tưởng thì đơn giản rồi.Ý em nói là viết code thế nào cho chuyên nghiệp nhất. Loại trường hợp ngắt onchange portB,vì nó ko đa năng cho cổng bất kỳ, hơn nữa nó tuy đỡ tốn tài nguyên cho uC là đỡ phải quét, nhưng lại tốn timer,hoặc một cái timer dùng chung.

              Comment


              • #8
                Nguyên văn bởi thaithutrang
                Hi hi... em ko phải học trò trong 3 thầy ấy, em học "Công nghệ thực phầm" mà.Điện tử là em đọc thêm. Để lúc nào rồi, em nghĩ ra câu đố, nếu anh MH giải được thì em sẽ nói là học sinh thầy nào ngay. Hihi... chỉ sợ anh ko giải được thôi.
                Về ý tưởng thì đơn giản rồi.Ý em nói là viết code thế nào cho chuyên nghiệp nhất. Loại trường hợp ngắt onchange portB,vì nó ko đa năng cho cổng bất kỳ, hơn nữa nó tuy đỡ tốn tài nguyên cho uC là đỡ phải quét, nhưng lại tốn timer,hoặc một cái timer dùng chung.
                Oái, học "công nghệ thực phẩm" và điện tử chỉ là đọc thêm mà siêu thế cơ à. Đã thế lại còn ra câu đố cho anh MH mà sợ anh ấy kô giải nổi.
                Hy vọng cô bé xấu xí là người chứ kô phải là .............. ma. ha ha ha ha.....
                AFH

                Comment


                • #9
                  Anh viết tốn mất 32 byte cơ, gần trăm dòng lệnh, chắc không đơn giản nhất rồi
                  Vẫn biết mỗi lần xa là một lần về lại...

                  Comment


                  • #10
                    Úi, 32 byte RAM cơ à? chắc anh làm theo trường phái: chạy nhanh nhất rồi? phải ko ạ? vậy anh post lên em xem với, biết đâu em học được cái gì đó hay hay. Hihi...

                    Comment


                    • #11
                      Chỉ cần 10 byte thôi, làm gì mà nhiều dữ vậy bác qmk?

                      F ngứa miệng nói chơi thôi, đừng hỏi F giải pháp, không biết trả lời đâu, tại thấy bác qmk nói 32 byte nên F cứ chia ba ra thôi

                      Có lần nào anh nói với em về lời giải bài nút bấm 4x4 ở đâu rồi ấy Trang nhỉ? Hình như chưa nói bao giờ.. cái bài của em khó quá, anh thua

                      Chúc buổi tối vui vẻ.
                      Falleaf
                      Công ty TNHH Thương mại và Giao nhận R&P
                      58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
                      mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

                      Comment


                      • #12
                        Nguyên văn bởi falleaf
                        Chỉ cần 10 byte thôi, làm gì mà nhiều dữ vậy bác qmk?

                        F ngứa miệng nói chơi thôi, đừng hỏi F giải pháp, không biết trả lời đâu, tại thấy bác qmk nói 32 byte nên F cứ chia ba ra thôi

                        Có lần nào anh nói với em về lời giải bài nút bấm 4x4 ở đâu rồi ấy Trang nhỉ? Hình như chưa nói bao giờ.. cái bài của em khó quá, anh thua

                        Chúc buổi tối vui vẻ.
                        Tại viết trên 89C51 với PIC thì thế chứ trên AVR thì cứ lấy 64 cho thoải mái... :P
                        Vẫn biết mỗi lần xa là một lần về lại...

                        Comment


                        • #13
                          À, ra vậy, F mù 89 mà.... thông thông thông cảm cảm cảm cảm cảm cảm cảm ....
                          Falleaf
                          Công ty TNHH Thương mại và Giao nhận R&P
                          58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
                          mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

                          Comment


                          • #14
                            Chơi khó ghê ! Thôi thì mua đại con nào nhiều chân I/O vào mỗi phím làm một chân - chẳng thằng nào đụng thằng nào tha hồ mà ấn , kể ra cứ dùng con 89 làm 20 cái nút ấn riêng biệt - vẫn còn thừa 12 chân , kiểu này em Trang nên tậu thêm 2 bàn tay nữa để bấm cùng 1 lúc , không thì dùng chân cũng được
                            Mà em "Ấn " gì lắm thế ??? Hi vọng chiêu này giúp ích gì em chăng , về Code chắc mới vào nghề cũng làm rất gọn và chạy tít... OK ?
                            Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                            Comment


                            • #15
                              VXL interface với keyboard PC, có thể tìm thấy tại đây, tài liệu + source code
                              http://www.dientuftp.com/dddt/KhanhChuc/pckeyboard/

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X