Thông báo

Collapse
No announcement yet.

Xin code cho LED

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

  • Xin code cho LED

    các bạn cho mình hỏi nếu muốn các led sáng mờ rồi từ từ sáng thì viết như thế nào
    và ngược lại
    bạn nào có doạn code nào nháy đẹp chỉ cho mình với



    #include <regx51.h>


    #define led1 P1_0
    #define led2 P1_1
    #define led3 P1_2
    #define led4 P1_3
    #define led5 P1_4
    #define led6 P1_5
    #define led7 P1_6
    #define led8 P1_7

    //+++++++++++++++++++++++++++
    // ham delay de tri hoan 1 thoi gian
    //+++++++++++++++++++++++++++

    void delay(unsigned char time)
    {
    unsigned char i,j;

    for(i=0;i<time;i++)
    for(j=0;j<200;j++);

    }


    void dat(bit a, bit b, bit c, bit d,bit e,bit f , bit g , bit h)
    {
    led1=a;
    led2=b;
    led3=c;
    led4=d;
    led5=e;
    led6=f;
    led7=g;
    led8=h;

    }

    void choptat()
    {
    dat(0,0,0,0,0,0,0,0); //
    delay(30); // muon nhanh cham j do thi tuy ban
    dat(1,1,1,1,1,1,1,1);
    delay(30);
    }

    void chaser(unsigned char times)
    {
    unsigned char i;
    for(i=0;i<times;i++)
    {

    dat(1,0,0,0,0,0,0,0); delay(150);
    dat(0,1,0,0,0,0,0,0); delay(150);
    dat(0,0,1,0,0,0,0,0); delay(150);
    dat(0,0,0,1,0,0,0,0); delay(150);
    dat(0,0,0,0,1,0,0,0); delay(150);
    dat(0,0,0,0,0,1,0,0); delay(150);
    dat(0,0,0,0,0,0,1,0); delay(150);
    dat(0,0,0,0,0,0,0,1); delay(150);
    dat(0,0,0,0,0,0,1,0); delay(150);
    dat(0,0,0,0,0,1,0,0); delay(150);
    dat(0,0,0,0,1,0,0,0); delay(150);
    dat(0,0,0,1,0,0,0,0); delay(150);
    dat(0,0,1,0,0,0,0,0); delay(150);
    dat(0,1,0,0,0,0,0,0); delay(150);
    dat(1,0,0,0,0,0,0,0); delay(150);
    dat(1,1,1,1,1,1,1,1); delay(150);
    dat(0,1,1,1,1,1,1,1); delay(150);
    dat(1,0,1,1,1,1,1,1); delay(150);
    dat(1,1,0,1,1,1,1,1); delay(150);
    dat(1,1,1,0,1,1,1,1); delay(150);
    dat(1,1,1,1,0,1,1,1); delay(150);
    dat(1,1,1,1,1,0,1,1); delay(150);
    dat(1,1,1,1,1,1,0,1); delay(150);
    dat(1,1,1,1,1,1,1,0); delay(150);
    dat(1,1,1,1,1,1,0,1); delay(150);
    dat(1,1,1,1,1,0,1,1); delay(150);
    dat(1,1,1,1,0,1,1,1); delay(150);
    dat(1,1,1,0,1,1,1,1); delay(150);
    dat(1,1,0,1,1,1,1,1); delay(150);
    dat(1,0,1,1,1,1,1,1); delay(150);
    dat(0,1,1,1,1,1,1,1); delay(150);
    dat(1,1,0,0,0,0,0,0); delay(150);
    dat(0,0,1,1,0,0,0,0); delay(150);
    dat(0,0,0,1,1,0,0,0); delay(150);
    dat(0,0,0,0,0,1,1,0); delay(150);
    dat(0,0,0,0,0,0,1,1); delay(150);
    dat(0,0,0,0,1,1,0,0); delay(150);
    dat(0,0,1,1,0,0,0,0); delay(150);
    dat(1,1,0,0,0,0,0,0); delay(150);
    dat(0,0,0,0,1,0,0,0); delay(150);
    dat(0,0,0,1,1,1,0,0); delay(150);
    dat(0,0,1,1,1,1,1,0); delay(150);
    dat(1,1,1,1,1,1,1,1); delay(150);
    dat(0,1,1,1,1,1,1,0); delay(150);
    dat(0,0,1,1,1,1,0,0); delay(150);
    dat(0,0,0,1,1,0,0,0); delay(150);
    dat(0,0,0,0,1,0,0,0); delay(150);
    dat(0,0,0,0,1,0,0,0); delay(150);
    dat(0,0,0,1,1,1,0,0); delay(150);
    dat(0,0,1,1,1,1,1,0); delay(150);
    dat(1,1,1,1,1,1,1,1); delay(150);
    dat(1,1,1,0,0,1,1,1); delay(150);
    }
    }

    void main()
    {
    while(1) // vong lap vo tan
    {

    chaser(10);
    }
    }
    Học Hỏi Không Ngừng Nghỉ

  • #2
    Nguyên văn bởi dan
    Bạn xem thử cái này :
    int count=0,program=0;
    int dat[16]={0,0,0,0,0,0,0,0,0,1,3,5,10,20,50,100};
    int delay=0,c=0;
    unsigned char k;
    int pwm0=0,pwm1=0,pwm2=0,pwm3=0,pwm4=0,pwm5=0,pwm6=0,p wm7=0;
    void set_value_pwm(int value0,int value1,int value2,int value3,int value4,int value5,int value6,int value7)
    {
    pwm0=value0;
    pwm1=value1;
    pwm2=value2;
    pwm3=value3;
    pwm4=value4;
    pwm5=value5;
    pwm6=value6;
    pwm7=value7;
    }
    void shift()
    {
    int i,temp[16];
    temp[0]=dat[15];
    for(i=0;i<15;i++)
    {
    temp[i+1]=dat[i];
    }
    for(i=0;i<16;i++)
    {
    dat[i]=temp[i];
    }
    }
    void Timer1InterruptHandler() org IVT_ADDR_ET1
    {
    unsigned char i,j;
    EA_bit=0;
    TR1_bit=0;
    TH1=0xff;
    TL1=0xf0;
    count++;
    if(count==100)
    {
    count=0;
    if(program==0)
    {
    if(delay<100)
    {
    set_value_pwm(delay,0,0,0,0,0,0,0);
    if(delay<99)delay++;
    else
    {
    delay=0;
    program=1;
    }
    }
    }
    if(program==1)
    {
    if(delay<100)
    {
    set_value_pwm(100,delay,0,0,0,0,0,0);
    if(delay<99)delay++;
    else
    {
    delay=0;
    program=2;
    }
    }
    }
    if(program==2)
    {
    if(delay<100)
    {
    set_value_pwm(100,100,delay,0,0,0,0,0);
    if(delay<99)delay++;
    else
    {
    delay=0;
    program=0;
    }
    }
    }

    }
    EA_bit=1;
    TR1_bit=1;
    if(count<pwm0)P1_0_bit=0;
    else P1_0_bit=1;
    if(count<pwm1)P1_1_bit=0;
    else P1_1_bit=1;
    if(count<pwm2)P1_2_bit=0;
    else P1_2_bit=1;
    if(count<pwm3)P1_3_bit=0;
    else P1_3_bit=1;
    if(count<pwm4)P1_4_bit=0;
    else P1_4_bit=1;
    if(count<pwm5)P1_5_bit=0;
    else P1_5_bit=1;
    if(count<pwm6)P1_6_bit=0;
    else P1_6_bit=1;
    if(count<pwm7)P1_7_bit=0;
    else P1_7_bit=1;
    }
    void main()
    {
    TF1_bit=0;
    ET1_bit=1;
    EA_bit=1;
    GATE1_bit=0;
    C_T1_bit=0;
    M11_bit=0;
    M01_bit=1;
    TR1_bit=0;
    TH1=0xff;
    TL1=0xf0;
    TR1_bit=1;
    while(1)
    {
    }
    }
    cám ơn anh tiện thể cho em hỏi a 1 câu ??
    minh lập trinh cho AT89c51 ở cổng P0.0 -> P0.7 và P2.0 -> P2.7
    và P3.0 .....P3.7 có khác gì so với công P1.0....P1.7 không ạ
    em mới học nên nhờ các anh chỉ giúp !! em xin cảm ơn
    Học Hỏi Không Ngừng Nghỉ

    Comment


    • #3
      Các bác cho em hỏi : em có làm 1 biển quang báo gồm 7 chữ,chữ nhìu nhất 200led 3led+1tro 330om,tổng cộng là 1300led ,em có sử dụng nguồn máy tính pc 12v, nhưng mới chạy dc nửa tháng thì chết nguồn , có phải em đẻ dây từ biển xuống nguồn dài 10m lên mới bị chết ko?

      Comment


      • #4
        ý em hỏi là nếu em lập trình tiếp các cổng P0.0 ... P0.7 thì sẽ phải kai báo tiếp trong đoạn code trên là gì ,,và tương tự các cổng P2.0 -> P2.7
        và P3.0 .....P3.7
        Học Hỏi Không Ngừng Nghỉ

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X