1 |
อาร์เอสฟลิปฟล็อป (R-S flip-flop)
เป็นฟลิปฟล็อปสมมติ เพราะอินพุตแบบอาร์เอสมักเป็น แลตซ์ (Latch) ไม่ใช่ฟลิปฟล็อป ซึ่งจะมีอินพุตสามตัว คือ S (set), R (reset) และ C (clock)
- S ใช้ในการ set ค่าของฟลิปฟล็อป คือ ทำให้ฟลิปฟล็อปมีค่าเป็น 1 ดังนั้นถ้า S=1 และ R=0 แล้ว Q จะเท่ากับ 1
- R ใช้ในการ reset ค่าของฟลิปฟล็อป คือ ทำให้ฟลิปฟล็อปมีค่าเป็น 0 ดังนั้นถ้า R=1 และ S=0 แล้ว Q จะเท่ากับ 0
- ถ้า S และ R เป็น 0 ทั้งคู่ ฟลิปฟล็อปจะคงค่าเดิมไว้
- ถ้า S และ R เป็น 1 ทั้งคู่ ถือเป็นกรณีที่ผิดปรกติ เพราะว่าเอาต์พุตของฟลิปฟล็อปไม่ได้ถูกกำหนดไว้ในกรณีนี้ (ภาวะแข่งขัน)
|
|
ดีฟลิปฟล็อป (D flip-flop)
จะมีการทำงานเมื่อถูกกระตุ้นด้วยสัญญาณนาฬิกาหรือ clock (CLK) ซึ่งสัญญาณนาฬิกาจะเปลี่ยนแปลงจาก 0>1>0>1>... เช่นนี้เรื่อยไป
การกระตุ้นด้วยสัญญาณนาฬิกามีสองแบบ
- ขอบขาขึ้น (positive หรือ rising edge) คือ จะมีการเปลี่ยนแปลงจาก 0 เป็น 1
- ขอบขาลง (negative หรือ falling edge) คือ จะมีการเปลี่ยนแปลงจาก 1 เป็น 0
|
|
ทีฟลิปฟล็อปหรือท๊อกเกิลฟลิปฟล็อป (T flip-flop หรือ Toggle flip-flop)
จะมีอินพุตสองตัว คือ T (toggle) และ C (clock) อินพุต T ใช้เพื่อ toggle หรือกลับค่า output ของฟลิปฟล็อป
- T มีค่า 1 ค่าของ Q จะถูก toggle นั่นคือกลับค่าจาก 0 เป็น 1 หรือ 1 เป็น 0
- T มีค่า 0 ค่าของ Q จะไม่เปลี่ยนแปลง
|
|
เจเคฟลิปฟล็อป (JK flip-flop) จะมีอินพุตสามตัว คือ J, K และ C (clock)
- J ใช้ในการ set ค่าของฟลิปฟล็อป คือ ทำให้ฟลิปฟล็อปมีค่าเป็น 1 ดังนั้นถ้า J=1 และ K=0 แล้ว Q จะเท่ากับ 1
- K ใช้ในการ reset ค่าของฟลิปฟล็อป คือ ทำให้ฟลิปฟล็อปมีค่าเป็น 0
ดังนั้นถ้า K=1 และ J=0 แล้ว Q จะเท่ากับ 0
- ถ้า J และ K เป็น 0 ทั้งคู่ ฟลิปฟล็อปจะคงค่าเดิมไว้ (ถ้าเป็น RS จะไม่เปลี่ยนแปลง)
- ถ้า J และ K เป็น 1 ทั้งคู่ ฟลิปฟล็อปจะกลับค่าเดิม (ถ้าเป็น RS จะไม่ใช้งาน เพราะถือว่าไม่ปกติ)
|