Thông báo

Collapse
No announcement yet.

Làm việc với 74HC595 bằng Keil C

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

  • Làm việc với 74HC595 bằng Keil C

    thấy mấy bạn đang băn khoăn về 74HC595 và lặp lại nhiều câu hỏi. nay mình đưa ra một bài hướng dẫn làm việc với 74hc595 một cách đơn giản, mình viết bằng Keil C:

    #include<regx51.h>
    sbit ds=P2^1; // chân dữ liệu ds
    sbit cl=P2^0; // chân clock sh_cp
    sbit st=P2^2; // chân store st_cp
    void delayms(int time) // hàm này có thời gian trễ cỡ time * 1 ( ms )
    {
    int n;
    for(n=0;n<time;n++)
    {
    TMOD=0x01;
    TH0=0xfc;
    TL0=0x18;
    TR0=1;
    while(TF0==0)
    {}
    TF0=0;
    TR0=0;
    }
    }
    void send595(unsigned char byte) // hàm gửi một byte ra 74hc595
    { unsigned char i;
    for(i=0;i<8;i++) // số lần lặp lại là 8 bởi 1 byte thì có 8 bit, mỗi lần gửi 1 bit
    {
    byte=byte<<1; // lệnh dịch trái 1 đơn vị, khi thực hiện lệnh này thì cờ nhớ CY = bit cao nhất của byte
    ds=CY; // gửi giá trị của cờ CY vào chân dữ liệu
    cl=1; // cl cung cấp 1 xung thì dữ liệu sẽ được gửi vào 74hc595
    cl=0; // chú ý trong quá trình này mình để chân st=0 ( chưa chốt dữ liệu ra ngoài)
    }
    }
    main()
    { unsigned char n;
    for( ; ; )
    {
    send595(0);send595(0);st=1;delayms(1000);st=0; // gửi 2 byte có giá trị 0 ra 74hc595 và chốt dữ liệu (st=1)
    for(n=0;n<16;n++) // lặp lại 16 lần.
    {
    ds=1; // đặt mức cao vào chân ds
    cl=1; // cấp xung ở chân clock
    cl=0;
    st=1; // chốt dữ liệu ra ngoài
    delayms(1000);
    st=0; // ngừng chốt dữ liệu
    }
    }
    }
    Attached Files
    Last edited by daohuytien; 09-03-2013, 23:17.
    chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
    Everything should be made as simple as possible, but not simpler

  • #2
    hoạt động của 74hc595 : tín hiệu cấp vào chân Data (chân 14), cấp xung clock lên cao, rồi xuống thấp sh_cp=1; sh_cp=0; >>>>> dữ liệu đẩy được đưa vào bộ đệm 595, muốn xuất dữ liệu ra thì chân st_cp (chân 12 ) = 1. ngừng xuất dữ liệu thì st_cp = 0;
    chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
    Everything should be made as simple as possible, but not simpler

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    Đang tải...
    X