Thông báo

Collapse
No announcement yet.

Cần giúp vi điều khiển 89s52 và HC 595

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

  • Cần giúp vi điều khiển 89s52 và HC 595

    em code cho 89s52 điều khiển hc595 làm mạch trái tim như của anh chipkool trên trang này Hướng dẫn Mạch Trái Tim I LOVE IU - Dùng 74HC595 | Blog Điện Tử | Tin Học - Chia sẻ kiến thức- Kết nối đam mê Điện Tử
    không hiểu sao, trong các hiệu ứng em viết con led a1 (xem trong file mô phỏng của em đính kèm ko sáng được) mọi người xem giúp em với , thanks
    code của em
    Code:
    #include "AT89X52.H"
    sfr p0 =0x80;
    sfr p1 =0x90;
    sfr p2 =0xA0;
    sfr p3 =0xB0;
    sbit sh = 0xA0;
    sbit da = 0xA1;
    sbit latch = 0xA2;
    void delay(unsigned int time)
    {
        while(time--)
        {
            unsigned char temp = 121;
            while(temp--);
        };
    }
    void ghi_595(unsigned char x)
    {
        int i, temp;
        for(i=0;i<9;i++)
        {
            temp=x;
            temp=temp&0x80;
            if(temp == 0x80)
            da=1;
            else
            da=0;
            x*=2;
            sh=0;      //tao suon duong
            sh=1;      // =1 1 bit duoc dich tu Qa->Qh
        }
            latch=1;
            latch=0;
    }
    void hu1()
    {
        int j;
        unsigned char ma[]={0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55};
        for(j=0;j<9;j++)
        {
            ghi_595(ma[j]);
            delay(50);
        }   
    }
    void hu2()
    {
        int j;
        unsigned char ma[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
        for(j=0;j<9;j++)
        {
            ghi_595(ma[j]);
            delay(300);
        }   
    }
    void hu3()
    {
        int j;
        unsigned char ma[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
        for(j=0;j<9;j++)
        {
            ghi_595(ma[j]);
            delay(300);
        }   
    }
    void main()
    {
        while(1)
        {
            hu1();
            hu2();
            hu3();
        }
    }
    Attached Files

  • #2
    Reply

    Trong hàm dịch bit 595.
    Cho i<8 chứ ko phải i<9 nhá

    Comment


    • #3
      Chịu ông thần, mạch mắc thế này thì điều khiển kiểu gì: (HC595 (out)----+------(Ktot Led--Anot led )----+---- Âm) thế này thì chỉ có thánh HC595 mới có thể xuất ra mức logic làm led sáng. sửa lại cái chỗ "0" ấy nối vào Vcc. còn i=8, hay 9 không ảnh hưởng gì nhá!

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X