Thông báo

Collapse
No announcement yet.

Anh chị nào có thể giải thích giúp em đoạn chương trình này với.Em cảm ơn anh chị

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

  • Anh chị nào có thể giải thích giúp em đoạn chương trình này với.Em cảm ơn anh chị

    void isr_timer1() interrupt 3
    { TF1=0; // Xoa co tran TF1
    TR1=0; // Dung bo dinh thoi timer 1
    k++;
    dem++;
    if(k==1000) {
    vantocxung*100)+(xung%100)*60);
    xung=0;
    k=0;
    }
    if(dem>1000) dem=0;
    if(dem<tocdo)
    P2=x;
    else
    P2=0x00;
    TR1=1; // Khoi dong bo dinh thoi timer 1
    }

  • #2
    Code:
    void isr_timer1() interrupt 3
    {     TF1=0;				// Xoa co tran TF1
           TR1=0;				// Dung bo dinh thoi timer 1
           k++;
           dem++;
           if(k==1000)				  		  
           {
    	         vantoc=((xung*100)+(xung%100)*60);
    		 xung=0;	
    	         k=0;
           }
           if(dem>1000) 
          {        dem=0;       }
           if(dem<tocdo)
           {       P2=x;          }
           else
           {      P2=0x00;	  }       			
           	TR1=1;  			// Khoi dong bo dinh thoi timer 1
    }
    code đã giải thích rõ rồi mà bạn
    chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
    Everything should be made as simple as possible, but not simpler

    Comment


    • #3
      Nguyên văn bởi daohuytien Xem bài viết
      Code:
      void isr_timer1() interrupt 3
      {     TF1=0;				// Xoa co tran TF1
             TR1=0;				// Dung bo dinh thoi timer 1
             k++;
             dem++;
             if(k==1000)				  		  
             {
      	         vantoc=((xung*100)+(xung%100)*60);
      		 xung=0;	
      	         k=0;
             }
             if(dem>1000) 
            {        dem=0;       }
             if(dem<tocdo)
             {       P2=x;          }
             else
             {      P2=0x00;	  }       			
             	TR1=1;  			// Khoi dong bo dinh thoi timer 1
      }
      code đã giải thích rõ rồi mà bạn
      một số chỗ em biết em giải thích đó rùi. nhưng còn chỗ if(k==1000) và P2=x; (P2=0x00 có phải là bắt đầu quét lại cổng P2 đúng ko ạ).

      Comment


      • #4
        Nguyên văn bởi caokhanhpt91 Xem bài viết
        một số chỗ em biết em giải thích đó rùi. nhưng còn chỗ if(k==1000) và P2=x; (P2=0x00 có phải là bắt đầu quét lại cổng P2 đúng ko ạ).
        dòng lệnh if(k==1000) là dòng lệnh điều kiện. nếu như biến k=1000 thì sẽ thực hiện câu lệnh bên trong nó.
        P2=x; P2=0; xuất dữ liệu ra như bình thường.
        chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
        Everything should be made as simple as possible, but not simpler

        Comment


        • #5
          Theo mình thì đây là 1 chương trình phục vụ ngắt thời gian dùng để tính toán tốc độ quay của motor, và người ta setup cái này trên timer 1 với thời gian là 1ms có nghĩa là cứ sau 1ms thì chương trình này được gọi 1 lần (k tăng 1 đơn vị) và do (1ms nên) 1ms*1000=1s.

          Comment


          • #6
            Haiz, nhìn kỹ lại thì hình như còn có cả điều tốc nữa thì phải.
            Code:
            if (k==1000) // -> Như trên đã giải thích tạo (1 giây)
            P2=0;// Cái này chắc tắt motor đi.
            P2=x;//cái này chắc để tăng tốc động cơ lên. hoặc ít ra là thúc cho động cơ quay ngay tại thời điểm đó
            Trên đây là ý hiểu của mình, mình chưa làm mấy cái này bao giờ cả chỉ biết chút về lập trình nếu có gì sai thì mọi người góp ý cùng học hỏi nhé.

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            • Andrea14
              Vấn đề về tốc độ quay
              bởi Andrea14
              Chào mọi người,

              Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
              12-12-2025, 12:42
            • bqviet
              Trả lời cho Đấu tắt điện cho máy tính bảng
              bởi bqviet
              Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
              06-12-2025, 17:17
            • nguyendinhvan
              Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
              bởi nguyendinhvan
              Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
              05-12-2025, 19:59
            • afrendly
              Trả lời cho Đấu tắt điện cho máy tính bảng
              bởi afrendly
              Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
              04-12-2025, 01:27
            Đang tải...
            X