Thông báo

Collapse
No announcement yet.

Xin giúp chút xíu về quét ma trận phím

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

  • Xin giúp chút xíu về quét ma trận phím

    phím nối với p2, led 7 đoạn nối với p1, nguồn thì mình nối với p2.0 - p2.3. Đây là bức hình thứ 1



    Nhấn ko thấy số nào sáng, bỏ nguồn ra, thì nhấn có sáng số 1 với chữ a nhưng ko có giữ thả tay ra là mất. Bức hình thứ 2



    Nhấn hàng đầu thì sáng chữ a, rồi đứng im luôn ko nhấn dc gì nữa, stop -> play nhấn tiếp hàng 2 sáng số 1 cũng như trên đúng im luôn ko nhấn được gì nữa, tiếp tuc nhấn hàng 3 sáng số 5 cũng như trên, hàng 4 sáng số 3 cũng như trên đều đứng im ko nhấn gì được nữa.

    - Bỏ nguồn ra thì nhấn tất cả các phím đều được nhưng mà nó chỉ sáng số 1,2,3,5,8, chữ a là đúng thôi còn lại là nó sáng ko đúng ( VD như số 4 ko ra số 4). Mình chẳng hiểu là nó như thế nào nữa, ở trên trường cũng làm y như vậy vẽ mạch cũng y như vậy mà sao nó lại sáng, về nhà thì nó lại ko sáng. Ở trường thì mình nối hình 1 và hình 2 chung lại tại port 2 thì bấm được , ở nhà cũng làm y như vậy nhưng nó ko sáng gì hết. Tóm lại là điên với cái này quá chẳng hiểu là nó bị cái gì nữa. cái môn VDK này sao mà nó khó quá vậy trời ơi.............................







    org 0000h
    main:
    ; xxxxxxxxxxxxx hang 1 xxxxxxxxxxxxxxxxxxxx
    mov p2,#01111111b
    jnb p2.0,so0
    jnb p2.1,so1
    jnb p2.2,so2
    jnb p2.3,so3
    ; xxxxxxxxxxxxxxxx hang 2 xxxxxxxxxxxxxxxx
    mov p2,#10111111b
    jnb p2.0,so4
    jnb p2.1,so5
    jnb p2.2,so6
    jnb p2.3,so7
    ; xxxxxxxxxxxxxxx hang 3 xxxxxxxxxxxxxxxxx
    mov p2,#11011111b
    jnb p2.0,so8
    jnb p2.1,so9
    jnb p2.2,chua
    jnb p2.3,chub
    ; xxxxxxxxxxxxxx hang 4 xxxxxxxxxxxxxxxxxx
    mov p2,#11101111b
    jnb p2.0,chuc
    jnb p2.1,chud
    jnb p2.2,chue
    jnb p2.3,chuf
    ljmp main
    ; xxxxxxxxxxxx nhay xxxxxxxxxxxxxxxxx
    so0: ljmp so01
    so1: ljmp so11
    so2: ljmp so21
    so3: ljmp so31
    so4: ljmp so41
    so5: ljmp so51
    so6: ljmp so61
    so7: ljmp so71
    so8: ljmp so81
    so9: ljmp so91
    chua: ljmp chua1
    chub: ljmp chub1
    chuc: ljmp chuc1
    chud: ljmp chud1
    chue: ljmp chue1
    chuf: ljmp chuf1

    so01: mov p1,#0c0h
    lcall delay
    ljmp main
    so11: mov p1,#0f9h
    lcall delay
    ljmp main
    so21: mov p1,#0a4h
    lcall delay
    ljmp main
    so31: mov p1,#0b0h
    lcall delay
    ljmp main
    so41: mov p1,#99h
    lcall delay
    ljmp main
    so51: mov p1,#92h
    lcall delay
    ljmp main
    so61: mov p1,#82h
    lcall delay
    ljmp main
    so71: mov p1,#0f8h
    lcall delay
    ljmp main
    so81: mov p1,#00h
    lcall delay
    ljmp main
    so91: mov p1,#90h
    lcall delay
    ljmp main
    chua1: mov p1,#11101111b
    lcall delay
    ljmp main

    chub1: mov p1,#11111111b
    lcall delay
    ljmp main
    chuc1: mov p1,#10011101b
    lcall delay
    ljmp main
    chud1: mov p1,#11111101b
    lcall delay
    ljmp main
    chue1: mov p1,#10011111b
    lcall delay
    ljmp main
    chuf1: mov p1,#10001111b
    lcall delay
    ljmp main
    delay:
    mov r5,#0ffh
    kt: mov r6,#0ffh
    kt1: djnz r6,kt1
    djnz r5,kt
    ret
    end
    Last edited by bienhoacc; 11-03-2012, 22:25.

  • #2
    Cái hình thứ 1 chụp thiếu, phím 4*4 ko phải 3*4 đâu nha các bạn


    http://nj1.upanh.com/b3.s13.d5/4b08e...104images3.jpg


    hình 1 đầy đủ

    Comment


    • #3
      4x4 hay 3x4 quet cũng khác nhau đâu, trên trang hocavr.com có bài viết khá chi tiết hướng dẫn cách quét ma trận phím, bạn có thể lên đó tham khảo
      Website chính thức đổi địa chỉ website thành
      Mời các bạn ghé thăm !!!

      Comment


      • #4
        Nguyên văn bởi mast090 Xem bài viết
        4x4 hay 3x4 quet cũng khác nhau đâu, trên trang hocavr.com có bài viết khá chi tiết hướng dẫn cách quét ma trận phím, bạn có thể lên đó tham khảo
        Mình cũng chẳng biết nó khác hay giống nhau nữa, nhưng mình chỉ muốn đưa hình ảnh chính xác nhất. TKS

        Comment


        • #5
          Học cái môn này đúng là điên đầu thật đó các bạn à, vừa plc vừa VDK ngày nào cũng lập trình lap trinh lap trình, chắc tui điên mất

          Comment


          • #6
            help !................................................. ..

            Comment


            • #7
              với bàn phím thì nút nào được nhấn thì hiển thị kí tự đó, việc hiển thị này phụ thuộc bạn gán giá trị cho từng phím, với mỗi cách sắp xếp phím ma trận nó sẽ tạo ra một kiểu sắp xếp mã khác, cái này phải lưu ý
              việc bạn ấn 1 lần rồi ko ấn được gì nữa có thể là do bạn chưa cho vào vòng lặp loop, mình k học asm nên k thể xem dùm code của bạn đc, còn bạn viết thế kia nói thật tôi đọc cũng k hiểu gì, viết loạn hết cả lên, bạn có thể cho mạch mô phỏng và file hex lên để mọi người đoán lỗi
              Website chính thức đổi địa chỉ website thành
              Mời các bạn ghé thăm !!!

              Comment


              • #8
                1.hex
                1.asm
                1.dsn

                Đây là fire hex, mo phong + asm
                Các bạn ơi nhớ giúp dùm nhé, học môn này sao mà nó buồn quá, học 10 mà chỉ hiểu co 1 à .................

                Comment


                • #9
                  Nguyên văn bởi bienhoacc Xem bài viết
                  Các bạn ơi nhớ giúp dùm nhé, học môn này sao mà nó buồn quá, học 10 mà chỉ hiểu co 1 à .................
                  tôi chưa thấy bạn quét phím ở bất kì chỗ nào thì làm sao mà nó phát hiện được phím nhấn, bên cạnh đó hàng 1 và cột 3 đều đc cấp mức 0 để làm j, quét bàn phím ai lại giữ mức, nếu cậu quét bàn phím thì sẽ có 1 cột hoặc hàng có mức logic 0 chạy tuần hoàn, ngoài ra cách đấu led trong mạch ấy ngược nhé, đấu ngược lại port ra đc số 4
                  bạn vẫn chưa hiểu về nguyên lý quét ma trận phím rồi, lên trang hocavr.com xem người ta nói lại rồi làm lại cho chính xác nhé, đọc đi đọc lại là hiểu,cái này khá nhiều tài liệu nói
                  và tôi ko biết asm lên k thể xem code được
                  ở đây tôi có cái đồ án môn ngày xưa làm hộ thằng bạn, nó là cái máy tính casio, ko được luột lắm nhưng cậu có thể nhìn thấy mức logic 0 nó chạy tuần hoàn phục vụ quét phím
                  Attached Files
                  Website chính thức đổi địa chỉ website thành
                  Mời các bạn ghé thăm !!!

                  Comment


                  • #10
                    Nguyên văn bởi mast090 Xem bài viết
                    tôi chưa thấy bạn quét phím ở bất kì chỗ nào thì làm sao mà nó phát hiện được phím nhấn, bên cạnh đó hàng 1 và cột 3 đều đc cấp mức 0 để làm j, quét bàn phím ai lại giữ mức, nếu cậu quét bàn phím thì sẽ có 1 cột hoặc hàng có mức logic 0 chạy tuần hoàn, ngoài ra cách đấu led trong mạch ấy ngược nhé, đấu ngược lại port ra đc số 4
                    bạn vẫn chưa hiểu về nguyên lý quét ma trận phím rồi, lên trang hocavr.com xem người ta nói lại rồi làm lại cho chính xác nhé, đọc đi đọc lại là hiểu,cái này khá nhiều tài liệu nói
                    và tôi ko biết asm lên k thể xem code được
                    ở đây tôi có cái đồ án môn ngày xưa làm hộ thằng bạn, nó là cái máy tính casio, ko được luột lắm nhưng cậu có thể nhìn thấy mức logic 0 nó chạy tuần hoàn phục vụ quét phím
                    Cám ơn bạn đã nhiệt tình giúp đở, thật sự thì mình cũng chưa hiểu lắm, nhưng mình sẽ cố gắng nghiên cứu cái ma trận phím này. TKS

                    Comment


                    • #11
                      mạch này mấy bạn lớp mình cũng làm qua, bạn tham khảo nhá

                      Nguyên văn bởi bienhoacc Xem bài viết
                      Cám ơn bạn đã nhiệt tình giúp đở, thật sự thì mình cũng chưa hiểu lắm, nhưng mình sẽ cố gắng nghiên cứu cái ma trận phím này. TKS
                      mạch ma trận bàn phím 4x4 hiển thị led 7 đoạn giá trị: 0,1,2,..9,A,B,C..,FClick image for larger version

Name:	mt.jpg
Views:	1
Size:	101.1 KB
ID:	1377386
                      PHP Code:
                      #include <sfr51.inc>
                      org 00h
                      main
                      :
                      mov p2,#11110000b
                      quethang:          ;quet cac hang chon ra cot co phim bam
                      jnb p2.7
                      ,quetcot1
                      jnb p2.6
                      ,quetcot2
                      jnb p2.5
                      ,quetcot3
                      jnb p2.4
                      ,quetcot4ct
                      ljmp quethang
                      ;===
                      quetcot1:            ;quet cot chon ra phim bam de hien thi
                      mov p2
                      ,#00001111b
                      jnb p2.3,display0
                      jnb p2.2
                      ,display4
                      jnb p2.1
                      ,display8
                      jnb p2.0
                      ,displayC
                      ljmp quetcot1
                      ;===
                      display0:              ;hien thi so 0
                      mov p0
                      ,#00000011b      
                      jnb p2.3,display0
                      ljmp main
                      ;===
                      display4:
                      mov p0,#10011001b
                      jnb p2.2,display4
                      ljmp main
                      ;===
                      display8:
                      mov p0,#00000001b
                      jnb p2.1,display8
                      ljmp main
                      ;===
                      displayC:
                      mov p0,#01100011b
                      jnb p2.1,displayC
                      ljmp main
                      ;===
                      quetcot2:
                      mov p2,#00001111b
                      jnb p2.3,display1
                      jnb p2.2
                      ,display5
                      jnb p2.1
                      ,display9
                      jnb p2.0
                      ,displayd
                      ljmp quetcot2
                      ;===
                      display1:
                      jnb p2.3,display1
                      mov p0
                      ,#10011111b
                      ljmp main
                      ;===
                      display5:
                      jnb p2.2,display5
                      mov p0
                      ,#01001001b
                      ljmp main
                      ;===
                      display9:
                      jnb p2.1,display9
                      mov p0
                      ,#00001001b
                      ljmp main
                      ;===
                      displayD:
                      jnb p2.0,displayD
                      mov p0
                      ,#10000101b
                      ljmp main
                      ;===
                      quetcot4ct:
                      ljmp quetcot4
                      ;===
                      quetcot3:
                      mov p2,#00001111b
                      jnb p2.3,display2
                      jnb p2.2
                      ,display6
                      jnb p2.1
                      ,displayA
                      jnb p2.0
                      ,displayE
                      ljmp quetcot3
                      ;===
                      display2:
                      jnb p2.3,display2
                      mov p0
                      ,#00100101b
                      ljmp main
                      ;===
                      display6:
                      jnb p2.2,display6
                      mov p0
                      ,#01000001b
                      ljmp main
                      ;===
                      displayA:
                      jnb p2.1,displayA
                      mov p0
                      ,#00010001b
                      ljmp main
                      ;===
                      displayE:
                      jnb p2.0,displayE
                      mov p0
                      ,#01100001b
                      ljmp main
                      ;===
                      quetcot4:
                      mov p2,#00001111b
                      jnb p2.3,display3
                      jnb p2.2
                      ,display7
                      jnb p2.1
                      ,displayB
                      jnb p2.0
                      ,displayF
                      ljmp quetcot4
                      ;===
                      display3:
                      jnb p2.3,display3
                      mov p0
                      ,#00001101b
                      ljmp main
                      ;===
                      display7:
                      jnb p2.2,display7
                      mov p0
                      ,#00011111b
                      ljmp main
                      ;===
                      displayB:
                      jnb p2.1,displayB
                      mov p0
                      ,#11000001b
                      ljmp main
                      ;===
                      displayF:
                      jnb p2.0,displayF
                      mov p0
                      ,#01110001b
                      ljmp main
                      ;===
                      end 

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...
                      X