Thông báo

Collapse
No announcement yet.

chống rung cho phím có đầu vào là analog

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

  • chống rung cho phím có đầu vào là analog

    chào các bác!
    các bác cho em hỏi một chút.
    khi mình dùng 1 chân của VDK là đàu vào ra số thì ta có cách đọc phím như sau:
    if(RA1==0)
    {
    while(!RA1); //chống nẩy phím
    count++;
    }
    nhưng khi đầu vào là analog
    if(ReadADC==100)
    {
    // có lệnh gì đểchống nẩy cho phím như ở trên ko hả các bạn?
    count++;
    }
    xin hỏi các bác có lệnh nào để chống nẩy phím cho đầu vào analog như ở đầu vào số ko?
    cám ơn các bác!

  • #2
    về nguyên tắc chống rung bàn phím là như vậy
    - phát hiện ra nhấn phím
    - delay
    - nếu còn nhấn thì là đúng ngược lại là sai


    đầu vào là số

    còn nếu đầu vào là analog thì bạn phải dùng 1 trong 2 cách
    cách 1:
    dùng phần cứng chuyển đổi analog về số cách nay đơn giản (và thường dung cách này)
    cách 2:
    bạn phải viết một đoạn code kiểm tra tím hiệu analog co hay không rồi sau đó thi tương tự giải thuật có nhấn phím hay không cáh này khá phức tạp
    bạn phải chạy 2 đoạn mã này gần như cùng 1 lúc
    gọi ý : ngắt time0 kiểm tra tín hiệu analog và điều khiển cờ phát hiện có analog hay không
    còn trong chương trinh chính thi thay vì quét chân điều khiển phín như bên số thì bây giờ quét cờ analog

    chuc ban thành công
    Điện thoại:
    email:

    Comment


    • #3
      Nguyên văn bởi dangdung Xem bài viết
      về nguyên tắc chống rung bàn phím là như vậy
      - phát hiện ra nhấn phím
      - delay
      - nếu còn nhấn thì là đúng ngược lại là sai


      đầu vào là số

      còn nếu đầu vào là analog thì bạn phải dùng 1 trong 2 cách
      cách 1:
      dùng phần cứng chuyển đổi analog về số cách nay đơn giản (và thường dung cách này)
      cách 2:
      bạn phải viết một đoạn code kiểm tra tím hiệu analog co hay không rồi sau đó thi tương tự giải thuật có nhấn phím hay không cáh này khá phức tạp
      bạn phải chạy 2 đoạn mã này gần như cùng 1 lúc
      gọi ý : ngắt time0 kiểm tra tín hiệu analog và điều khiển cờ phát hiện có analog hay không
      còn trong chương trinh chính thi thay vì quét chân điều khiển phín như bên số thì bây giờ quét cờ analog

      chuc ban thành công
      hic cám ơn bác đã gợi ý. nhưng bác có thể vd bằng code mẫu C (em muốn làm theo cách 2)ko?
      em mới tập tọe thui,nên hơi kém
      cám ơn bác!

      Comment


      • #4
        Cách chống nảy của bạn cũng ko ổn, câu lệnh while(!....); thì chống nảy sao đc, muốn chống nảy thì về phần cứng cho thêm con tụ 100nF mắc // nút ấn, về phần mềm thì đúng là phải delay một chút rồi kiểm tra lại xem nút còn đc ấn hay ko. Nên kết hợp cả phần cứng và phần mềm bạn à


        Add: 97 Quán Nam - Lê Chân - Hải Phòng.
        Tel: 031 518648 Phone: 0904 283 505

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X