Thông báo

Collapse
No announcement yet.

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

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

  • 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

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

    Comment


    • #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


      • #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


        • #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


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

            Comment


            • #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


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

                Comment


                • #9
                  hjhj, chúc bạn vui

                  Comment


                  • #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...
                    X