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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • blackknjght
    Thành viên mới
    • Sep 2008
    • 14

    #1

    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;}
  • Zz_Bi_zZ
    Thành viên tích cực
    • Nov 2007
    • 766

    #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

    • hungk41
      Thành viên chính thức
      • Sep 2011
      • 66

      #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

      • rptdnmqs
        Thành viên tích cực
        • Nov 2008
        • 440

        #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

        • tdm
          Thành viên tích cực
          • Sep 2005
          • 349

          #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, 20: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...