El ชิป 74HC595เนื่องจากมีการอนุมานจากชื่อจึงเป็นวงจรพิมพ์ที่ใช้วงจร CMOS อยู่ภายใน โดยเฉพาะมันคือการลงทะเบียนกะ สำหรับผู้ที่ยังไม่รู้จักรีจิสเตอร์เหล่านี้โดยพื้นฐานแล้วจะเป็นวงจรดิจิทัลแบบต่อเนื่องนั่นคือค่าในเอาต์พุตจะขึ้นอยู่กับค่าของอินพุตและค่าก่อนหน้าที่จัดเก็บไว้
นั่นทำให้พวกเขาแตกต่างจาก Combinationals นั่นคือผลลัพธ์จะขึ้นอยู่กับค่าของอินพุตเท่านั้น การลงทะเบียนนี้ประกอบด้วยชุดของรองเท้าแตะชนิด D หรือรองเท้าแตะที่สั่งการโดยสัญญาณนาฬิกา เหล่านั้น รองเท้าแตะคือความทรงจำ ที่เก็บค่าก่อนหน้า แต่ละคนเก็บข้อมูลเล็กน้อยและจากชื่อคุณยังสามารถอนุมานได้ว่าสามารถเปลี่ยนได้ การรันบิตจากด้านหนึ่งไปยังอีกด้านหนึ่งทำให้เราสามารถดำเนินการดิจิทัลที่น่าสนใจได้
เปลี่ยนประเภทการลงทะเบียน
ตาม ประเภทของการกระจัด ที่พวกเขาทำบนบิตที่พวกเขาจัดเก็บรีจิสเตอร์อาจมีหลายประเภท มีความสามารถในการเลื่อนไปทางซ้ายหรือขวาบางส่วนเป็นแบบสองทิศทาง แต่คำสั่งคือสิ่งที่จะกำหนดประเภทแม้ในกรณีอื่น ๆ จะมีการจัดทำแคตตาล็อกตามลักษณะอินพุตและเอาต์พุต
- ซีรีส์ - ซีรีส์: ผู้ที่มีเพียงฟลิปฟล็อปเครื่องแรกเท่านั้นที่ได้รับข้อมูลและต่อเนื่องกันจนกว่าจะมีการลงทะเบียนที่สมบูรณ์ ฟลิปฟล็อปตัวสุดท้ายคือฟลิปฟล็อปที่เชื่อมต่อโดยตรงกับเอาท์พุตและจะออกจากรีจิสเตอร์
- อนุกรมขนาน: บิตจะขนานกันเพื่อจัดเก็บในเวลาเดียวกันในฟลิปฟล็อปทั้งหมด แต่จากนั้นจะออกเป็นอนุกรม สามารถใช้ในการแปลงจากอนุกรมเป็นแบบขนานและในทางกลับกัน
- ซีรีส์ - ขนาน: คล้ายกับก่อนหน้านี้เอาต์พุตทั้งหมดสามารถเข้าถึงได้พร้อมกันจากฟลิปฟล็อปทั้งหมด แต่ข้อมูลจะป้อนตามลำดับแรกเท่านั้น
- ขนาน - ขนาน: ข้อมูลจะขนานกันและออกไปพร้อมกัน
ในบรรดาวงจรที่รู้จักกันดีเรามี 74HC595, 74HC164, 74HC165, 74HC194ฯลฯ 194 เป็นสากลสามารถกำหนดค่าได้ตามที่เราต้องการ ในทางกลับกันเรามีทิศทางสองทิศทางอื่น ๆ เช่น 165 และ 164 ดังนั้นจึงเลื่อนไปทางซ้ายหรือขวาตามที่ระบุไว้ด้วยสัญญาณควบคุมทิศทาง แต่มีการกำหนดค่าเดียวเท่านั้น: อินพุตแบบขนานและเอาต์พุตอนุกรมและอนุกรม อินพุตและเอาต์พุตแบบขนานตามลำดับ
กะลงทะเบียนคืออะไร?
ทำไมต้องเปลี่ยนบิต การเปลี่ยนบิตข้อมูลสามารถใช้งานได้จริง เหตุผลหนึ่งคือคุณต้องเปลี่ยนค่าตามวัตถุประสงค์เฉพาะ แต่การขยับยังเกี่ยวข้องกับการดำเนินการบางอย่างกับบิตที่เก็บไว้ ตัวอย่างเช่นการเลื่อนชุดของบิตไปทางซ้ายก็เหมือนกับการคูณด้วย 2 การเลื่อนไปทางขวาก็เหมือนกับการหารด้วย 2 ดังนั้นการคูณและหารไบนารีจึงสามารถนำไปใช้ได้จริง ...
นอกจากนี้ยังใช้เพื่อสร้างค่าสุ่มหลอกสำหรับการประมาณอย่างต่อเนื่องที่ใช้กันอย่างแพร่หลายในตัวแปลงอนาล็อก / ดิจิทัลเพื่อหน่วงเวลา ฯลฯ ใช้ใน วงจรดิจิตอลลอจิก เป็นเรื่องธรรมดาดังนั้นจึงไม่ใช่เรื่องแปลกที่จะต้องใช้ในบางโครงการ
74HC595 คุณสมบัติ
El 74HC595 เป็น IC ที่ค่อนข้างตรงไปตรงมา. มันคือการลงทะเบียนกะ 8 บิตนั่นคือมันมี 8 ฟลิปฟล็อปเพื่อเก็บ 8 บิต ขาออกหรือหมุดของชิปนี้สามารถมองเห็นได้ในภาพด้านบนโดยมี Vcc และ GND สำหรับการจ่ายไฟจากนั้นเครื่องหมายที่ทำเครื่องหมายเป็น Q ซึ่งเป็นข้อมูล ส่วนที่เหลือสอดคล้องกับสัญญาณนาฬิกา / ควบคุม
ลา อินพุตมีเป็นอนุกรมและเอาต์พุตแบบขนาน. ดังนั้นด้วยอินพุตเดียวจึงสามารถควบคุมเอาต์พุตทั้ง 8 นี้ได้ในเวลาเดียวกัน คุณจะต้องใช้หมุดสามตัวจากไมโครคอนโทรลเลอร์ที่ใช้แล้ว (เช่น Arduino) ในการขับเคลื่อน นั่นคือสลักนาฬิกาและข้อมูล สลักคือพิน 13 ในกรณีนี้แม้ว่าอาจแตกต่างกันไปดังนั้นคุณควรศึกษาเอกสารข้อมูลของผู้ผลิต นาฬิกาสามารถเป็น 11 หรืออื่น ๆ และบิตข้อมูลคือ 14
La ป้ายนาฬิกา มันจะป้อนวงจรเพื่อกำหนดจังหวะหรือจังหวะที่มันจะทำงาน เอาต์พุตข้อมูลจะเปลี่ยนพฤติกรรมของชิป ตัวอย่างเช่นเมื่อเปลี่ยนจาก LOW เป็น HIGH และสร้างพัลส์นาฬิกาใหม่โดยส่งสัญญาณนาฬิกาจาก HIGH ไป LOW สิ่งที่ทำได้คือการบันทึกตำแหน่งปัจจุบันที่ตำแหน่งของการกระจัดเป็นค่าที่ป้อนโดยพินข้อมูลนี้ หากคุณทำซ้ำ 8 ครั้งคุณจะได้บันทึกตำแหน่งทั้งหมด 8 ตำแหน่งและมีการจัดเก็บหนึ่งไบต์ (Q0-Q7)
ใช้กับ Arduino
เพื่อให้ชัดเจนขึ้นอาจจะ ตัวอย่างกับ Arduino มันอธิบายให้คุณเข้าใจง่ายและเป็นกราฟิกมากกว่าการเริ่มต้นใช้งานข้อมูลเชิงทฤษฎี ตัวอย่างเช่นคุณสามารถสร้างวงจรง่ายๆด้วย Arduino และทะเบียนกะ 74HC595 เพื่อเล่นกับไฟหรือ LED บางส่วน อีกทางเลือกหนึ่งที่ค่อนข้างดีและง่ายกว่าคือการใช้จอแสดงผล 7 ส่วนเพื่ออ่านค่าจากรีจิสเตอร์
แผนภาพเป็นรูปที่คุณเห็นในภาพก่อนหน้าเมื่อ Arduino เชื่อมต่อด้วยวิธีนั้นด้วย 74HC595 และจอแสดงผล มันยังคงอยู่เพื่อตั้งโปรแกรมด้วย Arduino IDE และเราจะเห็นความเป็นไปได้ของการลงทะเบียนกะ รหัสจะเป็นดังต่อไปนี้โดยมีชุดของรหัสไบนารี 0bxxxxxxxx โดยที่ x bits:
const int latchPin = 8; // Pin conectado al Pin 12 del 74HC595 (Latch) const int dataPin = 9; // Pin conectado al Pin 14 del 74HC595 (Data) const int clockPin = 10; // Pin conectado al Pin 11 del 74HC595 (Clock) int i =0; const byte numeros[16] = { 0b11111100, 0b01100000, 0b11011010, 0b11110010, 0b01100110, 0b10110110, 0b10111110, 0b11100000, 0b11111110, 0b11100110, 0b11101110, 0b00111110, 0b10011100, 0b01111010, 0b10011110, 0b10001110 }; void setup() { Serial.begin(9600); pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { for (i=0;i<16;i++) { delay(1000); digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, numeros[i]); digitalWrite(latchPin, HIGH); } }
แผ่นข้อมูล
ในตลาดคุณจะพบ ชิป 74HC595 ที่แตกต่างกันจากผู้ผลิตที่แตกต่างกัน. หนึ่งในนั้นคือ Texas Instruments หรือ Ti ในตำนาน แต่ผู้ผลิตแต่ละรายควรเสนอแผ่นข้อมูลให้คุณดาวน์โหลด จากเว็บไซต์อย่างเป็นทางการ. นอกจากนี้คุณยังสามารถหาคนอื่น ๆ ที่เหมือนใน บนเซมิคอนดักเตอร์, ประกายฝัน, STMicroelectronics, NXP ฯลฯ