Trích:
Nguyên văn bởi mrsin
Chào mọi người trong diễn đàn mong được sự giúp đỡ của anh chị
vấn đề của em như sau: giúp em hiện thị 4 số lên led 7 đoạn VD:1234 sử dụng 4 con 74HC595 giao tiếp với Pic 16f877a
em mới học lập trình à mong anh chị giúp em (nếu được thì viết code minh họa giúp em)
thnks!!!
|
Ko khó đâu bạn.
1. bạn cần phải tìm hiểu ký về cách lảm việt của 595 rất dơn giản lám
Nguyên lý làm việc của ic 74hc595:
Lên google bắm chử “ datasheet 74hc595” là ra hết.
Mình chỉ giởi thiệu về 4 chân cơ bản củ 595.
Chân 14: là chân DATA input dưa dử liệu vào thanh ghi của IC. Tăt nhiên 1 con IC 595 chỉ chứ 1 dc 1bye =8 bit dử liệu.
Chân 11: là chân Shift_clock, khi tạo 1 xung cao thấp ( 1,0) tại chân để đưa dử liệu từ chân 14 vào RAM của 595
Chân 12: là chân Latch_clock, khi tạo 1 xung ( 1,0 ) ở chân này thì nó sẻ đưa 8 bit dử liệu từ RAM ra 8 chân Q.
Chân 10: là chân cho phép xuất hay ko xuất dử liệu “ chân này ta để trống ở trường hợp này.
2. ở phần viết code bạn viết như sau:
đây là phần dưa dữ liệu vào hiển th5i ra LED 7
int const led[] = {0b01000000,0b01111001,0b00100100,0b00110000,0b000 11001,0b00010010,0b00000010,0b01111000,0b00000000, 0b00010000}; // bộ số từ o- 9 của LED 7
for(i=8;i>=1;i--) //========== LED7 thu 1========//
{
a=led[donvi]; // ============ Hien thi hang " NGHIN " 1000 ===//
value = bit_test(a,i-1); // kiểm tra mảng và dưa dử liêu lên chân C1
output_bit(PIN_C1,value);
output_high(PIN_C0); //dưa dử liệu vào RAM của 595
output_low(PIN_C0);
}
output_high(PIN_C2); // dưa dử liệu từ Ram ra cách chân Q
output_low(PIN_C2);
chúc bạn thành công