RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Led nháy không đều khi xài 8051 .mô phỏng bằng Proteus

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • heotaplt
    Thành viên chính thức
    • Apr 2012
    • 49

    #1

    Led nháy không đều khi xài 8051 .mô phỏng bằng Proteus


    Mình mới tập tọe học vi xử lý và proteus nhưng mình làm mạch đơn giản là nháy 8 con led từ trên xuống thì led nháy cứ sao sao ấy. mình lập trình bằng keli C là nó sáng từ led1->led8 nhưng mà khi mô phỏng thì nó chạy loạn xạ .mình mò hoài nhưng không biết sai chỗ nào nên mới lên đây hỏi ( mặc dù biết đây là mạch đơn giản nhất )
    các pro xem giúp .
    đây là code của mình
    #include <REGX51.H>
    #define bat 1
    #define tat 0
    sbit Led1=P1^0;
    sbit Led2=P1^1;
    sbit Led3=P1^2;
    sbit Led4=P1^3;
    sbit Led5=P1^4;
    sbit Led6=P1^5;
    sbit Led7=P1^6;
    sbit Led8=P1^7;

    void tre(long time)
    {
    long n;
    for(n=0;n++;n<time)
    {
    ;
    }
    }
    /* HAM MAIN */
    void main(void)
    {
    unsigned char n;
    while(1)
    {
    P1=0x01;
    for(n=0 ; n<8;n++)
    {
    P1=P1<<1;
    tre(5000);
    }
    }
    }
    Mong cac pro giúp đỡ
    Đây là file mô phỏng :
    Nhayled.DSN
  • chung1608
    Thành viên tích cực
    • Sep 2009
    • 4160

    #2
    thời gian trễ quá ngắn thế thôi vài chục ngàn mS thì sao thấy đc

    Comment

    • loveelectron
      Thành viên tích cực
      • May 2008
      • 158

      #3
      Trong hàm tre() bạn viết vòng lặp for sai cú pháp bạn sửa thành như này
      Code:
      void tre(long time)
      {
      long n;
      for(n=0;n<time;n++)
      {
      ;
      }
      }
      Và bạn thêm dòng tre(5000); sau khi gán P1=0x01; nữa.
      Phone No: 0989.437.312
      Email:
      Live in: Ha noi

      Comment

      • heotaplt
        Thành viên chính thức
        • Apr 2012
        • 49

        #4
        mình thay thời gian trễ gấp 1000 lần lên rồi mà vẫn thế bác chung1608 à ,mình nghĩa là mình mắc sai chứ không phải do code sai
        nhưng mà k biet sai cái j mới khổ @@ .
        khi mình f7 bằng code đó thì nó không báo lỗi mà lovee

        Comment

        • heotaplt
          Thành viên chính thức
          • Apr 2012
          • 49

          #5
          bạn nào rảnh down về chạy thử dùm mình nhìn là ra à @@ .chứ mình gà nhìn ko ra T__T

          Comment

          • jerrythanh
            Thành viên chính thức
            • Feb 2012
            • 53

            #6
            để xem thử, không biết có giúp được bạn khonng nữa, vì mới biết thui à

            Comment

            • jerrythanh
              Thành viên chính thức
              • Feb 2012
              • 53

              #7
              Nguyên văn bởi heotaplt Xem bài viết
              bạn nào rảnh down về chạy thử dùm mình nhìn là ra à @@ .chứ mình gà nhìn ko ra T__T
              Code:
              #include <REGX51.H>	
              #define bat 1
              #define tat 0 
              /*
              sbit Led1=P1^0;	
              sbit Led2=P1^1;
              sbit Led3=P1^2;
              sbit Led4=P1^3;
              sbit Led5=P1^4;
              sbit Led6=P1^5;
              sbit Led7=P1^6;
              sbit Led8=P1^7;		*/
              // neu ban dung phep dich thi khong can cai nay.
              
              void tre(long time)
              {
              /*long n;
              for(n=0;n++;n<time) */ // xem lai cai nay nhe
              while(time--);
              {
              ;
              }
              }
              /* HAM MAIN */
              void main(void)
              {
              unsigned char n;
              while(1)
              {
              P1=0x01;
              tre(10000)  ;
              for(n=0;n<8;n++)
              {
              P1=P1<<1;
              tre(10000);
              }
              }
              }
              bạn xem lại coi không hiểu chổ nào cứ post lên nha. nickyahoo:jerry1284, đã test lại chạy ok rùi. mạch bạn vẽ đúng rùi

              Comment

              • heotaplt
                Thành viên chính thức
                • Apr 2012
                • 49

                #8
                á mình làm đc rồi ,thank các pro nhìu lắm ,thank jery nha

                Comment

                • jerrythanh
                  Thành viên chính thức
                  • Feb 2012
                  • 53

                  #9
                  hjhj, chúc bạn vui

                  Comment

                  • zznandnczz
                    Thành viên mới
                    • Aug 2012
                    • 8

                    #10
                    bạn thử thay đổi tần số thạch anh của AT89c51 xem

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...