Thông báo

Collapse
No announcement yet.

giúp mình viết 1 đoạn code cho mạch này

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

  • giúp mình viết 1 đoạn code cho mạch này

    Click image for larger version

Name:	Capture4.JPG
Views:	1
Size:	124.6 KB
ID:	1413677
    cho mình xin code 1 hiệu ứng bất kì của mạch led trên với...code C hay asm cũng được..!
    Mình chỉ biết viết khi dùng 1 con 74HC595, còn ở đây dùng tới 4 con thì mình k biết cách gọi 3 con kia..!

  • #2
    Ở đây mình có 1 code được viết khi dùng 1 con 74hc595 để điều khiển 8 led..vậy cho mình hỏi khi mà dùng 4 con 74hc595 thì code thay đổi như thế nào..?
    // LAP TRINH 74HC595 DIEU KHIEN 8 LED DON
    //****HTTP://CHIPKOOL.TK**********/
    #include<reg52.h>
    #include<stdio.h>
    #include<intrins.h>
    // khao bao cac chan 74hc595 de lap trinh
    sbit dulieu = P2^1; // chan du lieu
    sbit xung = P2^0; // chan xung dich tung bit
    sbit chot = P2^2; // chan chot du lieu
    unsigned int n,m,k;
    //****Chuong trinh tao tre**********/
    void delay(unsigned char ms )
    {
    int i,j;
    for(i=0;i<ms;i++)
    {
    for(j=0;j<125;j++);
    }
    }

    // chuong trinh lap trinh cho 74hc595 chuyen noi tiep sang song song
    void convert(unsigned char x)
    { // do chuc nang ghi dich 8 bit vao noi tiep ra song song
    // do do vong for duoi se cho dich 8 lan de du 8 chan dau ra cho vdk
    int i,tam;
    for(i=0;i<8;i++) // 8 lan dich de co 8 bit
    {
    tam=x;
    tam=tam&0x80; // lay ra bit dau tien la bit D7 10000000 D7 ------D0
    if(tam==0x80) dulieu=1; //so sanh neu bang 1 nghia la dich het tu D0 den D7
    else dulieu=0; // nguoc lai du lieu se bang 0 va tiep tuc dich phai
    x=x<<1; // dich bit nhu sau
    xung=0; // moi lan dich se can mot xung cho phep moi dich dc (tich cuc muc duong)
    xung=1;
    }
    //chot=0; // khi dich du 8 biut thi chot du lieu va xuat ra output
    //chot=1;

    }

    //********************Hieu ung sang duoi******************************************/
    void sangduoi()
    {
    int j;//00000001;00000010;00000100;00001000;000100000;0010 0000;01000000;10000000
    unsigned char mang[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
    for(j=0;j<8;j++)
    {
    convert(mang[j]);
    chot=0; // khi dich du 8 biut thi chot du lieu va xuat ra output
    chot=1;
    delay(1000);

    }
    }
    //*************chuong trinh chinh***************
    void main(void)
    {
    sangduoi();
    }

    Comment


    • #3
      Mình viết củ chuối thế này ^^
      74hc595.rar

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X