Thông báo

Collapse
No announcement yet.

help!!Truyền chân vi điều khiển vào hàm, cct ( KeilC)

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

  • help!!Truyền chân vi điều khiển vào hàm, cct ( KeilC)

    Mình muốn xây dựng một hàm quét phím như sau:quetphim(PX);
    vd: maphim = quetphim(P1);

    Trong đó PX là portX của VDK được nối với bàn phím matrix 4x4 .

    ==>

    Vậy các pro cho mình hỏi làm sao để truyền port của VĐK vào hàm được.
    (Mình đã thử truyền các port vào nó chỉ lấy giá trị tức thời của port để truyền vào thôi.Mìnhh muốn truyền vào tên port nào đó thì trong hàm mình có thể truy xuất như bình thường )
    thanks các pro!!!!!!!!!!!1

  • #2
    bạn đưa code bạn đang làm lên đi, h nói thế khó hiểu lắm
    Nguyễn Huy Biên - 01649 802 694
    gmail :

    Comment


    • #3
      trong hàm quetphim(PX);dùng lệnh if để chọn Port.
      Vd: if (PX==1) {maphim =P1;}
      if (PX==2) {maphim =P2;}
      ...

      Comment


      • #4
        Nguyên văn bởi bienhou Xem bài viết
        bạn đưa code bạn đang làm lên đi, h nói thế khó hiểu lắm
        Ý mình chỉ muốn hỏi cách truyền chân VDK vào một hàm, cct nào đó thôi. Chứ giải thuật quét phím thì mình biết làm rồi.
        Chẳng hạn bi giờ bạn viết dùm mình chương trình con chớp tắt portx nhé
        vd : choptat(P1); => port1 sẽ chớp tắt, nếu thay đổi thành: choptat(P2); => P2 sẽ chớp tắt. thanks bạn

        Comment


        • #5
          không dùng keil nhưng trong 1 số trình dịch nó dùng thế này :

          - đối với thư viện ( file riêng ) ... chẳng hạn mình làm 1 file keypad.c ( để lưu các hàm quét , lấy giá trị quét ...v.v )
          đối với cả port thì viết : extern sfr char keypad_port;

          /// mô tả chương trình con ở dưới VD

          char quetphim(keypad_port)
          char maphim;
          {
          quét
          quét
          lấy kết quả maphim = abcxyz;
          ----
          làm cái khỉ gì nữa thì làm
          return(maphim);
          }

          // đối với 1 bit thì viết : extern sfr sbit my_pin;

          ---
          khai báo ở trong chương trình (cct ) thì :
          char keypad_port at P0; // dùng P0 làm keypad Port

          sbit my_pin at P2.0 ; // sử dụng P2.0 làm chân mình cần dùng

          void main(void)
          {
          abc, xyz...
          f......u.c.................>|...
          }
          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


          • #6
            Nguyên văn bởi 7291665 Xem bài viết
            Ý mình chỉ muốn hỏi cách truyền chân VDK vào một hàm, cct nào đó thôi. Chứ giải thuật quét phím thì mình biết làm rồi.
            Chẳng hạn bi giờ bạn viết dùm mình chương trình con chớp tắt portx nhé
            vd : choptat(P1); => port1 sẽ chớp tắt, nếu thay đổi thành: choptat(P2); => P2 sẽ chớp tắt. thanks bạn
            bạn cũng có thể dùng tham chiếu để làm

            void choptat(unsigned char PORT)
            {
            làm chương trình ở đây : VD trong mikroc có truy cập bit trực tiếp

            PORT.B1=1;
            PORT.B6=1;
            PORT.B5=1;
            ......v.v
            }

            khi bạn gọi hàm choptat(P1); thì P1.1 =1; P1.6 =1; P1.5=1;

            tôi nghĩ Keil cũng tương tự vậy ( nếu không truy cập được bit trực tiếp thì dịch bit cũng ok )

            --- bài toán của bạn có nhiều cách làm. tùy cụ thể mà làm cách thuận tiện hơn thôi ( chứ kết quả là như nhau ).
            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

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X