Thông báo

Collapse
No announcement yet.

xin giúp về nút bấm cho 8051

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

  • xin giúp về nút bấm cho 8051

    E đang tập tọe học vdk và có copy dc vài code về chỉnh sửa nhưng đang muốn hỏi về nút ấn

    Ctrinh của e là ntn: Nếu P3_1=0 (ấn nút) thì ctrinh chạy luôn và ko nhận dữ liệu từ P3_1 nữa nghĩa là nhấn hay giữ thì mặc kệ nó
    Ctrinh chạy xong thì chờ khoảng 30 giây nếu ko có P3_2=0 (ấn nút P3_2 hoặc reset vdk ) thì lại chạy lại 1 lần nữa ctrinh mà vừa nãy chạy xong, rồi cho con vdk này đơ luôn ko làm j nữa, chờ dc reset (ấn nút P3_2 hoặc reset vdk ) thì hoạt động lại như ban đầu.

    Và đây là code mong các cao thủ sửa giúp:

    Code:
    #include <REG2051.H>
    void delay(unsigned char t){
    unsigned char i;
    for(i=0;i<t;i++){
    TMOD=0x01;	
    TH0=0x61; //-50000 us 3c b0
    TL0=0xa8;
    TR0=1;
    while(!TF0); //cho timer0 tràn
    TF0=TR0=0;
    
    }
    }
    void main(){
    unsigned int k, l, a;
    unsigned char m1[2]={0x06,0x0f};						  //mang bit cho  P1
    unsigned char m2[6]={0x06,0x0a,0x06,0x0c,0x06,0x16};	 //mang bit cho  P1
      
    for(l=0;l<3;l++)   //Chuong trinh chay
    {
    for(k=0;k<2;k++)
    {
    P1=m1[k];
    delay(20);
    }
    } 
    for(a=0;a<6;a++)
    {
    P1=m2[a];
    delay(30);
    }				   //het
    
    }
    Câu Lạc Bộ Sáng Tạo

  • #2
    Theo e thử thế này.
    sbit a = P3^2;
    unsigned int i,d;
    .
    .
    .
    if(a == 0) //Đọc phím P3_2
    { while (!a);
    for(i=0; i<2;i++)
    { d ++;
    // thuc hien chuong trinh//
    delay(...) // 30 s
    if(d==2)
    { d = 0;
    while(1);
    }
    }
    }

    Comment


    • #3
      nghĩa là như nào mình chẳng hiểu ý tác giả muốn như nào
      Tổng thống + điện = Ăn mày + điện = die => Tổng thống = ăn mày

      Comment


      • #4
        Nguyên văn bởi hoangthuanhd Xem bài viết
        nghĩa là như nào mình chẳng hiểu ý tác giả muốn như nào
        Kiểu như thế này:
        Nhấn phím P3_1 (nối vào chân P3_1) thì nó chạy chương trình như trong code và không nhận dữ liệu j ở chân P3_1 nữa nó có mức ntn thì mặc kệ, xong
        Khi cái chương trình chạy xong thì nó chờ dc reset nếu ko có reset thì trong khoảng 30s thì chạy lại code vừa chạy (mà cái code mà khi nhấn nút thì chạy ý), xong chờ dc reset để chạy lại từ đầu như mới cấp nguồn (vdk ko làm j cả)
        Câu Lạc Bộ Sáng Tạo

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X