Thông báo

Collapse
No announcement yet.

lập trình keil c 89C51 cho led đơn

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

  • lập trình keil c 89C51 cho led đơn

    ai thu gọn đoạn code này giúp e với . . . e mới viết xong nhưng còn gà nên nó dài wa . . hihi
    #include <REGX51.H>
    sbit led1 = P3^0;
    sbit led2 = P3^1;
    sbit led3 = P3^2;
    sbit led4 = P3^3;
    sbit led5 = P3^4;
    sbit led6 = P3^5;
    sbit led7 = P3^6;
    sbit led8 = P3^7;
    void huy ( unsigned long ms )
    {
    while ( ms--);
    }
    void main ( void )
    {
    int i;
    {

    P3=1;
    huy ( 25000);
    for ( i=1; i<=7;i++)
    {
    P3=P3<<1;
    huy ( 25000);
    }
    {
    led8=1; //led 8 sang
    led1=1;
    huy(25000);
    led1=0;
    led2=1;
    huy(25000);
    led2=0;
    led3=1;
    huy(25000);
    led3=0;
    led4=1;
    huy(25000);
    led4=0;
    led5=1;
    huy(25000);
    led5=0;
    led6=1;
    huy(25000);
    led6=0;
    led7=1;
    huy(25000);
    led7=0;
    }
    for ( i=2; i<=2;i++) //led 7,8 sang
    {
    led8=1;
    led7=1;
    led1=1;
    huy(25000);
    led1=0;
    led2=1;
    huy(25000);
    led2=0;
    led3=1;
    huy(25000);
    led3=0;
    led4=1;
    huy(25000);
    led4=0;
    led5=1;
    huy(25000);
    led5=0;
    led6=1;
    huy(25000);
    led6=0;
    }
    for ( i=2; i<=2;i++) //led 6,7,8 sang
    {
    led8=1;
    led7=1;
    led6=1;
    led1=1;
    huy(25000);
    led1=0;
    led2=1;
    huy(25000);
    led2=0;
    led3=1;
    huy(25000);
    led3=0;
    led4=1;
    huy(25000);
    led4=0;
    led5=1;
    huy(25000);
    led5=0;
    led6=1;
    }
    for ( i=2; i<=2;i++) //led 5,6,7,8 sang
    {
    led8=1;
    led7=1;
    led6=1;
    led5=1;
    led1=1;
    huy(25000);
    led1=0;
    led2=1;
    huy(25000);
    led2=0;
    led3=1;
    huy(25000);
    led3=0;
    led4=1;
    huy(25000);
    led4=0;
    }
    for ( i=2; i<=2;i++) //4,5,6,7,8 sang
    {
    led8=1;
    led7=1;
    led6=1;
    led5=1;
    led4=1;
    led1=1;
    huy(25000);
    led1=0;
    led2=1;
    huy(25000);
    led2=0;
    led3=1;
    huy(25000);
    led3=0;
    }
    for ( i=2; i<=2;i++) //led 3,4,5,6,7,8 sang
    {
    led8=1;
    led7=1;
    led6=1;
    led5=1;
    led3=1;
    led1=1;
    huy(25000);
    led1=0;
    led2=1;
    huy(25000);
    led2=0;

    }
    for ( i=2; i<=2;i++) //led 2,3,4,5,6,7,8 sang
    {
    led8=1;
    led7=1;
    led6=1;
    led5=1;
    led4=1;
    led3=1;
    led2=1;
    led1=1;
    huy(25000);
    led1=0;

    } // 8 led sang
    for ( i=2; i<=2;i++)
    {
    led8=1;
    led7=1;
    led6=1;
    led5=1;
    led4=1;
    led3=1;
    led2=1;
    led1=1;
    }
    }
    }

  • #2
    1 cổng vdk tương đương vs 1 byte 8 bit, ví dụ P1=0xAA, thì nó sẽ đc tách theo bit nhị phân là 10101010, bít P1.7 P1.5 P1.3 P1.1 =1 còn lại = 0, bạn gọi 1 lúc cả cổng ra là có thể tự thu gọn rồi
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

    Comment


    • #3
      Nguyên văn bởi mast090 Xem bài viết
      1 cổng vdk tương đương vs 1 byte 8 bit, ví dụ P1=0xAA, thì nó sẽ đc tách theo bit nhị phân là 10101010, bít P1.7 P1.5 P1.3 P1.1 =1 còn lại = 0, bạn gọi 1 lúc cả cổng ra là có thể tự thu gọn rồi
      oh tks bạn nhiều nha

      Comment


      • #4
        quá dài, hình như đây là ctrình sáng dần từ phải qua trái đúng ko nhỉ
        mình có ctrình ntn bạn xem qua nha
        #include <REGX51.H>
        void delay(int);
        void main()
        {
        for( ; ; )
        {
        P0=0x00; delay(1000);
        P0=0x01; delay(1000);
        P0=0x03; delay(1000);
        P0=0x07; delay(1000);
        P0=0x0f; delay(1000);
        P0=0x1f; delay(1000);
        P0=0x3f; delay(1000);
        P0=0x7f; delay(1000);
        P0=0xff; delay(1000);
        }
        }
        void delay(int x)
        {
        int i,j;
        for(i=0;i<=x;i++)
        for(j=0;j<1275;j++);
        }
        chương trình này trễ 1s, nếu bạn muốn tăng trễ lên thì sửa 1000 trong delay đi là ok

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X