PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   PIC - Thiết kế và Ứng dụng (http://www.picvietnam.com/forum/forumdisplay.php?f=23)
-   -   74HC595 giao tiếp với Pic 16f877a (http://www.picvietnam.com/forum/showthread.php?t=13986)

mrsin 06-04-2012 02:24 PM

74HC595 giao tiếp với Pic 16f877a
 
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!!!

lambaotrung 16-04-2012 11:34 PM

1 Attachment(s)
Trích:

Nguyên văn bởi mrsin (Post 55707)
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


Múi giờ GMT. Hiện tại là 09:00 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam