Cách Sử Dụng 74Hc595

Trong bài viết này, tôi đã nói tới tkhô nóng ghi dịch (Shift Register), một trong những IC tkhô hanh ghi dịch phổ biến đó là 74HC595 và ở đầu cuối là giải pháp thực hiện IC tkhô cứng ghi dịch 74HC595 cùng với Arduino cùng hầu như lợi ích của giao tiếp này.

Bạn đang xem: Cách sử dụng 74hc595


Giới thiệu

thường thì, đối với một áp dụng nhỏ dại ví dụ như bạn muốn điều khiển và tinh chỉnh 8 đèn LED chiếu sáng với sự giúp sức của Arduino (hoặc ngẫu nhiên vi tinh chỉnh nào). Ứng dụng này, mặc dù hết sức cơ bạn dạng với đơn giản, vẫn kinh nghiệm các bạn sử dụng 8 trong những những chân Input / đầu ra bao gồm sẵn trên board Arduino: mỗi chân cho một đèn LED.

Bây giờ hãy để ý một áp dụng phức hợp hơn, cùng với từng trải tinh chỉnh 8 LED tương đương nhau, mặt khác có tác dụng các các bước khác ví như hiển thị thông báo hoặc ngẫu nhiên báo cáo như thế nào bên trên màn hình hiển thị LCD 16 × 2 hoặc giao tiếp với 1 thứ công nghệ Bluetooth không dây để điều khiển đèn LED chiếu sáng thông qua Smartphone thông minh !!!

Loại áp dụng lớn hơn này đã tiêu thụ không ít chân I / O của người tiêu dùng bên trên board Arduino và có thể không hề đầy đủ chân để tiếp xúc các thiết bị bổ sung cập nhật.

Trên thực tiễn họ có IC thanh khô ghi dịch để xử lý tình huống này.

Thanh hao ghi dịch là gì?

Tkhô giòn ghi dịch (Shift Register) về cơ phiên bản là 1 trong vi mạch chuyển đổi nối liền song song. Về cơ phiên bản nó nhận dữ liều đầu vào thông liền thông qua 1 chân (về khía cạnh chuyên môn bạn phải tối thiểu 3 chân, tôi đang nói vụ việc này sau) với chuyển đổi dữ liệu vào tiếp nối thành đầu ra output song tuy nhiên 8 bit, vì vậy có tác dụng giảm số chân bối cảnh giữa vi tinh chỉnh và điều khiển cùng những thứ đầu ra.

Có những một số loại tkhô giòn ghi dịch như vào thông suốt ra tuy vậy tuy vậy, vào thông liền ra tiếp nối, vào song song ra tiếp liền và vào tuy nhiên tuy nhiên ra song song.

Trong bài bác khuyên bảo này, tôi vẫn sử dụng một IC thanh ghi dịch VÀO thông liền RA tuy vậy tuy nhiên call là 74HC595.

Giới thiệu IC ghi dịch 74HC595

74HC595 là IC ghi dịch (shift register) 8 bit kết hợp chốt dữ liệu, nguồn vào nối tiếp, cổng output tuy vậy tuy nhiên.

Xem thêm: Cách Làm Tinh Dầu Oliu - Cách Làm Tinh Dầu Hoa Cúc Cực Đơn Giản Tại Nhà

IC này thường được sử dụng trong số mạch quét led 7, led ma trận …nhằm tiết kiệm số chân đến vi tinh chỉnh và điều khiển. cũng có thể không ngừng mở rộng số chân vi điều khiển và tinh chỉnh từng nào tùy phù hợp cơ mà ko IC nào hoàn toàn có thể làm cho được bằng cách mắc thông suốt ngõ vào tài liệu những IC cùng nhau.

Sơ đồ dùng chân IC

*

Ta đặt dữ liệu vào chân DS, với chế tạo một xung SHCPhường thì dữ liệu trên chân DS sẽ được dịch vào tkhô nóng ghi 8-STAGE SHIFT REGISTER.

Lần lượt có tác dụng nlỗi trên 8 lần (dịch bit cao trước), thì ta được 8 bit vào thanh khô ghi 8-STAGE SHIFT REGISTER.

Sau kia ta chế tác một xung STCPhường. thì 8 bit vào tkhô cứng ghi 8-STAGE SHIFT REGISTER sẽ tiến hành xào nấu quý phái thanh ghi 8-BIT STORAGE REGISTER. Hiện nay ví như chân OE ở tại mức tốt thì ngõ ra vẫn bằng với mức giá trị thanh khô ghi 8-BIT STORAGE REGISTER, còn giả dụ chân OE ở mức cao thì ngõ ra ở trạng thái tổng trngơi nghỉ cao (Hi-Z).

Crúc ý:

Khi dịch tài liệu vào thanh ghi 8-STAGE SHIFT REGISTER, và không chế tạo xung STCPhường thì thanh khô ghi 8-BIT STORAGE REGISTER đang không thay đổi tâm lý với ngõ ra cũng không thay đổi tâm lý.khi chân MR ở tại mức 0 thì tài liệu bên trên tkhô cứng ghi 8-STAGE SHIFT REGISTER có khả năng sẽ bị xóa, còn thanh ghi 8-BIT STORAGE REGISTER sẽ không thay đổi trạng thái cùng ngõ ra cũng giữ nguyên tinh thần.

Chuẩn bị

Phần cứng

Tên linh kiện Số lượng
Arduino Uno 1
IC 74HC595 1
Điện trlàm việc 220 Ω 8
LED 8
Breadboard 1
Dây cắn breadboard

Phần mềm: Arduino IDE


Sơ đồ dùng mạch 1

Tấm hình tiếp sau đây cho biết thêm sơ thứ mạch tiếp xúc IC ghi dịch 74HC595 với Arduino UNO.

*

Chương trình

#define DATA 5

#define LATCH 6

#define CLOCK 7

#define HC595_count 2

void setup()

pinMode(LATCH, OUTPUT);

pinMode(CLOCK, OUTPUT);

pinMode(DATA, OUTPUT);

void loop()

char* temp;

unsigned int i;

temp = (char*) &i;

for( i = 1 ; i

digitalWrite(LATCH, LOW);

for (int j = 0; j

shiftOut(DATA, CLOCK, LSBFIRST, *(temp + j));

digitalWrite(LATCH, HIGH);

delay(1000);

digitalWrite(LATCH, LOW);

for (int j = 0; j

shiftOut(DATA, CLOCK, LSBFIRST, *(temp + j));

digitalWrite(LATCH, HIGH);

delay(1000);

Giải thích

HC595_count đó là con số IC 74HC595 đã dùng.

Hàm shiftOut() chỉ rất có thể dịch 1 lần 8bit mà lại thôi. Tại đây ta sẽ sử dụng cho 16 bit, Có nghĩa là một vươn lên là 2 byte, buộc phải ở đây tôi sử dụng unsigned int là một trở nên 2 byte không lốt. khi i đạt mang đến quý hiếm 16 384 – 0100 0000 0000 0000 thì thoát vòng lặp, nên các bạn để ý bên dưới tôi tiếp tục dịch i qua trái thêm một đợt nữa để sở hữu cực hiếm là 32 768 – 1000 0000 0000 0000, để có thể hiển thị LED sau cùng.