hỏi cách dùng nút bấm để điều khiển led đơn

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • darrenshan
    Thành viên chính thức
    • Jan 2012
    • 51

    #1

    hỏi cách dùng nút bấm để điều khiển led đơn

    Em có 1 mạch điều khiển led đơn và 1 số hiệu ứng
    giờ em muốn dùng 1 và chỉ 1 nút bấm ( loại thường mở ) để chạy mạch,chuyển qua lại các hiệu ứng và tắt mạch BẰNG CÁCH GIỮ NÚT LÂU 1 CHÚT thì làm sao ạ?
  • ptit_et
    Thành viên tích cực
    • Feb 2012
    • 264

    #2
    khó nhỉ mình chỉ đóng góp cách dùng 1 nút chuyển nhiều chế độ là dùng ngắt
    ví dụ bạn có 5 chế độ
    switch(ngat)
    {
    ngat=1,chedo1 break;
    ngat=2,chedo2 break;
    ..........................
    ngat=5 chedo5, ngat=0}
    bạn thử coi sao

    Comment

    • hoangnam555
      Thành viên tích cực
      • Jan 2010
      • 2829

      #3
      Có code ASM ko bác?
      ĐT: 0972 20 58 68
      Gmail:

      Comment

      • Ck33spkt
        Thành viên tích cực
        • Apr 2010
        • 616

        #4
        Nguyên văn bởi darrenshan Xem bài viết
        Em có 1 mạch điều khiển led đơn và 1 số hiệu ứng
        giờ em muốn dùng 1 và chỉ 1 nút bấm ( loại thường mở ) để chạy mạch,chuyển qua lại các hiệu ứng và tắt mạch BẰNG CÁCH GIỮ NÚT LÂU 1 CHÚT thì làm sao ạ?
        Dùng một phím bấm để chuyển qua lại giữa các hiệu ứng thì cũng không khó lắm. Nhưng còn cái "tắt mạch" ở đây là gì? Là tắt tất cả các Led hay tắt nguồn điện cấp cho mạch Led?

        Comment

        • bienhou
          Thành viên tích cực
          • Dec 2011
          • 971

          #5
          chắc là tắt tất cả các led bác ạ. khó nhở.@@. mình nghĩ thế này. khi ấn nút bạn cho timer bắt đầu đếm. nếu đến giá trị bạn set trước cho nó mà nó vẫn chưa đựoc nhả thì tắt tất cả các port. còn vấn đề chuyển trạng thái thì ko có gì.có thể dùng ngắt ngoài như bác ptit_et nói. khi ấn nút biến tăng lên 1 đơn vị, ứng vs mỗi giá trị thì có 1 kiểu nháy riêng.//
          Nguyễn Huy Biên - 01649 802 694
          gmail :

          Comment

          • Ck33spkt
            Thành viên tích cực
            • Apr 2010
            • 616

            #6
            Nếu tắt ở đây là tắt Led thì không có gì là khó cả. Mà dẫu cho tắt nguồn cấp cho mạch thì cũng không khó!
            Chịu khó suy nghĩ chút là ra thôi.

            Comment

            • darrenshan
              Thành viên chính thức
              • Jan 2012
              • 51

              #7
              Nguyên văn bởi Ck33spkt Xem bài viết
              Nếu tắt ở đây là tắt Led thì không có gì là khó cả. Mà dẫu cho tắt nguồn cấp cho mạch thì cũng không khó!
              Chịu khó suy nghĩ chút là ra thôi.
              Tắt mạch ở đây là tắt tất cả các led,giống như mạch ngừng hoạt động vậy ạ!
              Em biết là với trình độ 1 số anh chị thì ko khó nhưng đối với em thì quá khó,chịu khó suy nghĩ nó ko ra mới bực chứ,anh chị nào có hướng đi nào khả thi ko bày em với
              Chuyển hiệu ứng thì em biết cách rồi,nhưng làm mạch đang tắt hoạt động lại và làm mạch đang chạy ngừng hoạt động thì ...

              Comment

              • hoangthuanhd
                Thành viên tích cực
                • Jan 2012
                • 402

                #8
                nếu đang hoạt đông cho dừng lại thì bạn dùng 1 chương trình (nop) ko làm gì cả còn đang ngừng hd lại thì chỉ cần gọi ct ra là dc mà.mình cũng như bạn đang bị vướng ở chỗ next chương trình khi ấn nút
                Tổng thống + điện = Ăn mày + điện = die => Tổng thống = ăn mày

                Comment

                • Ck33spkt
                  Thành viên tích cực
                  • Apr 2010
                  • 616

                  #9
                  Nguyên văn bởi darrenshan Xem bài viết
                  Tắt mạch ở đây là tắt tất cả các led,giống như mạch ngừng hoạt động vậy ạ!
                  Em biết là với trình độ 1 số anh chị thì ko khó nhưng đối với em thì quá khó,chịu khó suy nghĩ nó ko ra mới bực chứ,anh chị nào có hướng đi nào khả thi ko bày em với
                  Chuyển hiệu ứng thì em biết cách rồi,nhưng làm mạch đang tắt hoạt động lại và làm mạch đang chạy ngừng hoạt động thì ...
                  Cũng không khó lắm đâu. Bạn đã cho nó chuyển hiệu ứng được thì tắt cũng làm vậy thôi. Khi bạn cần cho nó tắt thì bạn phải bấm nút, lúc đó bạn cho gọi một chương trình con. Chương trình con này có nhiệm vụ là tắt Led, rồi sau đó liên tục kiểm tra phím bấm, đến khi nào phát hiện phím bấm thì nhảy sang chương trình con chạy hiệu ứng.
                  Bạn có thể qua luồng này tham khảo:
                  Last edited by Ck33spkt; 26-09-2012, 01:12.

                  Comment

                  • tan0710
                    Thành viên tích cực
                    • Mar 2010
                    • 471

                    #10
                    cái này nhá..
                    cho 1 biến là status phím ấn ( nó đc định nghĩa để phát hiện sự thay đổi trạng thái của nút ấn có trạng thái là 0 hoặc 1 )
                    khi ấn thì 1 biến chuyển hiệu ứng chạy như bt.
                    và sẽ có thêm 1 biến đếm nữa để chờ status thay đổi (lật)

                    nếu biến đếm đạt giá trị nào đấy thì xác định cho gọi chương trình ngắt ( tắt hết led trong chương trình ngắt )
                    trong chương trình ngắt nhớ có xét đk biến status ( tức là bạn muốn nó tắt hẳn hay tắt trong bao lâu )

                    Comment

                    • Ck33spkt
                      Thành viên tích cực
                      • Apr 2010
                      • 616

                      #11
                      Nguyên văn bởi tan0710 Xem bài viết
                      cái này nhá..
                      cho 1 biến là status phím ấn ( nó đc định nghĩa để phát hiện sự thay đổi trạng thái của nút ấn có trạng thái là 0 hoặc 1 )
                      khi ấn thì 1 biến chuyển hiệu ứng chạy như bt.
                      và sẽ có thêm 1 biến đếm nữa để chờ status thay đổi (lật)

                      nếu biến đếm đạt giá trị nào đấy thì xác định cho gọi chương trình ngắt ( tắt hết led trong chương trình ngắt )
                      trong chương trình ngắt nhớ có xét đk biến status ( tức là bạn muốn nó tắt hẳn hay tắt trong bao lâu )
                      Cách của bạn này được đấy!

                      Comment

                      • darrenshan
                        Thành viên chính thức
                        • Jan 2012
                        • 51

                        #12
                        Nguyên văn bởi Ck33spkt Xem bài viết
                        Cũng không khó lắm đâu. Bạn đã cho nó chuyển hiệu ứng được thì tắt cũng làm vậy thôi. Khi bạn cần cho nó tắt thì bạn phải bấm nút, lúc đó bạn cho gọi một chương trình con. Chương trình con này có nhiệm vụ là tắt Led, rồi sau đó liên tục kiểm tra phím bấm, đến khi nào phát hiện phím bấm thì nhảy sang chương trình con chạy hiệu ứng.
                        Bạn có thể qua luồng này tham khảo:
                        Gần giống cái em cần,chỉ khác là cái dùng 3 nút còn em chỉ 1 nút thôi,và cái quan trọng là em dùng C chứ ko dùng ASM haizzz
                        Anh có thể bày em cách sửa cái code ASM đó thành 1 nút đc ko ạ? chắc phải xài tạm ASM cho cái vụ này

                        Comment

                        • Ck33spkt
                          Thành viên tích cực
                          • Apr 2010
                          • 616

                          #13
                          Nguyên văn bởi darrenshan Xem bài viết
                          Gần giống cái em cần,chỉ khác là cái dùng 3 nút còn em chỉ 1 nút thôi,và cái quan trọng là em dùng C chứ ko dùng ASM haizzz
                          Anh có thể bày em cách sửa cái code ASM đó thành 1 nút đc ko ạ? chắc phải xài tạm ASM cho cái vụ này
                          Thực ra trong 3 nút thì chỉ có nút MODE là làm nhiệm vụ chuyển hiệu ứng thôi. Còn 2 nút còn lại làm nhiệm vụ tạm gọi là khởi động và dừng chương trình hiệu ứng. Bạn có thể sửa lại code bằng cách không kiểm tra 2 nút ngoài lề đó mà chỉ cần kiểm tra nguyên nút MODE của bạn. Nếu phát hiện nó được ấn thì bạn gọi chương trình tương ứng. Cũng không nhất thiết là phải dùng biến để lưu giữ số lần bấm nút vì bạn chỉ có 1 nút, nút được ấn là bạn gọi chương trình tương ứng.
                          Ví dụ: Code của bạn có 3 hiệu ứng. Muốn sau hiệu ứng thứ 3 mà ấn nút MODE một lần nữa là LED tắt thì bạn chỉ việc thêm đoạn chương trình kiểm tra phím MODE vào đây (vào hiệu ứng 3). Lần này phát hiện phím MODE được bấm thì bạn gọi chương trình tắt LED thôi. Khi ở chương trình tắt LED lại cho kiểm tra phím bấm, nếu được ấn thì thoát khỏi chương trình tắt Led và chạy chương trình mà bạn muốn không thì chạy tiếp chương trình đang chạy dở cũng được, còn không thì cứ duy trì kiểm tra phím bấm (đồng nghĩa với việc LED chỉ được bật khi phím MODE được bấm).

                          Comment

                          Về tác giả

                          Collapse

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

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

                          Collapse

                          Đang tải...