Thông báo

Collapse
No announcement yet.

Tìm hộ lỗi sai trong đoạn code của em với.

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

  • Tìm hộ lỗi sai trong đoạn code của em với.

    Đề tài là làm 5 led nhấp nhấy với 5 tần số khác nhau!Bác nào chỉ giáo cho em với.Xin cảm ơn







    #include<stdio.h>
    #include<reg52.h>
    int i;
    sbit led1=P3^3;
    sbit led2=P3^4;
    sbit led3=P3^5;
    sbit led4=P3^6;
    sbit led5=P3^7;

    void delay(int t)
    {for (i=1;i<=t;i++);}
    void main(void)
    {
    //T2MOD=0X02;
    RCAP2H=-25000/256;
    RCAP2L=-25000%256;
    TR2=1;
    TMOD=0X01;
    TH1=TL1=-100;
    TR1=1;
    IE=0XAF;
    IP=0;
    TF0=1;
    while(1); }
    void ngat0 (void) interrupt 0
    {led4=1;
    delay(100);
    led4=0;
    delay(100);
    }
    void ngat1 (void) interrupt 2
    {
    led5=1;
    delay(200);
    led5=0;
    delay(200);
    }



    void ngatT0 (void) interrupt 1
    {
    TR0=0;
    TH0=-10000/256;
    TL0=-10000%256;
    led2=~led2;
    TR0=1;
    }
    void ngatT1 (void) interrupt 3
    {
    led1=~led1;
    }
    void ngatT2 (void) interrupt 5
    {
    led3=~led3;}

  • #2
    trời ơi trời, dùng 5 ngắt để chỉ để nháy led , trong khi đang dùng Phiplip có kênh băm xung , pó ta ! U chỉ cần dùng 1 timer thui cũng đc . Làm 5 cái ct con , trong mỗi ct khai báo 5 giá trị tần số # nhau nạp vào timer . Như vậy thì cư tới ct nào , giá trị timer í đc thực hiện

    Comment


    • #3
      Ở đây chắc ý của bạn là 5 LED cùng nháy với 5 tần số khác nhau cùng 1 lúc chứ không fair đến ctr nào thì LED mới nháy.
      Này nhé:
      Bạn dùng vòng lặp for ấy. Để quay lại từ đầu thì ứng với tần số nháy LED là nhỏ nhất(tức là nửa chu kỳ nháy LED là lớn nhất)
      Trong vòng lặp for, khi kiểm tra đến những giá trị ứng với tần số nháy của LED nào thì bạn đảo bit LEDx thế là OK!

      Comment


      • #4
        đồng ý!.Nhưng thread năm 2008.Nhưng kô sao.Nhiều bạn cũng sẽ gặp.đồng ý!.Nhưng thread năm 2008.Nhưng kô sao.Nhiều bạn cũng sẽ gặp.
        , , ,

        Comment


        • #5
          Nguyên văn bởi blackknjght Xem bài viết
          Đề tài là làm 5 led nhấp nhấy với 5 tần số khác nhau!Bác nào chỉ giáo cho em với.Xin cảm ơn
          thế này được không:
          Code:
          #include <at89x52.h>
          sbit led1=P3^3;
          sbit led2=P3^4;
          sbit led3=P3^5;
          sbit led4=P3^6;
          sbit led5=P3^7;
          
          
          unsigned int i,j,k,y,x ;
          void timer0(void) interrupt 1
          {
          i++;
          j++;
          k++;
          y++;
          x++;
          }
          
          
          void main()
          {
          P3=0; // led
          EA=0;
          TMOD =0x11 ; // 
          TH0= 0x00;
          TL0= 0x00;
          EA=1;
          TR0=1;
          ET0=1;
          i=j=k=y=x=0x0000;
          while (1)
           {
            if(i>=2)
             {
             i=0;
             led1=~led1; // led
              }
                if(j>=3)
              {
             j=0;
             led2=~led2; // led
             }
                if(k>=6)
               {
              k=0;
             led3=~led3; // led
             }
                if(x>=5)
                 
             {
             x=0;
            led4=~led4; // led
             }
               if(y>=9)
             {
             y=0;
             led5=~led5; // led
             }
          }
          }
          nhìn lại thấy thread năm 2008 định xóa bài nhưng lỡ gửi lên rồi lên để luôn.
          Last edited by tdm; 18-09-2011, 21:55.
          |

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X