Thông báo

Collapse
No announcement yet.

cần giúp đỡ

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

  • cần giúp đỡ

    đề bài:cho led sáng từ trong ra ngoài trên 1 port(sáng dần)
    #include<regx51.h>
    unsigned int a;
    unsigned char maled[10]={0x18,0x24,0x42,0x81};
    void delay(long time)
    {
    while(time--);
    }
    void main(void)
    {
    while(1)
    {
    if(a<9)
    {
    P1=maled[a];
    delay(4000);
    a=a+1;
    }
    else
    {
    a=0;
    }
    }
    /////////////////////
    cách trên do mình tự chế ra nhưng chắc nó xài nguyên tắc, bạn nào biết cách viết xoay bit chỉ mình với , có gì gợi ý giùm mình bài chớp tắt led xen kẽ 5 lần rồi tắt ở dưới:
    #include<regx51.h>
    void delay(long time)
    {
    while(time--);
    }
    void main(void)
    {
    while(1)
    {
    P1=P2=P3=P0=0x55;
    delay(4000);
    P1=P2=P3=P0=0xAA;
    delay(4000);
    }
    }
    bài trên chỉ chớp tắt xen kẽ chưa khống chế đc số lần thực hiện

  • #2
    Nguyên văn bởi phongqweasd Xem bài viết
    đề bài:cho led sáng từ trong ra ngoài trên 1 port(sáng dần)
    #include<regx51.h>
    unsigned int a;
    unsigned char maled[10]={0x18,0x24,0x42,0x81};
    void delay(long time)
    {
    while(time--);
    }
    void main(void)
    {
    while(1)
    {
    if(a<9)
    {
    P1=maled[a];
    delay(4000);
    a=a+1;
    }
    else
    {
    a=0;
    }
    }
    /////////////////////
    cách trên do mình tự chế ra nhưng chắc nó xài nguyên tắc, bạn nào biết cách viết xoay bit chỉ mình với , có gì gợi ý giùm mình bài chớp tắt led xen kẽ 5 lần rồi tắt ở dưới:
    #include<regx51.h>
    void delay(long time)
    {
    while(time--);
    }
    void main(void)
    {
    while(1)
    {
    P1=P2=P3=P0=0x55;
    delay(4000);
    P1=P2=P3=P0=0xAA;
    delay(4000);
    }
    }
    bài trên chỉ chớp tắt xen kẽ chưa khống chế đc số lần thực hiện
    Hình như bạn mới học lập trình.
    Khống chế số lần thực hiện như sau
    #include<regx51.h>
    void delay(long time)
    {
    while(time--);
    }
    void main(void)
    {
    while(1)
    {
    int n,i;

    for(i=0;i<n;i++)
    {
    P1=P2=P3=P0=0x55;
    delay(4000);
    P1=P2=P3=P0=0xAA;
    delay(4000);
    }
    }
    }

    n chính là số lần thực hiện.
    Việc xoay bit thì bạn dùng lệnh a*=2 hoặc a=a>>1
    ok rùi chứ

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    Đang tải...
    X