IC ghi dịch 74HC595

Bài hôm nay chúng ta tiếp tục tìm hiểu một ic họ 74xx nữa rất thông dụng là 74HC595 .
Hình dạng thực tế:

1, Chức năng :
Là ic ghi dịch 8bit kết hợp chốt dữ liệu , đầu vào nối tiếp đầu ra song song .
Chức năng: Thường dùng trong các mạch quét led 7 , led matrix …để tiết kiệm số chân VDK tối đa (3 chân) . Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà k ic nào có thể làm dc bằng việc mắc nối tiếp đầu vào dữ liệu các ic với nhau .

2,Sơ đồ chân:

Giải thích ý nghĩa hoạt động của một số chân quan trọng:

(input)
Chân 14 : đầu vào dữ liệu nối tiếp . Tại 1 thời điểm xung clock chỉ đưa vào được 1 bit

(output)
QA=>QH : trên các chân (15,1,2,3,4,5,6,7)
Xuất dữ liệu khi chân chân 13 tích cực ở mức thấp và có một xung tích cực ở sườn âm tại chân chốt 12

(output-enable)
Chân 13 : Chân cho phép tích cực ở mức thấp (0) .Khi ở mức cao, tất cả các đầu ra của 74595 trở về trạng thái cao trở, không có đầu ra nào được cho phép.

(SQH)
Chân 9: Chân dữ liệu nối tiếp . Nếu dùng nhiều 74595 mắc nối tiếp nhau thì chân này đưa vào đầu vào của con tiếp theo khi đã dịch đủ 8bit.

(Shift clock)
Chân 11: Chân vào xung clock . Khi có 1 xung clock tích cực ở sườn dương(từ 0 lên 1) thì 1bit được dịch vào ic.

(Latch clock)
Chân 12 : xung clock chốt dữ liệu . Khi có 1 xung clock tích cực ở sườn dương thì cho phép xuất dữ liệu trên các chân output . lưu ý có thể xuất dữ liệu bất kỳ lúc nào bạn muốn ,ví dụ đầu vào chân 14 dc 2 bit khi có xung clock ở chân 12 thì dữ liệu sẽ ra ở chân Qa và Qb (chú ý chiều dịch dữ liệu từ Qa=>Qh)

(Reset)
Chân 10: khi chân này ở mức thấp(mức 0) thì dữ liệu sẽ bị xóa trên chip)

Sơ đồ hoạt động của chíp :

3, Bảng thông số chip:

Đây là ic đầu ra hoạt động ở 2 mức 0 &1 dòng ra tầm 35mA . điện áp hoạt động <=7V . Công suất trung bình 500mW Dựa vào bảng tính toán được các thông số khi thiết kế mạch 4, Tần số đáp ứng:

Tại 6V thì tần số vào đáp ứng khoảng 400ns . Dựa vào đó chúng ta se đưa được ra tần số quét hợp lý.

6, Cấu tạo chip :

Cái này k quan tâm.

7, Ví dụ:

Mình sẽ đưa ra một ví dụ cách quét sử dụng 595 .Ở đây là hiển thị các số từ 0=>9 trên led 7.

#include"regx52.h"
sbit DATA = P2^1;
sbit SCK = P2^0;
sbit SCL = P2^2;
void quet(unsigned char x)
{
int i,temp;
for(i=0;i<8;i++) { temp=x;//gan bien temp=temp&0x80;//lay ra bit dau tien (bit 7) if(temp==0x80)//so sanh bit DATA=1; //bang 1 thi xuat vao chip =1 else DATA=0; //nguoc lai bang 0 x*=2; //dich bit lay bit trong so thap SCK=0; //tao xung tren chan 11 SCK=1; //1 xung dua vào 1 bít } SCL=0; //xuat du lieu ra output SCL=1; } void delay() { unsigned int i; for(i=0;i<33000;i++); } void main() { unsigned int i, k=0; unsigned char ma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//ma led 7 while(1) { for(i=0;i<10;i++) { quet(ma[i]); delay(); } }}

Download ví dụ : http://www.mediafire.com/?hibjngi2iig2cae

Các bạn về mở rộng 2 ,4,8 led dùng 595 chú ý mỗi led gồm 8 bit vậy 4 led ta đưa vào 4x8 =32 bit roi moi có lệnh xuất trên chân 12 nha . Bài sau mình sẽ có bài cụ thể về quét 595 cho các ứng dụng matrix , led7 .

Từ khóa:
digg delicious stumbleupon technorati Google live facebook Sphinn Mixx newsvine reddit yahoomyweb