Thông báo

Collapse
No announcement yet.

VDK giao tiếp bàn phím máy vi tính

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

  • #16
    nếu muốn đầy đủ hơn thì các bạn có thể làm như bác hoctro89xxx nói.
    Thực ra khi ta nhấn và nhả 1 phím thì IC bàn phím có thể gửi 1 hay nhiều byte tùy phím nhấn, hơn nữa, trong giao tiếp còn có các byte điều khiển, báo trạng thái, báo nguồn...
    Chương trình mình viết chỉ đơn giản nhận dạng phím dc nhấn thôi (các phím phổ biến như A, B, C, 1, 2,3, F1, F2,...), tức là chỉ nhận byte đầu tiên. Do đó sau khi nhận byte đầu này mình mới "delay_ms(100)" để bỏ qua những byte khác nếu có.
    !e

    Comment


    • #17
      viết như bác zemen đơn giản quá seo chạy nổi

      Comment


      • #18
        Em đang làm về cái này các bác ạ! Xin mạo muội thế này:
        - Ct của bác zemen chỉ nhận đc 1 byte thôi.
        - Phím nhấn tạo ra mã nhấn và mã nhả, vì vậy ta còn phải kiểm tra mã nhả nữa.Mã nhả chiếm nhiều byte hơn.
        Em đang lúng túng ko biết xử lý ra sao, mong mọi người giúp đỡ!

        mobile:01692500603

        Comment


        • #19
          Nhân đây em "cá kiếm" được ct này của bạn:
          INCLUDE 89c51.mc
          ;---------------------------------------------------
          dulieu BIT p3.4
          clock BIT p3.3
          ;---------------------------------------------------
          org 0000h
          JMP main
          org 0013h
          JMP int1
          org 0030h
          main:
          MOV ie,#10000100b ; cho phep cac ngat vaf nhat ngoai 1
          SETB tcon.2 ; cho phep ngat thep suon xung
          SJMP $
          int1:
          PUSH 04
          MOV R4,40H
          CJNE R4,#00011100B,TAT
          Clr p1.7
          MOV p0,40h ;hien thi gia tri doc duoc
          Setb p1.7
          JMP BOQUA
          TAT:
          Clr P1.7
          Mov P0,0FFH
          Setb P1.7
          ;-----------------------------------------------------------
          BOQUA:
          POP 04
          PUSH A
          JB 72h,nhapbitphim
          MOV 30h,#50
          clockbitstart:
          JNB clock,clockbitstart1
          JB dulieu,loibitstart
          SETB 72h
          MOV R7,#8
          JMP thoatbitphim
          nhapbitphim:
          JB 73h,kiemtrabitphim
          MOV 30h,#50
          clockbitdata:
          JNB clock,clockbitdata1
          MOV A,40H
          MOV C,dulieu
          RRC A
          MOV 40h,A
          DJNZ R7,thoatbitphim
          SETB 73h
          MOV R7,#2
          JMP thoatbitphim
          clockbitstart1:
          DJNZ 30h,clockbitstart
          JMP loibitstart
          clockbitdata1:
          DJNZ 30h,clockbitdata
          JMP loibitstart
          clockbitstop1:
          DJNZ 30h,clockbitstop1
          loibitstart:
          CLR 72h
          CLR 73h
          JMP thoatbitphim
          kiemtrabitphim:
          MOV 30h,#50
          clockbitstop:
          JNB clock,clockbitstop1
          DJNZ R7,thoatbitphim
          JNB dulieu,loibitstart ;kiem tr loi bit stop
          CLR 72h
          CLR 73h
          CLR IE.2 ; cam ngat ngoai 1
          thoatbitphim:
          POP A
          RETI


          Ko hiểu p1.7 dùng để làm gì nhỉ?! Rồi còn 72h,73h nữa? Ai xem giúp với!

          mobile:01692500603

          Comment


          • #20
            ai chỉ giưp mình với:
            Mình làm mà chỉ nhận đúng nửa byte của bàn phím thôi, nửa byte còn lại nhận bị sai, chẳng hiểu sao nữa. Ví dụ: nhấn phím A có mã hex là 1Ch thì nó hiển thị là 3Ch. Bao giờ cũng thế cứ một trong hai bit có trọng số thấp ở nửa byte đầu có giá trị 1 thì bít còn lại cũng là 1 : 5C sẽ là 7C chẳng hạn thế. Ai biết giúp mình với!thanks!

            mobile:01692500603

            Comment


            • #21
              Đằng sau cây máy tính (máy để bàn) có hai cổng PS2, một cho con chuột, 1 cho bàn phím. Bàn phím nào có đầu dây cắm vừa vào cái cổng đó thì là PS2.....................
              Last edited by mrcuongcon; 28-10-2008, 20:31.

              Comment


              • #22
                Anh ơi ! Có thể post cái sơ đò nguyên lí mạch giao tiếp keyboard với 8951 dc ko ???


                THANK
                Email :

                Comment


                • #23
                  Em hỏi ké tí: bàn phím với chuột có loại PS2 và usb, PS2 thì có frame truyền như các anh đã nói, còn usb protocol theo em biết thì nó có quá trình enumerate khá phức tạp. Vậy mà có cái đầu cắm chuyển đổi usb --> PS2 dùng cho bàn phím với chuột, chỉ đơn giản là chuyển nối các chân tương ứng. Thế là thế nào nhỉ?
                  Phạm Minh Tuấn

                  (+84) 982006467

                  Comment


                  • #24
                    Nguyên văn bởi xuanohyes89 Xem bài viết
                    Anh ơi ! Có thể post cái sơ đò nguyên lí mạch giao tiếp keyboard với 8951 dc ko ???


                    THANK
                    sơ đồ chả có gì ghê gớm cả bạn ơi. cứ nối thẳng 2 chân VDK với chân data và clock của bàn phím là được rồi.
                    chúc bạn thành công

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X