บทที่ 7 วงจรนับ - Digital

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

บทที่

7 วงจรนับ

วงจรนับ (Counter) เป็ นวงจรลอจิกซี เควนเชียลประเภทหนึ่ ง ซึ่ งเป็ นพื้นฐานที่


สําคัญมากของการประยุกต์ใช้ลอจิกดิจิตอล ตัวอย่างของการนําไปประยุกต์ใช้ เช่น ใน
เรื่ องของการนับเวลา (Timing unit) วงจรควบคุม (Control circuit) เครื่ องกําเนิดสัญญาณ
(Signal generator) และอุปกรณ์คิดเลขอื่นๆ เป็ นต้น วงจรนับแบ่งออกได้เป็ นทั้งฐานสอง
(Binary) และไม่ใช่ฐานสอง (Nonbinary) และยังแบ่งออกได้เป็ นทั้งแบบอะซิ งโครนัส
(Asynchronous) และซิงโครนัส (Synchronous) ตารางที่ 7.1 ได้สรุ ปเบอร์ ของไอซีวงจร
นับประเภท SN7400 ที่ถูกนํามาประยุกต์ใช้งานต่างๆ

ตารางที่ 7.1 วงจรนับประเภท SN7400

เบอร์ไอซี ประเภท การนําไปใช้


7492A Asynchronous 2, 6, 12, common clear
mod-12
74160 Synchronous 4-Bit, synchronous load, asynchronous clear,
decade enable, ripple carry-out
74163 Synchronous 4-Bit, synchronous load, synchronous clear,
binary enable, ripple carry-out
74176 Asynchronous 2, 5, 10, common clear, asynchronous load
decade
74177 Asynchronous 2, 8, 16, common clear, asynchronous load
binary
74191 Synchronous 4-Bit, asynchronous load, enable, maximum, and
up/down ripple clock outputs
74293 Asynchronous 2, 8, 16, common clear
binary

7-1
บทที่ 7 วงจรนับ

(ก) ใช้ T ฟลิปฟลอป

(ข) ใช้ D ฟลิปฟลอป

B A

JB QB JA QA
CK CK CK
KB QB’ KA QA’
“1”

(ค) ใช้ J-K ฟลิปฟลอป

รู ปที่ 7.1 วงจรนับ 4 โดยใช้ฟลิปฟลอป 2 ตัว

7-2
บทที่ 7 วงจรนับ

7.1 วงจรนับ

วงจรนับเลขฐานสอง
วงจรนับเลขฐานสองเป็ นวงจรนับที่นิยมนํามาใช้งานกันมากโดยจะเป็ นการ
นําเอาฟลิปฟลอปมาต่อพ่วงกันหรื อต่ออันดับกัน เรี ยกเป็ นวงจรนับแบบไบนารี ริปเปิ ล
(Binary ripple counter) หรื อวงจรนับเลขฐานสอง ซึ่ งแบ่งออกได้เป็ น 2 แบบ ได้แก่
แบบนับขึ้น (Counter-up) และแบบนับลง (Counter-down) โดยถือหลักการว่า

ฟลิปฟลอป 1 ตัว สามารถนับได้ 21 เรี ยกเป็ นวงจรนับ 2 คือ 0 กับ 1


ฟลิปฟลอป 2 ตัวต่อกันนับได้ 22 เรี ยกเป็ นวงจรนับ 4 คือ 0 ถึง 3 หรื อ 00 ถึง 11
ฟลิปฟลอป 3 ตัวต่อกันนับได้ 23 เรี ยกเป็ นวงจรนับ 8 คือ 0 ถึง 7 หรื อ 000 ถึง 111
ฟลิปฟลอป n ตัวต่อกันนับได้ 2n สามารถทําการนับได้ 0 ถึง 2n-1

ทั้งนี้วงจรในการสร้างสามารถใช้ T ฟลิปฟลอป D ฟลิปฟลอป หรื อ J-K ฟลิป


ฟลอปมาประยุกต์ใช้ได้ และสามารถใช้ได้ท้ งั แบบขอบขาขึ้นและแบบขอบขาลง

ตัวอย่างการต่อวงจรนับแบบไบนารี ริปเปิ ลขนาด 2 บิต (ใช้ฟลิปฟลอป 2 ตัว)


โดยกําหนดให้ฟลิปฟลอปที่ได้รับสัญญาณนาฬิกาโดยตรง (CK) เป็ นบิตที่มีนัยสําคัญ
น้อยสุ ด (Least significant bit: LSB) คือ QB และใช้เอาต์พุต QB เป็ นสัญญาณนาฬิกา
ให้กบั ฟลิปฟลอปตัวถัดไปคือ QA ซึ่งเป็ นบิตที่มีนยั สําคัญมากสุ ด (Most significant bit:
MSB) แสดงการต่อวงจรในรู ปที่ 7.1 ซึ่งได้ออกแบบโดยใช้ฟลิปฟลอปแบบกระตุน้ ด้วย
ขอบขาลง 3 ชนิด
รู ปที่ 7.2(ก) แสดงการทํางานของวงจรนับไบนารี ริปเปิ ล 2 บิตของวงจรในรู ปที่
7.1 โดยพิจารณาในลักษณะไดอะแกรมเวลา (Timing diagram) และสเตตไดอะแกรม
(State diagram) สมมุติว่าสเตตปั จจุบนั ของ QA และ QB เป็ น 00 ทั้งคู่ เมื่อมีสัญญาณ
นาฬิกา CK เข้ามาที่ฟลิปฟลอปตัวแรก QB (พิจารณาที่ขอบขาลงของสัญญาณนาฬิกา) QB
จะมีการเปลี่ยนสภาวะจาก 0 เป็ น 1 และจะคงค่า 1 ตลอดไปจนกว่ามีสัญญาณนาฬิกา
CK เข้ามาจึงจะเปลี่ยนสภาวะจาก 1 เป็ น 0 อีกครั้ง เช่นเดียวกันนี้เอาต์พุต QB ถูกนําไปใช้

7-3
บทที่ 7 วงจรนับ

เป็ นสัญญาณนาฬิกาให้กบั QA ซึ่ งถ้ามีการเปลี่ยนสภาวะจาก 1 เป็ น 0 ก็จะทําให้ QA มี


สภาวะตรงกันข้ามได้เช่นกัน ดังนั้นจะเห็นได้ว่าหลังจากสัญญาณนาฬิกา CK ลูกแรก
ผ่านไป จะทําให้ QB เปลี่ยนจาก 0 เป็ น 1 ในขณะที่ QA ยังคงเป็ น 0 อยู่ แทนด้วย (01)2
หรื อ (1)10 นัน่ เอง

(ก) ไดอะแกรมเวลา

QB (LSB)

QA (MSB)

(ข) สเตตไดอะแกรม

รู ปที่ 7.2 การทํางานของวงจรนับ 4

ต่อมาเมื่อสัญญาณนาฬิกา CK ลูกที่ 2 ผ่านไป (ที่ขอบขาลง) QB จะเปลี่ยนจาก 1


เป็ น 0 และเป็ นเหตุทาํ ให้ QA เปลี่ ย นสภาวะจาก 0 เป็ น 1 ด้วย เพราะได้รับการทริ ก
(Trigger) ที่ขอบขาลงจาก QB นัน่ เอง ในขณะนี้ QA เป็ น 1 และ QB เป็ น 0 แทนเลข (10)2
หรื อ (2)10 และเมื่อสัญญาณนาฬิกา CK ลูกที่ 3 ผ่านไป QB จะเปลี่ยนกลับมาเป็ นสภาวะ 1

7-4
บทที่ 7 วงจรนับ

ใหม่ แต่ QA ไม่เปลี่ยนแปลง ซึ่ งก็คือได้ QA = 1 และ QB = 1 นัน่ คือ (11)2 หรื อ (3)10
จนกระทัง่ สัญญาณนาฬิกา CK ลูกที่ 4 ผ่านไป QB เปลี่ยนกลับมาเป็ น 0 ใหม่ และได้ทาํ
ให้ QA เปลี่ยนกลับมาเป็ น 0 ด้วย การทํางานดังกล่าวนี้ จะเห็นได้อย่างชัดเจนจากสเตต
ไดอะแกรมรู ปที่ 7.2(ข)
สําหรับตัวอย่างวงจรนับ 8 คือนับ 0 ถึง 7 หรื อ 000 ถึง 111 โดยใช้ฟลิปฟลอป
จํานวน 3 ตัว (3 บิต) และวงจรนับ 16 คือนับ 0 ถึง 15 หรื อ 0000 ถึง 1111 (4 บิต) โดย
ใช้ฟลิปฟลอปจํานวน 4 ตัว ต่อแบบอันดับกันแสดงในรู ปที่ 7.3 ทั้งนี้ ในการออกแบบ
วงจรนับ 2 ตามที่ได้กล่าวมาได้ใช้ตวั อักษร A เพื่อกําหนดให้เป็ นบิต MSB และตัวอักษร
B กําหนดให้เป็ นบิต LSB ซึ่ งถ้าเป็ นวงจรหลายบิต ฟลิปฟลอปที่รับสัญญาณนาฬิกาเข้า
มาโดยตรงจะเป็ นบิต LSB และบิตสุ ดท้ายที่รับสัญญาณนาฬิกาเข้ามาจะเป็ นบิต MSB ดัง
ตัวอย่างวงจรในรู ปที่ 7.3

(ก) วงจรนับ 8 (0-7) โดยใช้ T ฟลิปฟลอป 3 ตัว (3 บิต)

D (LSB) C B (MSB) A

CK QD QC QB QA
TD TC TB TA
Q D’ Q C’ Q B’ Q A’

(ข) วงจรนับ 16 (0-15) โดยใช้ T ฟลิปฟลอป 4 ตัว (4 บิต)

รู ปที่ 7.3 การต่อวงจรนับขึ้นแบบขอบขาลงขนาด 3 บิต และ 4 บิต

7-5
บทที่ 7 วงจรนับ

วงจรนับถอยหลัง
จากสเตตไดอะแกรมของวงจรนับ 4 ในรู ปที่ 7.2(ข) จะเห็นว่าเป็ นการนับขึ้น
นํามาเขียนใหม่แสดงในรู ปที่ 7.4 (เส้นประ) คือเป็ นลําดับการนับที่มีการทํางานเริ่ มจาก
ค่าน้อยไปค่ามากสุ ด และจะวนอยูอ่ ย่างนั้นจนกว่าจะไม่มีสัญญาณนาฬิกาเข้ามา ซึ่ งหาก
พิจารณาจากวงจรนับดังกล่าวนี้ จะเป็ นการนําเอาเอาต์พตุ QA และ QB มาใช้งาน ซึ่ งถ้าเรา
ได้พิจารณาเอาต์พุต QA และ QB แล้ว พบว่าเอาต์พุตจะเป็ นตรงกันข้ามแสดงการนับ
ดังสเตตไดอะแกรมรู ปที่ 7.4 เดียวกันนี้ (พิจารณาที่เส้นทึบ)
พิจารณาวงจรรู ปที่ 7.4 ตามที่ได้อธิ บายมาแล้วนั้น ในสภาวะเริ่ มต้นของการนับ
ที่เอาต์พตุ QA และ QB เป็ น (00)2 หรื อก็คือ (0)10 ซึ่งเอาต์พุตที่เป็ นตรงข้าม (Complement)
ได้แก่ QA และ QB จะเป็ น (11)2 หรื อ (3)10 และเมื่อสัญญาณนาฬิกาลูกแรกผ่านไป
เอาต์พุต QA และ QB ก็จะเปลี่ยนเป็ น (01)2 หรื อ (1)10 แต่ QA และ QB จะเป็ น (10)2 หรื อ
(2)10 พิจารณาเช่นเดียวกันนี้ ไปเรื่ อยๆ จนกระทัง่ เอาต์พุต QA และ QB เป็ น (11)2 เอาต์พุต
QA และ QB ก็จะเป็ น (00)2 ต่อจากนั้นจึงเริ่ มต้นนับใหม่ สรุ ปก็คือถ้าต้องการให้เป็ น
วงจรนับถอยหลัง ก็ให้นาํ เอาเอาต์พุตคอมพลีเมนต์ ( ) มาใช้งาน แสดงการต่อวงจรใน
รู ปที่ 7.5 ซึ่งเป็ นวงจรนับลงหรื อนับถอยหลัง 3 บิตพร้อมทั้งผลการจําลอง

รู ปที่ 7.4 สเตตไดอะแกรมสําหรับการนับถอยหลัง (เส้นทึบ)

7-6
บทที่ 7 วงจรนับ

รู ปที่ 7.5 วงจรนับถอยหลังที่สร้างด้วย J-K ฟลิปฟลอป 3 ตัว (3 บิต)

7-7
บทที่ 7 วงจรนับ

7.2 วงจรนับแบบโมดูลสั
การสร้างวงจรนับที่กล่าวมาแล้วนั้น จะเป็ นการนับตามจํานวนของฟลิปฟลอป
คือ เป็ นการนับจํานวน 2n เมื่อ n คือจํานวนของฟลิปฟลอป เช่น ถ้าใช้ฟลิปฟลอป 4 ตัว
จะสามารถนับได้ 0-15 เรี ยกเป็ นการนับ 16 ซึ่งเมื่อนับครบแล้วก็กลับมาเริ่ มต้นที่ 0 ใหม่
แต่ในกรณี ที่ตอ้ งการนับไม่เป็ นจํานวน 2n เช่น นับ 9 หรื อก็คือนับ 0-8 โดยต้องใช้ฟลิป
ฟลอปจํานวน 4 ตัว (ซึ่งโดยปกติแล้วสามารถนับได้สูงสุ ดที่15) อีกตัวอย่างหนึ่ ง นับ 20
หรื อก็คือนับ 0-19 โดยต้องใช้ฟลิปฟลอปจํานวน 5 ตัว (สามารถนับได้สูงสุ ดที่ 31) ซึ่ ง
ในกรณี ที่นบั ไม่ถึงค่าสู งสุ ดนี้ เรี ยกว่าเป็ นวงจรนับแบบโมดูลสั (Modulus counter: Mod)
เช่น วงจรนับ 9 ก็เรี ยกว่า Mod-9 วงจรนับ 20 เรี ยกว่า Mod-20 แต่สาํ หรับการนับ 10
หรื อ Mod-10 จะมีชื่อเรี ยกเฉพาะว่าวงจรนับแบบดีเคด (Decade counter)
วงจรนับแบบโมดูลสั ที่กล่าวมานี้ ตอ้ งใช้ฟลิปฟลอปที่มีขาเคลียร์ (Clear) โดย
เมื่อนับถึงจํานวนที่ตอ้ งการแล้ว ต้องหาสัญญาณมาป้ อนที่ขาเคลียร์เพื่อให้กลับไปเริ่ มนับ
ที่ 0 ใหม่ เช่น วงจรนับ Mod-7 หรื อก็คือนับ 0-6 ดังนั้นจะเคลียร์ ดว้ ย 7 วงจรนับ Mod-14
หรื อก็คือนับ 0-13 จะเคลียร์ดว้ ย 14 เป็ นต้น ทั้งนี้ การเลือกจํานวนของฟลิปฟลอปก็ตอ้ ง
เลือกให้สามารถนับไปถึงได้ดว้ ย เช่น ถ้าต้องการนับ 12 ก็ตอ้ งใช้ฟลิปฟลอปจํานวน 4
ตัว เพราะถ้าใช้ฟลิปฟลอป 3 ตัว จะนับได้สูงสุ ดคือ 7 เป็ นต้น

ตัวอย่ างที่ 7.1 จงออกแบบวงจรนับขึ้น Mod-5 พร้อมเขียนไดอะแกรมเวลาของการ


นับด้วย
วิธีทาํ พิจารณาจํานวนของฟลิปฟลอปที่จะใช้ คือ 3 ตัว เพราะสามารถนับได้
สู งสุ ดคือ 7 และจากวงจรที่ตอ้ งการออกแบบคือ Mod-5 หมายถึงนับ 0-4
ซึ่งต้องทําการเคลียร์ดว้ ย 5 หรื อก็คือ 101 ดูตารางที่ 7.2 ประกอบ

7-8
บทที่ 7 วงจรนับ

ตารางที่ 7.2 ตารางของวงจรนับ Mod-5


QA QB QC
เลขฐาน 10
(MSB) (LSB)
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1 ใช้สาํ หรับเคลียร์
4 1 0 0
5 1 0 1

QC (LSB) QB QA (MSB)

QC (1) QB (0) QA (1)


CK TC TB TA
(1)
CLR QC’ CLR QB’ CLR QA’

(1)

รู ปที่ 7.6 วงจร Mod-5 พร้อมแสดงสภาวะเคลียร์เมื่ออินพุตของเกตแบบแอนด์


เป็ น 111 ทําให้วงจรกลับไปนับเริ่ มต้นที่ 0 ใหม่

7-9
บทที่ 7 วงจรนับ

ช่วงเวลาเคลียร์ 101
1
CK
0
1
QC
0
1
QB 0
1
QA
0
(0) (1) (2) (3) (4) (0) (1) (2) (3)
เวลา

รู ปที่ 7.7 ไดอะแกรมเวลาของวงจร Mod-5 พร้อมทั้งผลการจําลอง


ตอบ

วงจร Mod-5 ที่ได้ออกแบบขึ้นในรู ปที่ 7.6 นี้ เป็ นการเริ่ มนับจาก 0 ถึง 4 และใช้
5 หรื อ (101)2 เป็ นอินพุตป้ อนกลับ (Feedback) ไปยังขา CLR ของฟลิปฟลอปเพื่อทําการ
เคลียร์ ทั้งนี้ สาํ หรับฟลิปฟลอป B นั้น เอาต์พุต QB = 0 เราจึงต้องใช้ QB = 1 เป็ นอินพุต
แทน สรุ ปก็คือต้องใช้ QA QB QC เป็ นอินพุตให้กบั เกตแบบแอนด์ ซึ่ งจะได้เอาต์พุต
ออกมาเป็ นลอจิก 1 (QA QB QC = 1) ป้ อนให้กบั ขาเคลียร์ ของฟลิปฟลอปทุกตัว
เพื่อให้เอาต์พุต Q ของฟลิปฟลอปทุกตัวกลับไปเริ่ มนับที่ 0 ใหม่ อย่างไรก็ตามสภาวะ
ลอจิกที่เข้ามายังขาเคลียร์ของฟลิปฟลอปนี้สามารถเป็ นได้ท้ งั 0 หรื อ 1 ขึ้นอยูก่ บั ประเภท
ของฟลิ ป ฟลอป แต่ สํา หรั บ วงจรที่ ไ ด้อ อกแบบขึ้ น นี้ ต้องจ่ า ยลอจิ ก ที่ มีส ภาวะเป็ น 1
สังเกตจากขาเคลียร์ ของฟลิปฟลอปเป็ นชนิด Active high (ไม่มีวงกลมเล็กอยูท่ ี่ขา CLR)
ทั้งนี้ ถา้ เป็ นการเคลียร์ดว้ ย 0 หรื อเป็ นชนิด Active low จําเป็ นต้องเปลี่ยนเกตแบบแอนด์
ให้เป็ นเกตแบบแนนด์

7-10
บทที่ 7 วงจรนับ

จากไดอะแกรมเวลารู ปที่ 7.7 พบว่าวงจรการนับนั้นจะปรากฏว่าได้นบั 5 ช่วง


ระยะเวลาหนึ่ ง อย่างไรก็ตามในทางปฏิบตั ิน้ นั ช่วงเวลาดังกล่าวนี้ จะสั้นมาก (ตามรู ปที่
7.7 เขียนไว้เพื่อความเข้าใจ) จนเปรี ยบเสมือนว่าไม่สามารถจะตรวจจับการเกิ ดเลข 5
หรื อ (101)2 ได้เลย ดังนั้นเมื่อวงจรนับถึงเลข 4 แล้ว เอาต์พุต QA, QB และ QC จะกลับไป
เริ่ มที่ 0 ใหม่ท้ งั หมด

QC (LSB) QB QA (MSB)

QC QB QA
CK TC TB TA

CLR QC’ CLR QB’ CLR QA’

รู ปที่ 7.8 วงจร Mod-5 ที่ได้พฒั นาในส่ วนของสัญญาณป้ อนกลับให้มีจาํ นวนที่ลดลง

จากวงจร Mod-5 ในรู ปที่ 7.6 นั้นซึ่งได้แสดงทั้งตารางการนับและวงจรการนับ


โดยจากวงจรที่ได้สร้างขึ้นพบว่าได้ใช้สัญญาณป้ อนกลับ เพื่อกลับมาทําการเคลียร์ คือ
QAQB QC หรื อก็คือเมื่อนับถึง 5 ได้เอาต์พุตเป็ น QA = 1, QB = 0 และ QC = 1 แต่ถา้ เรา
พิจารณาจากตารางการนับ จะพบว่ากรณี เอาต์พุตของฟลิปฟลอปที่เกิดขึ้นตลอดการนับ
0-5 นั้น เฉพาะ QA = 1 และ QC = 1 ยังไม่เคยเกิดขึ้นมาก่อนตลอดช่วงการนับดังกล่าว
ดังนั้นเราจึงสามารถใช้เฉพาะเอาต์พุต QA และ QC กลับมาเป็ นอินพุตให้กบั เกตแบบ
แอนด์ที่มี 2 อินพุตก็เพียงพอแล้ว ดังแสดงการต่อวงจรหลังจากที่ได้ลดจํานวนของ
สัญญาณป้ อนกลับแล้วในรู ปที่ 7.8

7-11
บทที่ 7 วงจรนับ

ตัวอย่ างที่ 7.2 จากรู ปเป็ นวงจรโมดูลสั อะไร

QC (LSB) QB QA (MSB)

QC QB QA
CK TC TB TA

CLR QC’ CLR QB’ CLR QA’

วิธีทาํ

QA QB QC
เลขฐาน 10
(MSB) (LSB)
0 0 0 0
1 0 0 1
2 0 1 0 ใช้สาํ หรับเคลียร์
3 0 1 1
4 1 0 0
5 1 0 1

วงจรนี้ ใช้ฟลิปฟลอปจํานวน 3 ตัว (3 บิต) สามารถนับขึ้นได้


0-7 นําไปเขี ยนตารางการนับได้ดังรู ปข้างบน และจากวงจรการนับ
พบว่า ถ้าต้องการเคลียร์ ให้กบั ฟลิปฟลอปทุกตัวต้องป้ อนด้วยลอจิก 1
(CLR = 1) โดยจากวงจรพบว่า CLR จะเท่ากับ 1 ได้เมื่อ QA = 1 และ QA
จะเท่ากับ 1 ได้เมื่อเริ่ มนับ 4 นั่นก็คือเป็ นวงจรนับขึ้นแบบ Mod-4
นัน่ เอง (นับ 0-3)

ตอบ

7-12
บทที่ 7 วงจรนับ

ตัวอย่ างที่ 7.3 จงสร้างวงจรนับขึ้นแบบดีเคดที่ใช้ J-K ฟลิปฟลอปดังรู ปข้างล่างนี้

วิธีทาํ

QA QB QC QD
เลขฐาน 10
(MSB) (LSB)
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0 ใช้สาํ หรับเคลียร์
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1

วงจรนับแบบดี เคดหรื อก็คือวงจรนับ 10 (นับ 0-9) ดังนั้น


สัญญาณเอาต์พุตที่ออกจากฟลิปฟลอปเพื่อที่จะนํามาเคลียร์ ก็คือเมื่ อ
นับถึง 10 หรื อ 1010 หรื อ QA QB QC QD ดังแสดงในตารางข้างบนนี้
แต่เราสามารถใช้เฉพาะ QA = 1 และ QC = 1 ได้ นอกจากนี้ แล้วจาก
โจทย์กาํ หนด ขาเคลียร์ (CLR) ของฟลิปฟลอปยังเป็ นแบบ Active low
คือต้องเคลียร์ ดว้ ย 0 ดังนั้นจึงต้องใช้เกตแบบแนนด์แสดงการต่อวงจร
ในรู ปที่ 7.9

7-13
บทที่ 7 วงจรนับ

QD (LSB) QC QB QA (MSB)
+5V

J Q J Q J Q J Q
CK
CK CK CK CK
K CLR Q’ K CLR Q’ K CLR Q’ K CLR Q’

รู ปที่ 7.9 วงจรนับขึ้นแบบดีเคด


ตอบ

7.3 วงจรนับแบบซิงโครนัส
วงจรนับแบบไบนารี ริปเปิ ลที่กล่าวมานั้น เรี ยกเป็ นวงจรนับแบบอะซิ งโครนัส
(Asynchronous counter) วงจรนับประเภทนี้ จะมีปัญหาในการใช้งานบางประเภท เช่น
ไม่สามารถทํางานที่ความถี่สูงได้ เนื่ องจากฟลิปฟลอปแต่ละตัวต่อกันแบบอันดับ ทําให้
การเปลี่ยนสภาวะของฟลิปฟลอปแต่ละตัว ต้องรอการเปลี่ยนสภาวะจากฟลิปฟลอปตัว
บิตตํ่าก่อน ดังนั้นการทํางานที่ความถี่สูงจึงอาจเกิดข้อผิดพลาดขึ้นได้ รวมถึงปั ญหาการ
หน่วงเวลา (Delay time) ในฟลิปฟลอปแต่ละตัวด้วย
วงจรนับแบบซิ งโครนัส (Synchronous counter) เป็ นวงจรนับที่สร้างขึ้นจาก
ชุดฟลิปฟลอปที่ได้รับการทริ ก (Trigger) ด้วยสัญญาณนาฬิกาในเวลาเดียวกัน ทําให้
ฟลิปฟลอปแต่ละตัวเปลี่ยนสเตตพร้อมกัน หรื อเรี ยกเป็ นวงจรนับแบบขนาน (Parallel
counter) แสดงการต่อวงจรในรู ปที่ 7.10 วงจรนับแบบนี้จึงสามารถทํางานที่ความถี่สูงได้
สําหรับการออกแบบวงจรซิ งโครนัส เช่นถ้าเราต้องการเลือกใช้ J-K ฟลิปฟลอป ก็เริ่ ม
จากตารางความจริ งของ J-K ฟลิปฟลอปซึ่ งแสดงอีกครั้งในตารางที่ 7.3 โดยได้แสดง
สภาวะเอาต์พตุ Q ทั้งกรณี ที่อินพุตเป็ นลอจิก 0 และ 1

7-14
บทที่ 7 วงจรนับ

รู ปที่ 7.10 ตัวอย่างเริ่ มต้นการออกแบบวงจรนับแบบซิงโครนัส 3 บิต

ตารางที่ 7.3 ตารางความจริ งของ J-K ฟลิปฟลอป

อินพุต เอาต์พตุ
J K Q Qn+1 สภาวะการทํางาน
0 0
0 0 คงค่าเดิม
1 1
0 1
1 0 เซต
1 1
0 0
0 1 รี เซต
1 0
0 1
1 1 ท็อกเกิล
1 0

เมื่ออินพุต J = 0 และ K = 0 จะทําให้เอาต์พุต Qn+1 มีค่าเท่ากับค่าเอาต์พุต Qn ใน


ปั จจุบนั สรุ ปคือ Qn+1 = Qn นัน่ คือถ้า Qn = 0 จะได้ Qn+1 = 0 และถ้า Qn = 1 ก็จะได้ Qn+1 =
1 ด้วย
เมื่ออินพุต J = 0 และ K = 1 จะทําให้เอาต์พุต Qn+1 = 0 (รี เซต) หมายความว่าไม่
ว่า Qn = 0 หรื อ Qn = 1 ก็ตาม จะได้ Qn+1 = 0

7-15
บทที่ 7 วงจรนับ

เมื่ออินพุต J = 1 และ K = 0 จะทําให้เอาต์พตุ Qn+1 = 1 (เซต) หมายความว่าไม่ว่า


Qn = 0 หรื อ Qn = 1 จะได้ Qn+1 = 1
และเมื่ออินพุต J = 1 และ K = 1 จะทําให้เอาต์พุต Qn+1 เป็ นตรงข้ามกับเอาต์พุต
Q ปั จจุบนั สรุ ปคือ Qn+1 = Qn นัน่ คือถ้า Qn = 0 จะได้ Qn+1 = 1 และถ้า Qn = 1 จะได้ Qn+1
=0

ตารางที่ 7.4 ตารางการกระตุน้ ของ J-K ฟลิปฟลอป

การเปลี่ยนสภาวะเอาต์พตุ การควบคุมอินพุต
Qn Qn+1 J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0

จากที่ได้กล่าวมานั้น ในทางตรงกันข้ามเราสามารถกําหนดหรื อควบคุมสภาวะ


อินพุตของ J-K ฟลิปฟลอป เพื่อควบคุมการเปลี่ยนแปลงของสภาวะเอาต์พุตได้ คือ
สามารถทําการควบคุมเอาต์พุตของ J-K ฟลิปฟลอปจากค่าในปั จจุบนั (Qn) ไปยังค่า
ถัดไป (Qn+1) ได้ตามที่เราต้องการ เช่น ถ้าเอาต์พุตปั จจุบนั เป็ น 0 และต้องการควบคุมให้
เอาต์พตุ ถัดไปยังคงเป็ น 0 จะสามารถควบคุมอินพุตได้ 2 กรณี คือควบคุมให้อินพุต J = 0
และ K = 0 และอีกกรณี หนึ่งคือควบคุมให้อินพุต J = 0 และ K = 1 ดูตารางที่ 7.3
ประกอบ สรุ ปได้ว่าต้องควบคุมให้อินพุต J = 0 และ K = X (เมื่อ X คือสภาวะที่ไม่
สนใจ) ทั้งนี้ การควบคุมเอาต์พุตกรณี อื่นสามารถพิจารณาได้เช่นเดียวกันนี้ ดังแสดงใน
ตารางที่ 7.4 ซึ่ งเรี ยกเป็ นตารางการกระตุน้ ฟลิปฟลอป (Excitation table) และสําหรับ
ฟลิปฟลอปประเภทอื่นๆ ก็มีวิธีการพิจารณาตารางการกระตุน้ ได้เช่นเดียวกัน

7-16
บทที่ 7 วงจรนับ

ขั้นตอนการออกแบบวงจรนับแบบซิงโครนัส
เพื่อความเข้าใจการออกแบบวงจรซิ งโครนัส จึงได้อธิ บายพร้อมยกตัวอย่าง คือ
ให้ออกแบบวงจรนับลง (Counter down) แบบซิ งโครนัส 3 บิต ซึ่ งมีวิธีการออกแบบดัง
ขั้นตอนต่อไปนี้

ก. ขั้นตอนที่ 1 พิจารณาจํานวนฟลิปฟลอปที่จะนํามาใช้ ในตัวอย่างนี้ ให้


ออกแบบวงจรนับลงแบบซิงโครนัสขนาด 3 บิต จึงใช้ฟลิปฟลอป 3 ตัว โดยมีการนับลง
เริ่ มจาก 7 6 5 4 3 2 1 0 แล้ววนกลับมาเริ่ มที่ 7 ใหม่ นําข้อมูลที่ได้น้ ี มา
เขียนวงจรเริ่ มต้นโดยใช้ J-K ฟลิปฟลอป พร้อมทั้งให้ทาํ การเชื่อมต่อสัญญาณนาฬิกาเข้า
ที่ขา CK ของ J-K ฟลิปฟลอปทุกตัวไว้ก่อน ซึ่งจะได้วงจรเริ่ มต้นเช่นเดียวกับรู ปที่ 7.10
ข. ขั้นตอนที่ 2 เขียนสเตตไดอะแกรม (State diagram) ของการนับลง
ขนาด 3 บิต ได้ดงั รู ปที่ 7.11

111
000 110

001 101

010 100
011

รู ปที่ 7.11 สเตตไดอะแกรมของวงจรนับลง 3 บิต

ค. ขั้นตอนที่ 3 สร้างตารางการเปลี่ยนสถานะ (Transition table) ของ


วงจรนับลง 3 บิต เพื่อทําให้ทราบว่าเมื่อมีสัญญาณนาฬิกาเข้ามา J-K ฟลิปฟลอปแต่ละ
ตัวจะมีการเปลี่ยนแปลงอย่างไร ในที่น้ ี สภาวะเอาต์พุตเริ่ มต้นของฟลิปฟลอปแต่ละตัว
QAQBQC คือ 111 และสิ้ นสุ ดด้วย QAQBQC คือ 000 ในตารางที่ 7.5 ได้สร้างตารางการ
เปลี่ยนสถานะของวงจรนับดังกล่าว

7-17
บทที่ 7 วงจรนับ

ตารางที่ 7.5 ตารางการเปลี่ยนสถานะของวงจรนับลงแบบซิงโครนัส 3 บิต

สเตตปั จจุบนั สเตตถัดไป อินพุต


QA QB QC QA QB QC JA KA JB KB JC KC
1 1 1 1 1 0 X 0 X 0 X 1
1 1 0 1 0 1 X 0 X 1 1 X
1 0 1 1 0 0 X 0 0 X X 1
1 0 0 0 1 1 X 1 1 X 1 X
0 1 1 0 1 0 0 X X 0 X 1
0 1 0 0 0 1 0 X X 1 1 X
0 0 1 0 0 0 0 X 0 X X 1
0 0 0 1 1 1 1 X 1 X 1 X

จากสเตตไดอะแกรมรู ปที่ 7.11 นํามาสร้ างตารางการเปลี่ยนสถานะของวงจร


นับลง 3 บิตได้ดงั ตารางที่ 7.5 ซึ่ งอธิบายการสร้างตารางได้ดงั นี้ จากตารางมี 3 คอลัมน์
ใหญ่ ประกอบด้วยคอลัมน์สเตตปั จจุบนั (Present state: PS) คอลัมน์สเตตถัดไป (Next
state: NS) และคอลัมน์อินพุต ใน 3 คอลัมน์ใหญ่น้ ี ยงั ได้แบ่งเป็ นคอลัมน์ย่อย ได้แก่
คอลัมน์ PS ได้แบ่งออกเป็ น 3 คอลัมน์ยอ่ ยตามจํานวนของฟลิปฟลอปที่นาํ มาใช้ ซึ่ งใน
การออกแบบนี้ ได้ใช้ฟลิปฟลอปจํานวน 3 ตัว ได้แก่ QA, QB และ QC เมื่อกําหนดให้ QA
แทนบิต MSB และ QC แทนบิต LSB สําหรับคอลัมน์อินพุต ได้แบ่งเป็ น 6 คอลัมน์ยอ่ ย
ตามจํานวนขาอินพุตของฟลิปฟลอป เช่น คอลัมน์ JA และ KA เป็ นค่าสภาวะอินพุตของ
ฟลิปฟลอป A (ควบคุมเอาต์พุต QA) สําหรับในส่ วนของจํานวนแถวจะขึ้นอยูก่ บั จํานวน
สเตต (State) ของการนับ ซึ่งในวงจรที่กาํ ลังจะออกแบบนี้มีดว้ ยกัน 8 สเตต คือ 0-7 (นับ
ลง) จึงมีดว้ ยกัน 8 แถว
ต่อไปพิจารณาการเติมค่าลงในช่องต่างๆ เหล่านี้ โดยให้นาํ สเตตไดอะแกรมรู ป
ที่ 7.11 มาพิจารณาร่ วมด้วย ซึ่ งโจทย์กาํ หนดให้ออกแบบการนับเป็ น 111 110
101 100 011 010 001 000 แล้วกลับไปเริ่ มนับใหม่ที่สเตต 111 ดังนั้นที่แถว
แรกคอลัมน์สเตตปั จจุบนั จึงเริ่ มด้วยสเตต 111 และในคอลัมน์สเตตถัดไปเติมด้วยสเตต
ต่อไปที่จะให้เกิดขึ้นคือ 110 หลังจากนั้นนํา 110 ใส่ ลงในช่องสเตตปั จจุบนั และใส่ 101

7-18
บทที่ 7 วงจรนับ

ลงในช่องสเตตถัดไป โดยให้ใส่ ค่าตามสเตตไดอะแกรมไปเรื่ อยๆ จนกว่าจะถึงสเตตที่


กลับมาเริ่ มนับใหม่ที่สเตตเริ่ มต้น ในส่ วนของคอลัมน์อินพุตเริ่ มด้วยคอลัมน์ยอ่ ยของ JA
กับ KA โดยให้นาํ ตารางการกระตุน้ J-K ฟลิปฟลอปในตารางที่ 7.4 มาพิจารณาร่ วมด้วย
โดยให้พิจารณาว่าจากลอจิก 1 ของ QA (สเตตปั จจุบนั ) ไปเป็ นลอจิก 1 (QA สเตตถัดไป)
ต้องควบคุมให้ JA เป็ น X และ KA เป็ น 0 อีกตัวอย่างหนึ่ ง จากลอจิก 1 ของ QC (สเตต
ปั จจุบนั ) ไปลอจิก 0 (QC สเตตถัดไป) ต้องควบคุมให้ JC เป็ น X และ KC เป็ น 1 ดังแสดง
ให้เห็นอย่างชัดเจนในตารางที่ 7.6 สําหรับการพิจารณาในแถวอื่นๆ ก็สามารถพิจารณา
ได้เช่นเดียวกันนี้

ตารางที่ 7.6 ตัวอย่างการกําหนดขาอินพุตให้กบั J-K ฟลิปฟลอป

สเตตปั จจุบนั สเตตถัดไป อินพุต


QA QB QC QA QB QC JA KA JB KB JC KC
1 1 X 0
1 1 X 0
1 0 X 1
1 1 0 1 0 1 X 0 X 1 1 X
1 0 1 1 0 0 X 0 0 X X 1

ง. ขั้นตอนที่ 4 เมื่ อได้ตารางการเปลี่ ยนสเตตแล้วก็ให้หาสมการอิ นพุตฟลิ ป


ฟลอปที่จะนํามาต่อเป็ นอินพุตให้กบั J-K ฟลิปฟลอปแต่ละตัว โดยใช้ผงั ของคาร์นอได้
ดังนี้

QB QC QB QC
QA 00 01 11 10 QA 00 01 11 10
0 1 0 0 0 0 X X X X

1 X X X X 1 1 0 0 0

JA = QB QC KA = QB QC

7-19
บทที่ 7 วงจรนับ

QB QC
QA 0 0 01 11 10
0 1 0 X X

1 1 0 X X

JB = QC KB = QC

QB QC QB QC
QA 0 0 01 11 10 QA 00 01 11 10
0 1 X X 1 0 X 1 1 X

1 1 X X 1 1 X 1 1 X

JC = 1 KC = 1

จ. ขั้นตอนที่ 5 เมื่อได้สมการอินพุตของ J-K ฟลิปฟลอปแต่ละตัวแล้ว ก็ให้


นําไปต่อวงจรจนครบ ได้ดงั รู ปที่ 7.12 คือวงจรนับลงแบบซิงโครนัสขนาด 3 บิต

รู ปที่ 7.12 วงจรนับลงแบบซิงโครนัสขนาด 3 บิต และผลการจําลอง

7-20
บทที่ 7 วงจรนับ

รู ปที่ 7.12 (ต่อ) วงจรนับลงแบบซิงโครนัสขนาด 3 บิต และผลการจําลอง

7-21
บทที่ 7 วงจรนับ

ตัวอย่ างที่ 7.4 จงออกแบบสร้ า งวงจรนั บ แบบซิ ง โครนั ส ที่ มี ก ารนั บ ดั ง สเตต
ไดอะแกรมในรู ปที่ 7.13

รู ปที่ 7.13 สเตตไดอะแกรมวงจรนับของตัวอย่างที่ 7.4

วิธีทาํ
ก. ขั้นตอนที่ 1 พิจารณาจํานวนฟลิปฟลอปที่จะนํามาใช้ พบว่าวงจรนี้นบั
สูงสุ ดที่ (1111)2 เป็ นวงจรนับขนาด 4 บิต จึงต้องใช้ฟลิปฟลอปจํานวน 4 ตัว

ตารางที่ 7.7 ตารางการเปลี่ยนสถานะของวงจรนับตามสเตตไดอะแกรมรู ปที่ 7.13


สเตตปั จจุบนั สเตตถัดไป อินพุต
QA QB QC QD QA QB QC QD JA KA JB KB JC KC JD KD
1 0 0 0 1 1 0 0 X 0 1 X 0 X 0 X
1 1 0 0 1 1 1 0 X 0 X 0 1 X 0 X
1 1 1 0 1 1 1 1 X 0 X 0 X 0 1 X
1 1 1 1 0 1 1 1 X 1 X 0 X 0 X 0
0 1 1 1 0 0 1 1 0 X X 1 X 0 X 0
0 0 1 1 0 0 0 1 0 X 0 X X 1 X 0
0 0 0 1 1 0 0 0 1 X 0 X 0 X X 1

7-22
บทที่ 7 วงจรนับ

ข. ขั้นตอนที่ 2 เขียนสเตตไดอะแกรม ซึ่งโจทย์กาํ หนดมาให้แล้ว


ค. ขั้นตอนที่ 3 สร้างตารางการเปลี่ยนสถานะของวงจรนับขนาด 4 บิต
ได้ดงั ตารางที่ 7.7

JA = QC KA = QD

JB = QA KB = QA

7-23
บทที่ 7 วงจรนับ

JC = QB KC = QB

JD = QC KD = QC

ง. ขั้นตอนที่ 4 หาสมการลอจิกที่จะนํามาต่อเป็ นอินพุตให้กบั J-K ฟลิป


ฟลอปแต่ละตัวโดยใช้ผงั ของคาร์ นอ 4 ตัวแปร โดยมีลาํ ดับตัวเลขที่ใช้นบั คือ 8 12
14 15 7 3 1 เพราะฉะนั้นตัวเลขที่ไม่ได้ใช้นบั ได้กาํ หนดให้เป็ นสภาวะที่ไม่
สนใจ (X) ได้แก่ 0, 2, 4, 5, 6, 9, 10, 11 และ 13
จ. ขั้นตอนที่ 5 นําสมการลอจิกที่ได้ มาต่อวงจรการนับได้ดงั รู ปที่ 7.14

7-24
บทที่ 7 วงจรนับ

รู ปที่ 7.14 วงจรนับแบบซิงโครนัสของโจทย์ตวั อย่างที่ 7.4 และผลการจําลอง

ตอบ

7-25
บทที่ 7 วงจรนับ

ตัวอย่ างที่ 7.5 จงออกแบบวงจรนับแบบซิ งโครนัสโดยใช้ D ฟลิปฟลอป ที่มีการ


นับเป็ นลําดับ ดังนี้

3 5 0 2 6 3 5 0 2 6 …

วิธีทาํ

ก. ขั้นตอนที่ 1 พิจารณาจํานวนฟลิปฟลอปที่จะนํามาใช้ พบว่าวงจรนี้นบั


สูงสุ ด คือ (6)10 หรื อ (110)2 ซึ่งเป็ นวงจรขนาด 3 บิต จึงต้องใช้ฟลิปฟลอปจํานวน 3 ตัว
ข. ขั้นตอนที่ 2 เขียนสเตตไดอะแกรม ซึ่งจากลําดับของการนับที่โจทย์ให้
มา มีตวั เลขเพียง 5 ตัวเท่านั้นที่ใช้ในการนับ ได้แก่ 0, 2, 3, 5 และ 6 แสดงในลักษณะ
สเตตไดอะแกรมได้ดงั รู ปที่ 7.15
ค. ขั้นตอนที่ 3 สร้างตารางการเปลี่ยนสถานะของวงจรนับขนาด 3 บิต
โดยใช้ D ฟลิปฟลอป ที่มีความสัมพันธ์ระหว่างเอาต์พุตกับอินพุตคือ Qn+1 = D ได้ดงั
ตารางที่ 7.8
ง. ขั้นตอนที่ 4 หาสมการลอจิกที่จะนํามาต่อเป็ นอินพุตให้กบั D ฟลิป
ฟลอปแต่ละตัวโดยใช้ผงั ของคาร์นอ 3 ตัวแปร ทั้งนี้ตวั เลขที่ไม่ได้ใช้น้ นั กําหนดให้เป็ น
สภาวะที่ไม่สนใจได้แก่ 1, 4 และ 7

000

101 010

011 110

รู ปที่ 7.15 สเตตไดอะแกรมของวงจรนับของตัวอย่างที่ 7.5

7-26
บทที่ 7 วงจรนับ

จ. ขั้นตอนที่ 5 นําสมการลอจิกที่ได้มาต่อเป็ นวงจรนับได้ดงั รู ปที่ 7.16

ตารางที่ 7.8 ตารางการเปลี่ยนสถานะของวงจรนับตามสเตตไดอะแกรมรู ปที่ 7.15

สเตตปั จจุบนั สเตตถัดไป อินพุต


QA QB QC QA QB QC DA DB DC
0 0 0 0 1 0 0 1 0
0 1 0 1 1 0 1 1 0
1 1 0 0 1 1 0 1 1
0 1 1 1 0 1 1 0 1
1 0 1 0 0 0 0 0 0

QB QC QB QC
QA 00 01 11 10 QA 00 01 11 10
0 0 X 1 1 0 1 X 0 1

1 X 0 X 0 1 X 0 X 1

DA = QA QB DB = QC

QB QC
QA 0 0 01 11 10
0 0 X 1 0

1 X 0 X 1

DC = QA QB + QB QC

7-27
บทที่ 7 วงจรนับ

รู ปที่ 7.16 วงจรนับแบบซิงโครนัสขนาด 3 บิตโดยใช้ D ฟลิปฟลอป


ตามโจทย์ตวั อย่างที่ 7.5 และผลการจําลอง

7-28
บทที่ 7 วงจรนับ

รู ปที่ 7.16 (ต่อ) วงจรนับแบบซิงโครนัสขนาด 3 บิตโดยใช้ D ฟลิปฟลอป


ตามโจทย์ตวั อย่างที่ 7.5 และผลการจําลอง
ตอบ

ตัวอย่ างที่ 7.6 กําหนดสัญลักษณ์ลอจิกสําหรับวงจรนับขึ้นและลง 2 บิต มาให้ดงั รู ป


ที่ 7.17 ให้ออกแบบวงจรนับแบบซิงโครนัสโดยใช้ D ฟลิปฟลอป

2-Bit X0
Clock up/down
counter X1

S
รู ปที่ 7.17 สัญลักษณ์ลอจิกสําหรับวงจรนับขึ้นและลง 2 บิต
เมื่อสวิตช์ S = 0 กําหนดให้นบั ลง และ S = 1 กําหนดให้นบั ขึ้น

7-29
บทที่ 7 วงจรนับ

วิธีทาํ

00
S=1 S=1
S=0 S=0

11 01
S=0 S=0
S=1 S=1
10

รู ปที่ 7.18 สเตตไดอะแกรมของวงจรนับขึ้นและลง 2 บิตที่ควบคุมด้วยสวิตช์ S

ก. ขั้นตอนที่ 1 พิจารณาจํานวนฟลิปฟลอปที่จะนํามาใช้ ซึ่ งจากโจทย์ได้


กําหนดแล้วว่าเป็ นวงจรขนาด 2 บิต หรื อก็คือใช้ฟลิปฟลอปจํานวน 2 ตัว
ข. ขั้นตอนที่ 2 เขียนสเตตไดอะแกรมได้ดงั รู ปที่ 7.18
ค. ขั้นตอนที่ 3 สร้างตารางการเปลี่ยนสถานะของวงจรนับขนาด 3 บิต
โดยใช้ D ฟลิปฟลอป ที่มีความสัมพันธ์ระหว่างเอาต์พุตกับอินพุตคือ Qn+1 = D ได้ดงั
ตารางที่ 7.9

ตารางที่ 7.9 ตารางการเปลี่ยนสถานะของวงจรนับขึ้นและลง 2 บิตแบบซิ งโครนัส


โดยใช้ D ฟลิปฟลอป
สเตตถัดไป อินพุต
สเตตปั จจุบนั
S=0 S=1 S=0 S=1
QA QB QA QB QA QB QA QB QA QB
0 0 1 1 0 1 1 1 0 1
0 1 0 0 1 0 0 0 1 0
1 0 0 1 1 1 0 1 1 1
1 1 1 0 0 0 1 0 0 0

7-30
บทที่ 7 วงจรนับ

ง. ขั้นตอนที่ 4 หาสมการลอจิกที่จะนํามาต่อเป็ นอินพุตให้กบั D ฟลิป


ฟลอปโดยใช้ผงั คาร์นอซึ่งประกอบด้วยตัวแปรอินพุต QA, QB และ S ได้ดงั นี้
จ. ขั้นตอนที่ 5 นําสมการลอจิกที่ ได้มาต่อเป็ นวงจรนับได้ดงั รู ปที่ 7.19
พร้อมทั้งผลการจําลอง

QB S
QA 00 01 11 10
0 1 0 1 0

1 0 1 0 1

DA = QA QB S + QA QBS + QAQB S + QAQBS

DA = QA QB S + QA QBS + QAQB S + QAQBS


DA = QA QB S + QAQBS + QA QBS + QAQB S
DA = S (QA QB + QAQB) + S (QA QB + QAQB )
DA = S (QA QB) + S (QA QB)
DA = (S (QA QB))

QB S
QA 00 01 11 10
0 1 1 0 0

1 1 1 0 0

DB = QB
ตอบ

7-31
บทที่ 7 วงจรนับ

X0 (LSB) X1 (MSB)
S

DB QB DA QA
CK CK
QB’ QA’

Clock

รู ปที่ 7.19 วงจรนับขึ้นและลง 2 บิตที่ควบคุมด้วยสวิตช์ S และการจําลอง

7-32
บทที่ 7 วงจรนับ

ตัวอย่ างที่ 7.7 จงวิเคราะห์วงจรลอจิกที่ได้ออกแบบขึ้นในตัวอย่างที่ 7.5

วิธีทาํ
จากสมการอินพุตที่ได้
DA = QA QB
DB = QC
DC = QA QB + QB QC
ได้สมการการเปลี่ยนแปลง
(QA)n+1 = DA
= QA QB
(QB)n+1 = DB
= QC
(QC)n+1 = DC
= QA QB + QB QC

จากสมการการเปลี่ยนแปลงได้ตารางการเปลี่ยนแปลง (PS NS)

(QA QB QC)n (QA QB QC)n+1


000 010
001 000
010 110
011 101
100 010
101 000
110 011
111 001

ได้ตารางสเตต เป็ น

7-33
บทที่ 7 วงจรนับ

mn mn +1
m0 m2
m1 m0
m2 m6
m3 m5
m4 m2
m5 m0
m6 m3
m7 m1

ได้สเตตไดอะแกรมสําหรับการนับดังกล่าว แสดงในรู ปที่ 7.20

m0

m7 m1

m6 m2

m5 m3

m4

รู ปที่ 7.20 สเตตไดอะแกรมสําหรับการนับของตัวอย่างที่ 7.5

7-34
บทที่ 7 วงจรนับ

จากตัวอย่างที่ 7.7 นี้ สามารถนํามาเขียนเป็ นสเตตไดอะแกรมได้ดงั รู ปที่ 7.20


พบว่ามีความแตกต่างไปจากสเตตไดอะแกรมเดิม (ในรู ปที่ 7.15) การวิเคราะห์น้ ี แสดง
ให้เห็ นถึงเหตุการณ์ที่สามารถจะเกิ ดขึ้นได้กบั การนับ โดยพบว่าถึงแม้ว่าวงจรมีลาํ ดับ
การนับได้ตามที่ตอ้ งการ คือ 3 5 0 2 6 3 … แต่ก็สามารถเกิดความ
ผิดพลาดจากการนับได้ กรณี ที่เริ่ มนับด้วย 1, 4 หรื อ 7 เช่น ถ้าการนับเริ่ มต้นที่ 1 สเตต
ถัดไปจะเป็ น 0 แล้วจึงเข้าโหมดการนับที่ตอ้ งการต่อไป อีกตัวอย่างหนึ่ ง ถ้าการเริ่ มนับ
เริ่ มต้นที่ 4 สเตตถัดไปจะเป็ น 2 แล้วจึงเข้าสู่ โหมดการนับปกติ ด้วยเหตุน้ ี หลังจากที่ได้
ออกแบบวงจรแล้ว เราจึงควรทําการวิเคราะห์ถึงความเป็ นไปได้ท้ งั หมดของสเตตการ
นับด้วย

ตอบ

แบบฝึ กหัดท้ ายบทที่ 7

7.1 จงออกแบบวงจรนับต่อไปนี้
7.1.1 วงจรนับ Mod-7
7.1.2 วงจรนับ Mod-11
7.1.3 วงจรนับ Mod-4 (นับถอยหลัง)
7.2 จากวงจรนับที่ มีการนับดังสเตตไดอะแกรมรู ปข้างล่ าง จงหาสมการอิ นพุต
ของฟลิปฟลอปและออกแบบวงจรดังกล่าวด้วย

7-35
บทที่ 7 วงจรนับ

7.3 จากวงจรนับที่ มีการนับดังสเตตไดอะแกรมดังรู ป จงหาสมการอิ นพุตบูลีน


ของฟลิปฟลอป เมื่อกําหนด Y เป็ นอินพุตควบคุมการนับคือ ลอจิก 1 จะนับวน
ตามเข็มนาฬิกา แต่ถา้ เป็ นลอจิก 0 จะนับทวนเข็มนาฬิกา

1 Y=1

3 Y=0 6

2 4

7.4 จงออกแบบวงจรนับ 4 บิตให้นบั เฉพาะเลขคู่โดยใช้ J-K ฟลิปฟลอป พร้อมทั้ง


เขียนไดอะแกรมเวลาของวงจรที่ได้ออกแบบขึ้นด้วย
7.5 จงออกแบบวงจรนับในข้อ 7.4 นี้ใหม่ ที่เป็ นแบบนับลงเฉพาะเลขคี่ โดยใช้ D
ฟลิปฟลอป
7.6 จงวิเคราะห์วงจรลอจิกที่ได้ออกแบบขึ้นในข้อ 7.2

7-36

You might also like