PDA

View Full Version : IC ghi dịch


kaszuky
02-05-2009, 06:03 PM
Chào các bác!
Em mới làm quen với VĐK. Các bác có thể chỉ giúp em rõ về IC ghi dịch là như thế nào ko ạ.
Cụ thể là nó hoạt động ntn á. Ví dụ em muốn tăng số chân của 16F877A lên thì dùng 74HC595 thì sẽ lập trình như thế nào ạ. Mong các bác giúp đỡ!

mocdailam
02-05-2009, 11:23 PM
ban doc data sheet ấy. nối 3 chân điều khiển SHCP,STCP(còn gọi là latch),DS
MR nối VCC, OE nối mass(luôn hoạt động) nếu cần có thể nối vào PIC để điều khiển
cách dung đơn giản thôi. bạn cho tín hiệu ở chân data(DS) đánh 1 xung chân SHCP (low-->high) đủ 8 bits thì đánh xung chân latch() để out.(xuất ssong). còn chân 9(Q7') xuất nối tiếp
chú ý đây là con ghi dịch.

nguyenluong
03-05-2009, 10:09 AM
Chào các bác!
Em mới làm quen với VĐK. Các bác có thể chỉ giúp em rõ về IC ghi dịch là như thế nào ko ạ.
Cụ thể là nó hoạt động ntn á. Ví dụ em muốn tăng số chân của 16F877A lên thì dùng 74HC595 thì sẽ lập trình như thế nào ạ. Mong các bác giúp đỡ!
Bác down datasheet con 74HC595 về và nó các chân sau:
Chân 13: Nối 0V
Chân 10: Nối 5V
Chân 11:Cấp xung clock
Chân 12:tạo một sườn dương để đưa dữ liệu ra ngoài output
Chân 14:Dưa dữ liệu vào đây
Trước tiên đưa một bít dữ liệu vào chân 14,tạo một xung dương ở chân 11 để dịch bit đó vào, quá trình đó cứ lập lại cho đến khi dữ liệu dịch hết vào 74HC595. Sau đó tạo một cạnh dương ở chân 12 để đưa toàn bộ dữ liệu trong IC ra output. Bác có thể nối nhiều 74HC595 lại với nhau.
Với cách này ta có thể mở rộng vô số I/O cho VDK ma chi tốn 3 chân thôi
Chào.

kaszuky
03-05-2009, 11:52 AM
Bác down datasheet con 74HC595 về và nó các chân sau:
Chân 13: Nối 0V
Chân 10: Nối 5V
Chân 11:Cấp xung clock
Chân 12:tạo một sườn dương để đưa dữ liệu ra ngoài output
Chân 14: Đưa dữ liệu vào đây
Trước tiên đưa một bít dữ liệu vào chân 14,tạo một xung dương ở chân 11 để dịch bit đó vào, quá trình đó cứ lập lại cho đến khi dữ liệu dịch hết vào 74HC595. Sau đó tạo một cạnh dương ở chân 12 để đưa toàn bộ dữ liệu trong IC ra output. Bác có thể nối nhiều 74HC595 lại với nhau.
Với cách này ta có thể mở rộng vô số I/O cho VDK ma chi tốn 3 chân thôi
Chào.

Bác có thể cho em xem vài chương trình mẫu được ko ạ (chương trình đơn giản thôi ạ) thì em sẽ hình dung hơn.
P/S: em mới tìm hiểu vđk thôi nên chưa biết thế nào là sường dương sường âm , thế nào là xung clock ạ :P . Mong mấy bác giúp đỡ. Em cảm ơn nhiều

nguyenluong
03-05-2009, 10:02 PM
Bác có thể cho em xem vài chương trình mẫu được ko ạ (chương trình đơn giản thôi ạ) thì em sẽ hình dung hơn.
P/S: em mới tìm hiểu vđk thôi nên chưa biết thế nào là sường dương sường âm , thế nào là xung clock ạ :P . Mong mấy bác giúp đỡ. Em cảm ơn nhiều

Bác học ngành gì, năm mấy rồi. Có học môn kỹ thuật số chưa. Nếu chưa thì tìm cuốn sách Kỹ thuật số đọc, rồi sẽ hiểu thôi. Chào

kaszuky
03-05-2009, 10:14 PM
Bác học ngành gì, năm mấy rồi. Có học môn kỹ thuật số chưa. Nếu chưa thì tìm cuốn sách Kỹ thuật số đọc, rồi sẽ hiểu thôi. Chào
Em đang học năm I BK ĐN (ngành hệ thống nhúng) :D nhưng em muốn tìm hiểu chuyên ngành trước . với lại em cũng ghiền mấy cái này nên muốn học.

Nhân tiện cho em hỏi luôn: người mới như em thì phải học theo hướng nào tức là nên tìm đọc những tài liệu (căn bản) gì á. Em cảm ơn anh nhiều!

namqn
04-05-2009, 06:10 AM
Em đang học năm I BK ĐN (ngành hệ thống nhúng) :D nhưng em muốn tìm hiểu chuyên ngành trước . với lại em cũng ghiền mấy cái này nên muốn học.

Nhân tiện cho em hỏi luôn: người mới như em thì phải học theo hướng nào tức là nên tìm đọc những tài liệu (căn bản) gì á. Em cảm ơn anh nhiều!
Luồng dưới đây dành cho người mới học (có thể tìm thấy link ở mênu bên trái trang chính của diễn đàn):
http://www.picvietnam.com/forum//showthread.php?t=4

Thân,

nguyenluong
04-05-2009, 06:45 PM
Em đang học năm I BK ĐN (ngành hệ thống nhúng) :D nhưng em muốn tìm hiểu chuyên ngành trước . với lại em cũng ghiền mấy cái này nên muốn học.

Nhân tiện cho em hỏi luôn: người mới như em thì phải học theo hướng nào tức là nên tìm đọc những tài liệu (căn bản) gì á. Em cảm ơn anh nhiều!

Tui thấy chú được đó,có tính ham học hỏi như vậy là tốt. Nhưng cái gì cũng phải bắt đầu từ cái cơ bản nhất. Trước tiên chú phải học mạch điện,kỹ thuật số, sau đó mới dám nói chuyện học lập trình VDK, Chứ chú mà nhảy vô học liền là không hiểu đâu. Có gì khó hiểu thì lên diễn đàn hỏi, mọi người sẽ giải đáp cho, Thân chào chú em

kaszuky
04-05-2009, 06:46 PM
Một lần nữa cảm ơn các bác nhiều :D đọc lời giải thích của anh nguyenluong + xem ví dụ thì em đã hiểu nó hoạt động như thế nào :D. Nhân tiện đây cho em hỏi luôn nếu em muốn nối 2 các 595 thì quy tắc dịch nó ntn? Ý của em tức là ví dụ có 2 cái IC 595 và bây giờ em cho nó dịch thì nó sẽ dịch theo kiểu tuần tự tức là hết 8 bit của IC này xong nó mới qua IC khác hay là nó dịch song song 2 IC 1 lần
VD thế này ạ
IC1 IC2
10000000 00000000
01000000 00000000
....
00000000 00000010
00000000 00000001

Hay là

10000000 10000000
...
00000001 00000001

Thanks again! GODSPEED :D

nguyenluong
04-05-2009, 07:16 PM
Một lần nữa cảm ơn các bác nhiều :D đọc lời giải thích của anh nguyenluong + xem ví dụ thì em đã hiểu nó hoạt động như thế nào :D. Nhân tiện đây cho em hỏi luôn nếu em muốn nối 2 các 595 thì quy tắc dịch nó ntn? Ý của em tức là ví dụ có 2 cái IC 595 và bây giờ em cho nó dịch thì nó sẽ dịch theo kiểu tuần tự tức là hết 8 bit của IC này xong nó mới qua IC khác hay là nó dịch song song 2 IC 1 lần
VD thế này ạ
IC1 IC2
10000000 00000000
01000000 00000000
....
00000000 00000010
00000000 00000001

Hay là

10000000 10000000
...
00000001 00000001

Thanks again! GODSPEED :D
Tức là như thế này ne:
Chú cứ nối chân 11, 12 lại chung với nhau. chân 14 chú đưa dữ liệu 16 bit vào, chân Q7 của IC595 thứ nhất nối vào chân Q0 của IC 595 thứ hai. Vậy dich 8 bit đầu tiên vô IC thứ hai. 8bit sau vô IC thứ nhất. dễ phải không. Chú cũng có thể tim IC có chức năng tương tự 74LS164. Chào